ReactOS 0.4.15-dev-5895-g2687c1b
dxg_int.h
Go to the documentation of this file.
1#ifndef _DXG_PCH_
2#define _DXG_PCH_
3
4#include <ntifs.h>
5
6/* Win32 Headers */
7#define WINBASEAPI
8#define STARTF_USESIZE 2
9#define STARTF_USEPOSITION 4
10#define INTERNAL_CALL NTAPI
11#define NT_BUILD_ENVIRONMENT
12
13#define DDHMG_HANDLE_LIMIT 0x200000
14#define DDHMG_HTOI(DdHandle) ((DWORD_PTR)DdHandle & (DDHMG_HANDLE_LIMIT-1))
15
16
17#include <windef.h>
18#include <winerror.h>
19#include <wingdi.h>
20#include <winddi.h>
21#include <ddkernel.h>
22#include <initguid.h>
23#include <ddrawi.h>
24#include <ntgdityp.h>
25#include <psfuncs.h>
26
27DEFINE_GUID(GUID_NTCallbacks, 0x6fe9ecde, 0xdf89, 0x11d1, 0x9d, 0xb0, 0x00, 0x60, 0x08, 0x27, 0x71, 0xba);
28DEFINE_GUID(GUID_DDMoreCaps, 0x880baf30, 0xb030, 0x11d0, 0x8e, 0xa7, 0x00, 0x60, 0x97, 0x97, 0xea, 0x5b);
29DEFINE_GUID(GUID_NTPrivateDriverCaps, 0xfad16a23, 0x7b66, 0x11d2, 0x83, 0xd7, 0x00, 0xc0, 0x4f, 0x7c, 0xe5, 0x8c);
30
31/* DXG treats this as opaque */
32typedef PVOID PDC;
34
35typedef struct _DD_BASEOBJECT
36{
43
45#include <drivers/directx/dxg.h>
47
48#include "tags.h"
49
50#define CapOver_DisableAccel 0x1
51#define CapOver_DisableD3DDDAccel 0x2
52#define CapOver_DisableD3DAccel 0x4
53#define CapOver_DisableOGL 0x8
54#define CapOver_DisableEscapes 0x10
55
56#define ObjType_DDLOCAL_TYPE 1
57#define ObjType_DDSURFACE_TYPE 2
58#define ObjType_DDCONTEXT_TYPE 3
59#define ObjType_DDVIDEOPORT_TYPE 4
60#define ObjType_DDMOTIONCOMP_TYPE 5
61
62typedef struct _DD_ENTRY
63{
64 union
65 {
68 };
73
74typedef struct _EDD_SURFACE_LOCAL
75{
79
80
89typedef HDEV* (APIENTRY* PFN_DxEngEnumerateHdev)(HDEV*);
123
124
125typedef struct _DXENG_FUNCTIONS
126{
171
172/* exported functions */
178
179/* Global pointers */
180extern ULONG gcSizeDdHmgr;
182extern ULONG gcMaxDdHmgr;
184extern ULONG ghFreeDdHmgr;
185extern HSEMAPHORE ghsemHmgr;
188extern VOID *gpDummyPage;
192
193/* Driver list export functions */
194DWORD NTAPI DxDxgGenericThunk(ULONG_PTR ulIndex, ULONG_PTR ulHandle, SIZE_T *pdwSizeOfPtr1, PVOID pvPtr1, SIZE_T *pdwSizeOfPtr2, PVOID pvPtr2);
195DWORD NTAPI DxDdIoctl(ULONG ulIoctl, PVOID pBuffer, ULONG ulBufferSize);
199BOOL NTAPI DxDdQueryDirectDrawObject(HANDLE DdHandle, DD_HALINFO* pDdHalInfo, DWORD* pCallBackFlags, LPD3DNTHAL_CALLBACKS pd3dNtHalCallbacks,
200 LPD3DNTHAL_GLOBALDRIVERDATA pd3dNtGlobalDriverData, PDD_D3DBUFCALLBACKS pd3dBufCallbacks, LPDDSURFACEDESC pTextureFormats,
201 DWORD* p8, VIDEOMEMORY* p9, DWORD* pdwNumFourCC, DWORD* pdwFourCC);
205DWORD NTAPI DxDdCreateD3DBuffer(HANDLE hDirectDrawLocal, PEDD_SURFACE pDdSurfList, DDSURFACEDESC2 *a3, DD_SURFACE_GLOBAL *pDdSurfGlob, DD_SURFACE_LOCAL *pDdSurfLoc,
206 DD_SURFACE_MORE *pDdSurfMore, DD_CREATESURFACEDATA *pDdCreateSurfaceData, PVOID Address);
207DWORD NTAPI DxDdLock(HANDLE hSurface, PDD_LOCKDATA puLockData, HDC hdcClip);
208DWORD NTAPI DxDdUnlock(HANDLE hSurface, PDD_UNLOCKDATA puUnlockData);
209HANDLE NTAPI DxDdCreateSurfaceObject(HANDLE hDirectDrawLocal, HANDLE hSurface, PDD_SURFACE_LOCAL puSurfaceLocal, PDD_SURFACE_MORE puSurfaceMore, PDD_SURFACE_GLOBAL puSurfaceGlobal, BOOL bComplete);
210
211
212/* Internal functions */
217HANDLE FASTCALL DdHmgAlloc(ULONG objSize, CHAR objType, BOOLEAN objLock);
219 PDD_SURFACE_GLOBAL pDdSurfGlob, PDD_SURFACE_LOCAL pDdSurfLoc, PDD_SURFACE_MORE pDdSurfMore);
220
221#endif /* _DXG_PCH_ */
static HDC hDC
Definition: 3dtext.c:33
unsigned char BOOLEAN
#define VOID
Definition: acefi.h:82
DWORD_PTR HSEMAPHORE
Definition: axcore.idl:60
LONG NTSTATUS
Definition: precomp.h:26
#define APIENTRY
Definition: api.h:79
DRIVER_INITIALIZE DriverEntry
Definition: condrv.c:21
enum _DXEGSHDEVDATA DXEGSHDEVDATA
DWORD(APIENTRY * PFN_DxEngUploadPaletteEntryToSurface)(DWORD, DWORD, DWORD, DWORD)
Definition: dxg_int.h:116
DWORD(APIENTRY * PFN_DxEngAltLockSurface)(DWORD)
Definition: dxg_int.h:115
PEPROCESS gpepSession
Definition: main.c:17
DWORD(APIENTRY * PFN_DxEngSyncPaletteTableWithDevice)(DWORD, DWORD)
Definition: dxg_int.h:119
BOOLEAN(APIENTRY * PFN_DxEngSetHdevData)(HDEV, DXEGSHDEVDATA, DWORD_PTR)
Definition: dxg_int.h:101
DWORD(APIENTRY * PFN_DxEngMarkSurfaceAsDirectDraw)(DWORD, DWORD)
Definition: dxg_int.h:117
HANDLE FASTCALL DdHmgAlloc(ULONG objSize, CHAR objType, BOOLEAN objLock)
Definition: ddhmg.c:340
DWORD NTAPI DxDdUnlock(HANDLE hSurface, PDD_UNLOCKDATA puUnlockData)
Definition: ddsurf.c:96
BOOL(APIENTRY * PFN_DxEngSetDCOwner)(HGDIOBJ, DWORD)
Definition: dxg_int.h:106
DWORD(APIENTRY * PFN_DxEngLoadImage)(DWORD, DWORD)
Definition: dxg_int.h:122
BOOLEAN(APIENTRY * PFN_DxEngRedrawDesktop)(VOID)
Definition: dxg_int.h:83
HANDLE NTAPI DxDdCreateSurfaceObject(HANDLE hDirectDrawLocal, HANDLE hSurface, PDD_SURFACE_LOCAL puSurfaceLocal, PDD_SURFACE_MORE puSurfaceMore, PDD_SURFACE_GLOBAL puSurfaceGlobal, BOOL bComplete)
Definition: ddraw.c:647
BOOLEAN(APIENTRY * PFN_DxEngCleanDC)(HDC hdc)
Definition: dxg_int.h:105
DWORD(APIENTRY * PFN_DxEngGetRedirectionBitmap)(DWORD)
Definition: dxg_int.h:121
DWORD NTAPI DxDdCreateD3DBuffer(HANDLE hDirectDrawLocal, PEDD_SURFACE pDdSurfList, DDSURFACEDESC2 *a3, DD_SURFACE_GLOBAL *pDdSurfGlob, DD_SURFACE_LOCAL *pDdSurfLoc, DD_SURFACE_MORE *pDdSurfMore, DD_CREATESURFACEDATA *pDdCreateSurfaceData, PVOID Address)
Definition: d3d.c:114
NTSTATUS APIENTRY DxDdCleanupDxGraphics(VOID)
Definition: main.c:118
PVOID PW32THREAD
Definition: dxg_int.h:33
struct _DXENG_FUNCTIONS * PDXENG_FUNCTIONS
PLARGE_INTEGER gpLockShortDelay
Definition: main.c:18
BOOL FASTCALL DdHmgDestroy(VOID)
Definition: ddhmg.c:95
BOOLEAN(APIENTRY * PFN_DxEngSetDeviceGammaRamp)(HDEV, PGAMMARAMP, BOOL)
Definition: dxg_int.h:96
BOOL NTAPI DxDdEnableDirectDraw(HANDLE hDev, BOOL arg2)
Definition: ddraw.c:504
DWORD NTAPI DxDdReenableDirectDrawObject(HANDLE DdHandle, PVOID p2)
Definition: ddraw.c:541
BOOL FASTCALL DdHmgCreate(VOID)
Definition: ddhmg.c:49
BOOLEAN(APIENTRY * PFN_DxEngSetDCState)(HDC, DWORD, DWORD)
Definition: dxg_int.h:109
struct _DD_ENTRY * PDD_ENTRY
PDD_ENTRY gpentDdHmgr
Definition: ddhmg.c:16
BOOLEAN(APIENTRY * PFN_DxEngNUIsTermSrv)(VOID)
Definition: dxg_int.h:81
ULONG(APIENTRY * PFN_DxEngDispUniq)(VOID)
Definition: dxg_int.h:84
PVOID FASTCALL DdHmgLock(HANDLE DdHandle, UCHAR ObjectType, BOOLEAN LockOwned)
Definition: ddhmg.c:147
DWORD(APIENTRY * PFN_DxEngSpSpritesVisible)(DWORD)
Definition: dxg_int.h:99
DWORD(APIENTRY * PFN_DxEngSetPaletteState)(DWORD, DWORD, DWORD)
Definition: dxg_int.h:120
struct _DD_ENTRY DD_ENTRY
DWORD NTAPI DxDdCanCreateD3DBuffer(HANDLE DdHandle, PDD_CANCREATESURFACEDATA SurfaceData)
Definition: d3d.c:14
BOOLEAN(APIENTRY * PFN_DxEngDeleteDC)(HDC, BOOL)
Definition: dxg_int.h:104
BOOLEAN(APIENTRY * PFN_DxEngUnreferenceHdev)(HDEV)
Definition: dxg_int.h:94
struct _DD_BASEOBJECT DD_BASEOBJECT
DWORD(APIENTRY * PFN_DxEngDeleteSurface)(DWORD)
Definition: dxg_int.h:113
BOOL NTAPI DxDdUnlockDirectDrawSurface(PDD_SURFACE_LOCAL pSurface)
Definition: eng.c:31
struct _DD_BASEOBJECT * PDD_BASEOBJECT
DWORD NTAPI DxDdIoctl(ULONG ulIoctl, PVOID pBuffer, ULONG ulBufferSize)
Definition: historic.c:82
DWORD_PTR(APIENTRY * PFN_DxEngGetHdevData)(HDEV, DXEGSHDEVDATA)
Definition: dxg_int.h:100
DXENG_FUNCTIONS gpEngFuncs
Definition: main.c:20
PVOID PDC
Definition: dxg_int.h:32
DWORD NTAPI DxDdCreateDirectDrawObject(HDC hDC)
Definition: ddraw.c:258
PDD_SURFACE_LOCAL NTAPI DxDdLockDirectDrawSurface(HANDLE hDdSurface)
Definition: eng.c:15
PEDD_SURFACE NTAPI intDdCreateNewSurfaceObject(PEDD_DIRECTDRAW_LOCAL peDdL, HANDLE hDirectDrawLocal, PDD_SURFACE_GLOBAL pDdSurfGlob, PDD_SURFACE_LOCAL pDdSurfLoc, PDD_SURFACE_MORE pDdSurfMore)
Definition: ddraw.c:588
NTSTATUS NTAPI GsDriverEntry(IN PVOID Context1, IN PVOID Context2)
struct _DXENG_FUNCTIONS DXENG_FUNCTIONS
BOOLEAN(APIENTRY * PFN_DxEngUnlockDC)(PDC)
Definition: dxg_int.h:108
DWORD(APIENTRY * PFN_DxEngSetBitmapOwner)(DWORD, DWORD)
Definition: dxg_int.h:112
DWORD NTAPI DxDdCanCreateSurface(HANDLE DdHandle, PDD_CANCREATESURFACEDATA SurfaceData)
Definition: dd.c:13
ULONG gcMaxDdHmgr
Definition: ddhmg.c:18
BOOLEAN(APIENTRY * PFN_DxEngUnlockHdev)(HDEV)
Definition: dxg_int.h:91
DWORD(APIENTRY * PFN_DxEngSpTearDownSprites)(DWORD, DWORD, DWORD)
Definition: dxg_int.h:97
PDC(APIENTRY * PFN_DxEngLockDC)(HDC)
Definition: dxg_int.h:107
DWORD(APIENTRY * PFN_DxEngScreenAccessCheck)(VOID)
Definition: dxg_int.h:82
BOOL NTAPI DxDdQueryDirectDrawObject(HANDLE DdHandle, DD_HALINFO *pDdHalInfo, DWORD *pCallBackFlags, LPD3DNTHAL_CALLBACKS pd3dNtHalCallbacks, LPD3DNTHAL_GLOBALDRIVERDATA pd3dNtGlobalDriverData, PDD_D3DBUFCALLBACKS pd3dBufCallbacks, LPDDSURFACEDESC pTextureFormats, DWORD *p8, VIDEOMEMORY *p9, DWORD *pdwNumFourCC, DWORD *pdwFourCC)
Definition: ddraw.c:424
ULONG ghFreeDdHmgr
Definition: ddhmg.c:22
ULONG(APIENTRY * PFN_DxEngVisRgnUniq)(VOID)
Definition: dxg_int.h:86
struct _EDD_SURFACE_LOCAL EDD_SURFACE_LOCAL
LONG gcDummyPageRefCnt
Definition: main.c:14
PDD_ENTRY gpentDdHmgrLast
Definition: ddhmg.c:19
DWORD NTAPI DxDdLock(HANDLE hSurface, PDD_LOCKDATA puLockData, HDC hdcClip)
Definition: ddsurf.c:36
HDEV *(APIENTRY * PFN_DxEngEnumerateHdev)(HDEV *)
Definition: dxg_int.h:89
BOOLEAN(APIENTRY * PFN_DxEngLockHdev)(HDEV)
Definition: dxg_int.h:90
ULONG gcSizeDdHmgr
Definition: ddhmg.c:15
DWORD NTAPI DxDdGetDriverInfo(HANDLE DdHandle, PDD_GETDRIVERINFODATA drvInfoData)
Definition: ddraw.c:309
DWORD(APIENTRY * PFN_DxEngGetSurfaceData)(DWORD, DWORD)
Definition: dxg_int.h:114
BOOL FASTCALL VerifyObjectOwner(PDD_ENTRY pEntry)
Definition: ddhmg.c:27
BOOLEAN(APIENTRY * PFN_DxEngReferenceHdev)(HDEV)
Definition: dxg_int.h:93
BOOLEAN(APIENTRY * PFN_DxEngLockShareSem)(VOID)
Definition: dxg_int.h:87
HSEMAPHORE ghsemDummyPage
Definition: main.c:15
struct _EDD_SURFACE_LOCAL * PEDD_SURFACE_LOCAL
HDC(APIENTRY * PFN_DxEngGetDesktopDC)(ULONG, BOOL, BOOL)
Definition: dxg_int.h:103
DWORD NTAPI DxDxgGenericThunk(ULONG_PTR ulIndex, ULONG_PTR ulHandle, SIZE_T *pdwSizeOfPtr1, PVOID pvPtr1, SIZE_T *pdwSizeOfPtr2, PVOID pvPtr2)
Definition: historic.c:47
HDC(APIENTRY * PFN_DxEngCreateMemoryDC)(HDEV)
Definition: dxg_int.h:102
BOOLEAN(APIENTRY * PFN_DxEngUnlockShareSem)(VOID)
Definition: dxg_int.h:88
BOOLEAN(APIENTRY * PFN_DxEngIncDispUniq)(VOID)
Definition: dxg_int.h:85
DWORD_PTR(APIENTRY * PFN_DxEngGetDCState)(HDC, DWORD)
Definition: dxg_int.h:110
HSEMAPHORE ghsemHmgr
Definition: ddhmg.c:23
VOID * gpDummyPage
Definition: main.c:16
DWORD(APIENTRY * PFN_DxEngSpUnTearDownSprites)(DWORD, DWORD, DWORD)
Definition: dxg_int.h:98
BOOL(APIENTRY * PFN_DxEngGetDeviceGammaRamp)(HDEV, PGAMMARAMP)
Definition: dxg_int.h:95
BOOLEAN(APIENTRY * PFN_DxEngIsHdevLockedByCurrentThread)(HDEV)
Definition: dxg_int.h:92
DWORD(APIENTRY * PFN_DxEngSelectBitmap)(DWORD, DWORD)
Definition: dxg_int.h:111
DWORD(APIENTRY * PFN_DxEngSelectPaletteToSurface)(DWORD, DWORD)
Definition: dxg_int.h:118
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
PLIST_ENTRY pEntry
Definition: fxioqueue.cpp:4484
GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg2
Definition: glext.h:9514
HDC hdc
Definition: main.c:9
static HDC
Definition: imagelist.c:92
static const struct update_accum a3
Definition: msg.c:600
ObjectType
Definition: metafile.c:81
#define BOOL
Definition: nt_native.h:43
#define FASTCALL
Definition: nt_native.h:50
#define DWORD
Definition: nt_native.h:44
#define BOOLEAN
Definition: pedump.c:73
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
static WCHAR Address[46]
Definition: ping.c:68
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
PVOID pBuffer
USHORT cExclusiveLock
Definition: dxg_int.h:39
PW32THREAD Tid
Definition: dxg_int.h:41
HGDIOBJ hHmgr
Definition: dxg_int.h:37
ULONG ulShareCount
Definition: dxg_int.h:38
USHORT BaseFlags
Definition: dxg_int.h:40
Definition: dxg_int.h:63
PDD_BASEOBJECT pobj
Definition: dxg_int.h:66
USHORT FullUnique
Definition: dxg_int.h:70
ULONG NextFree
Definition: dxg_int.h:67
UCHAR Objt
Definition: dxg_int.h:71
HANDLE Pid
Definition: dxg_int.h:69
PFN_DxEngGetHdevData DxEngGetHdevData
Definition: dxg_int.h:147
PFN_DxEngSpUnTearDownSprites DxEngSpUnTearDownSprites
Definition: dxg_int.h:145
PFN_DxEngSelectBitmap DxEngSelectBitmap
Definition: dxg_int.h:158
PFN_DxEngLockDC DxEngLockDC
Definition: dxg_int.h:154
PFN_DxEngSetBitmapOwner DxEngSetBitmapOwner
Definition: dxg_int.h:159
PFN_DxEngUnlockShareSem DxEngUnlockShareSem
Definition: dxg_int.h:135
PFN_DxEngRedrawDesktop DxEngRedrawDesktop
Definition: dxg_int.h:130
PFN_DxEngSetDeviceGammaRamp DxEngSetDeviceGammaRamp
Definition: dxg_int.h:143
PFN_DxEngVisRgnUniq DxEngVisRgnUniq
Definition: dxg_int.h:133
PFN_DxEngUnreferenceHdev DxEngUnreferenceHdev
Definition: dxg_int.h:141
PFN_DxEngSyncPaletteTableWithDevice DxEngSyncPaletteTableWithDevice
Definition: dxg_int.h:166
PFN_DxEngCreateMemoryDC DxEngCreateMemoryDC
Definition: dxg_int.h:149
PFN_DxEngUnlockHdev DxEngUnlockHdev
Definition: dxg_int.h:138
PFN_DxEngIsHdevLockedByCurrentThread DxEngIsHdevLockedByCurrentThread
Definition: dxg_int.h:139
PFN_DxEngLoadImage DxEngLoadImage
Definition: dxg_int.h:169
PFN_DxEngDispUniq DxEngDispUniq
Definition: dxg_int.h:131
PFN_DxEngSetPaletteState DxEngSetPaletteState
Definition: dxg_int.h:167
PFN_DxEngEnumerateHdev DxEngEnumerateHdev
Definition: dxg_int.h:136
PFN_DxEngGetDeviceGammaRamp DxEngGetDeviceGammaRamp
Definition: dxg_int.h:142
PFN_DxEngDeleteDC DxEngDeleteDC
Definition: dxg_int.h:151
PFN_DxEngSetHdevData DxEngSetHdevData
Definition: dxg_int.h:148
PVOID Reserved
Definition: dxg_int.h:127
PFN_DxEngUploadPaletteEntryToSurface DxEngUploadPaletteEntryToSurface
Definition: dxg_int.h:163
PFN_DxEngNUIsTermSrv DxEngNUIsTermSrv
Definition: dxg_int.h:128
PFN_DxEngGetDesktopDC DxEngGetDesktopDC
Definition: dxg_int.h:150
PFN_DxEngSetDCState DxEngSetDCState
Definition: dxg_int.h:156
PFN_DxEngGetDCState DxEngGetDCState
Definition: dxg_int.h:157
PFN_DxEngSpSpritesVisible DxEngSpSpritesVisible
Definition: dxg_int.h:146
PFN_DxEngGetSurfaceData DxEngGetSurfaceData
Definition: dxg_int.h:161
PFN_DxEngGetRedirectionBitmap DxEngGetRedirectionBitmap
Definition: dxg_int.h:168
PFN_DxEngScreenAccessCheck DxEngScreenAccessCheck
Definition: dxg_int.h:129
PFN_DxEngDeleteSurface DxEngDeleteSurface
Definition: dxg_int.h:160
PFN_DxEngCleanDC DxEngCleanDC
Definition: dxg_int.h:152
PFN_DxEngIncDispUniq DxEngIncDispUniq
Definition: dxg_int.h:132
PFN_DxEngAltLockSurface DxEngAltLockSurface
Definition: dxg_int.h:162
PFN_DxEngSelectPaletteToSurface DxEngSelectPaletteToSurface
Definition: dxg_int.h:165
PFN_DxEngReferenceHdev DxEngReferenceHdev
Definition: dxg_int.h:140
PFN_DxEngLockShareSem DxEngLockShareSem
Definition: dxg_int.h:134
PFN_DxEngSpTearDownSprites DxEngSpTearDownSprites
Definition: dxg_int.h:144
PFN_DxEngUnlockDC DxEngUnlockDC
Definition: dxg_int.h:155
PFN_DxEngSetDCOwner DxEngSetDCOwner
Definition: dxg_int.h:153
PFN_DxEngLockHdev DxEngLockHdev
Definition: dxg_int.h:137
PFN_DxEngMarkSurfaceAsDirectDraw DxEngMarkSurfaceAsDirectDraw
Definition: dxg_int.h:164
DD_SURFACE_LOCAL Surfacelcl
Definition: dxg_int.h:77
DD_BASEOBJECT Object
Definition: dxg_int.h:76
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT Context1
Definition: tdikrnl.h:1095
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT _In_ PTDI_PNP_CONTEXT Context2
Definition: tdikrnl.h:1096
#define DWORD_PTR
Definition: treelist.c:76
#define NTAPI
Definition: typedefs.h:36
ULONG_PTR SIZE_T
Definition: typedefs.h:80
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
struct _GAMMARAMP * PGAMMARAMP
_In_ DD_SURFACE_LOCAL * pSurface
Definition: winddi.h:3481
_Out_ DD_HALINFO _Out_ DWORD _Out_ VIDEOMEMORY _Out_ DWORD _Out_ DWORD * pdwFourCC
Definition: winddi.h:4230
void * HGDIOBJ
Definition: windef.h:252
unsigned char UCHAR
Definition: xmlstorage.h:181
char CHAR
Definition: xmlstorage.h:175