VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispMp.h@ 41374

Last change on this file since 41374 was 41374, checked in by vboxsync, 13 years ago

wddm/3d/crogl: backdoor logging

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.7 KB
Line 
1/* $Id: VBoxDispMp.h 41374 2012-05-21 18:04:03Z vboxsync $ */
2
3/** @file
4 * VBoxVideo Display external interface
5 */
6
7/*
8 * Copyright (C) 2010 Oracle Corporation
9 *
10 * This file is part of VirtualBox Open Source Edition (OSE), as
11 * available from http://www.virtualbox.org. This file is free software;
12 * you can redistribute it and/or modify it under the terms of the GNU
13 * General Public License (GPL) as published by the Free Software
14 * Foundation, in version 2 as it comes in the "COPYING" file of the
15 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
17 */
18
19#ifndef ___VBoxDispMp_h___
20#define ___VBoxDispMp_h___
21
22#include <windows.h>
23#include <d3d9types.h>
24#include <D3dumddi.h>
25#include <d3dhal.h>
26#include "../../common/wddm/VBoxMPIf.h"
27
28typedef struct VBOXDISPMP_REGIONS
29{
30 HWND hWnd;
31 PVBOXVIDEOCM_CMD_RECTS pRegions;
32} VBOXDISPMP_REGIONS, *PVBOXDISPMP_REGIONS;
33
34typedef DECLCALLBACK(HRESULT) FNVBOXDISPMP_ENABLEEVENTS();
35typedef FNVBOXDISPMP_ENABLEEVENTS *PFNVBOXDISPMP_ENABLEEVENTS;
36
37typedef DECLCALLBACK(HRESULT) FNVBOXDISPMP_DISABLEEVENTS();
38typedef FNVBOXDISPMP_DISABLEEVENTS *PFNVBOXDISPMP_DISABLEEVENTS;
39
40typedef DECLCALLBACK(HRESULT) FNVBOXDISPMP_DISABLEEVENTS();
41typedef FNVBOXDISPMP_DISABLEEVENTS *PFNVBOXDISPMP_DISABLEEVENTS;
42
43typedef DECLCALLBACK(HRESULT) FNVBOXDISPMP_GETREGIONS(PVBOXDISPMP_REGIONS pRegions, DWORD dwMilliseconds);
44typedef FNVBOXDISPMP_GETREGIONS *PFNVBOXDISPMP_GETREGIONS;
45
46typedef DECLCALLBACK(void) FNVBOXDISPMP_LOG(LPCSTR pszMsg);
47typedef FNVBOXDISPMP_LOG *PFNVBOXDISPMP_LOG;
48
49
50typedef struct VBOXDISPMP_CALLBACKS
51{
52 PFNVBOXDISPMP_ENABLEEVENTS pfnEnableEvents;
53 PFNVBOXDISPMP_DISABLEEVENTS pfnDisableEvents;
54 /**
55 * if events are enabled - blocks until dirty region is available or timeout occurs
56 * in the former case S_OK is returned on event, in the latter case WAIT_TIMEOUT is returned
57 * if events are disabled - returns S_FALSE
58 */
59 PFNVBOXDISPMP_GETREGIONS pfnGetRegions;
60} VBOXDISPMP_CALLBACKS, *PVBOXDISPMP_CALLBACKS;
61
62/** @def VBOXNETCFGWIN_DECL
63 * The usual declaration wrapper.
64 */
65
66/* enable this in case we include this in a dll*/
67# ifdef VBOXWDDMDISP
68# define VBOXDISPMP_DECL(_type) DECLEXPORT(_type) VBOXCALL
69# else
70# define VBOXDISPMP_DECL(_type) DECLIMPORT(_type) VBOXCALL
71# endif
72
73#define VBOXDISPMP_IFVERSION 3
74#define VBOXDISPMP_VERSION (VBOXVIDEOIF_VERSION | (VBOXDISPMP_IFVERSION < 16))
75/**
76 * VBoxDispMpGetCallbacks export
77 *
78 * @param u32Version - must be set to VBOXDISPMP_VERSION
79 * @param pCallbacks - callbacks structure
80 */
81typedef VBOXDISPMP_DECL(HRESULT) FNVBOXDISPMP_GETCALLBACKS(uint32_t u32Version, PVBOXDISPMP_CALLBACKS pCallbacks);
82typedef FNVBOXDISPMP_GETCALLBACKS *PFNVBOXDISPMP_GETCALLBACKS;
83
84#endif /* #ifndef ___VBoxDispMp_h___ */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette