VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Display/wddm/VBoxDispMp.h@ 36046

Last change on this file since 36046 was 34345, checked in by vboxsync, 14 years ago

wddm/3d: propper hide host window on swapchain destruction

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