9#define DDHMG_HANDLE_LIMIT 0x200000
10#define DDHMG_HTOI(DdHandle) ((DWORD_PTR)DdHandle & (DDHMG_HANDLE_LIMIT-1))
22DEFINE_GUID(GUID_NTCallbacks, 0x6fe9ecde, 0xdf89, 0x11d1, 0x9d, 0xb0, 0x00, 0x60, 0x08, 0x27, 0x71, 0xba);
23DEFINE_GUID(GUID_DDMoreCaps, 0x880baf30, 0xb030, 0x11d0, 0x8e, 0xa7, 0x00, 0x60, 0x97, 0x97, 0xea, 0x5b);
24DEFINE_GUID(GUID_NTPrivateDriverCaps, 0xfad16a23, 0x7b66, 0x11d2, 0x83, 0xd7, 0x00, 0xc0, 0x4f, 0x7c, 0xe5, 0x8c);
45#define CapOver_DisableAccel 0x1
46#define CapOver_DisableD3DDDAccel 0x2
47#define CapOver_DisableD3DAccel 0x4
48#define CapOver_DisableOGL 0x8
49#define CapOver_DisableEscapes 0x10
51#define ObjType_DDLOCAL_TYPE 1
52#define ObjType_DDSURFACE_TYPE 2
53#define ObjType_DDCONTEXT_TYPE 3
54#define ObjType_DDVIDEOPORT_TYPE 4
55#define ObjType_DDMOTIONCOMP_TYPE 5
DRIVER_INITIALIZE DriverEntry
enum _DXEGSHDEVDATA DXEGSHDEVDATA
DWORD(APIENTRY * PFN_DxEngUploadPaletteEntryToSurface)(DWORD, DWORD, DWORD, DWORD)
DWORD(APIENTRY * PFN_DxEngAltLockSurface)(DWORD)
DWORD(APIENTRY * PFN_DxEngSyncPaletteTableWithDevice)(DWORD, DWORD)
BOOLEAN(APIENTRY * PFN_DxEngSetHdevData)(HDEV, DXEGSHDEVDATA, DWORD_PTR)
DWORD(APIENTRY * PFN_DxEngMarkSurfaceAsDirectDraw)(DWORD, DWORD)
HANDLE FASTCALL DdHmgAlloc(ULONG objSize, CHAR objType, BOOLEAN objLock)
DWORD NTAPI DxDdUnlock(HANDLE hSurface, PDD_UNLOCKDATA puUnlockData)
BOOL(APIENTRY * PFN_DxEngSetDCOwner)(HGDIOBJ, DWORD)
DWORD(APIENTRY * PFN_DxEngLoadImage)(DWORD, DWORD)
BOOLEAN(APIENTRY * PFN_DxEngRedrawDesktop)(VOID)
HANDLE NTAPI DxDdCreateSurfaceObject(HANDLE hDirectDrawLocal, HANDLE hSurface, PDD_SURFACE_LOCAL puSurfaceLocal, PDD_SURFACE_MORE puSurfaceMore, PDD_SURFACE_GLOBAL puSurfaceGlobal, BOOL bComplete)
BOOLEAN(APIENTRY * PFN_DxEngCleanDC)(HDC hdc)
DWORD(APIENTRY * PFN_DxEngGetRedirectionBitmap)(DWORD)
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)
NTSTATUS APIENTRY DxDdCleanupDxGraphics(VOID)
struct _DXENG_FUNCTIONS * PDXENG_FUNCTIONS
PLARGE_INTEGER gpLockShortDelay
BOOL FASTCALL DdHmgDestroy(VOID)
BOOLEAN(APIENTRY * PFN_DxEngSetDeviceGammaRamp)(HDEV, PGAMMARAMP, BOOL)
BOOL NTAPI DxDdEnableDirectDraw(HANDLE hDev, BOOL arg2)
DWORD NTAPI DxDdReenableDirectDrawObject(HANDLE DdHandle, PVOID p2)
BOOL FASTCALL DdHmgCreate(VOID)
BOOLEAN(APIENTRY * PFN_DxEngSetDCState)(HDC, DWORD, DWORD)
struct _DD_ENTRY * PDD_ENTRY
BOOLEAN(APIENTRY * PFN_DxEngNUIsTermSrv)(VOID)
ULONG(APIENTRY * PFN_DxEngDispUniq)(VOID)
PVOID FASTCALL DdHmgLock(HANDLE DdHandle, UCHAR ObjectType, BOOLEAN LockOwned)
DWORD(APIENTRY * PFN_DxEngSpSpritesVisible)(DWORD)
DWORD(APIENTRY * PFN_DxEngSetPaletteState)(DWORD, DWORD, DWORD)
struct _DD_ENTRY DD_ENTRY
DWORD NTAPI DxDdCanCreateD3DBuffer(HANDLE DdHandle, PDD_CANCREATESURFACEDATA SurfaceData)
BOOLEAN(APIENTRY * PFN_DxEngDeleteDC)(HDC, BOOL)
BOOLEAN(APIENTRY * PFN_DxEngUnreferenceHdev)(HDEV)
struct _DD_BASEOBJECT DD_BASEOBJECT
DWORD(APIENTRY * PFN_DxEngDeleteSurface)(DWORD)
BOOL NTAPI DxDdUnlockDirectDrawSurface(PDD_SURFACE_LOCAL pSurface)
struct _DD_BASEOBJECT * PDD_BASEOBJECT
DWORD NTAPI DxDdIoctl(ULONG ulIoctl, PVOID pBuffer, ULONG ulBufferSize)
DWORD_PTR(APIENTRY * PFN_DxEngGetHdevData)(HDEV, DXEGSHDEVDATA)
DXENG_FUNCTIONS gpEngFuncs
DWORD NTAPI DxDdCreateDirectDrawObject(HDC hDC)
PDD_SURFACE_LOCAL NTAPI DxDdLockDirectDrawSurface(HANDLE hDdSurface)
PEDD_SURFACE NTAPI intDdCreateNewSurfaceObject(PEDD_DIRECTDRAW_LOCAL peDdL, HANDLE hDirectDrawLocal, PDD_SURFACE_GLOBAL pDdSurfGlob, PDD_SURFACE_LOCAL pDdSurfLoc, PDD_SURFACE_MORE pDdSurfMore)
NTSTATUS NTAPI GsDriverEntry(IN PVOID Context1, IN PVOID Context2)
struct _DXENG_FUNCTIONS DXENG_FUNCTIONS
BOOLEAN(APIENTRY * PFN_DxEngUnlockDC)(PDC)
DWORD(APIENTRY * PFN_DxEngSetBitmapOwner)(DWORD, DWORD)
DWORD NTAPI DxDdCanCreateSurface(HANDLE DdHandle, PDD_CANCREATESURFACEDATA SurfaceData)
BOOLEAN(APIENTRY * PFN_DxEngUnlockHdev)(HDEV)
DWORD(APIENTRY * PFN_DxEngSpTearDownSprites)(DWORD, DWORD, DWORD)
PDC(APIENTRY * PFN_DxEngLockDC)(HDC)
DWORD(APIENTRY * PFN_DxEngScreenAccessCheck)(VOID)
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)
ULONG(APIENTRY * PFN_DxEngVisRgnUniq)(VOID)
struct _EDD_SURFACE_LOCAL EDD_SURFACE_LOCAL
PDD_ENTRY gpentDdHmgrLast
DWORD NTAPI DxDdLock(HANDLE hSurface, PDD_LOCKDATA puLockData, HDC hdcClip)
HDEV *(APIENTRY * PFN_DxEngEnumerateHdev)(HDEV *)
BOOLEAN(APIENTRY * PFN_DxEngLockHdev)(HDEV)
DWORD NTAPI DxDdGetDriverInfo(HANDLE DdHandle, PDD_GETDRIVERINFODATA drvInfoData)
DWORD(APIENTRY * PFN_DxEngGetSurfaceData)(DWORD, DWORD)
BOOL FASTCALL VerifyObjectOwner(PDD_ENTRY pEntry)
BOOLEAN(APIENTRY * PFN_DxEngReferenceHdev)(HDEV)
BOOLEAN(APIENTRY * PFN_DxEngLockShareSem)(VOID)
HSEMAPHORE ghsemDummyPage
struct _EDD_SURFACE_LOCAL * PEDD_SURFACE_LOCAL
HDC(APIENTRY * PFN_DxEngGetDesktopDC)(ULONG, BOOL, BOOL)
DWORD NTAPI DxDxgGenericThunk(ULONG_PTR ulIndex, ULONG_PTR ulHandle, SIZE_T *pdwSizeOfPtr1, PVOID pvPtr1, SIZE_T *pdwSizeOfPtr2, PVOID pvPtr2)
HDC(APIENTRY * PFN_DxEngCreateMemoryDC)(HDEV)
BOOLEAN(APIENTRY * PFN_DxEngUnlockShareSem)(VOID)
BOOLEAN(APIENTRY * PFN_DxEngIncDispUniq)(VOID)
DWORD_PTR(APIENTRY * PFN_DxEngGetDCState)(HDC, DWORD)
DWORD(APIENTRY * PFN_DxEngSpUnTearDownSprites)(DWORD, DWORD, DWORD)
BOOL(APIENTRY * PFN_DxEngGetDeviceGammaRamp)(HDEV, PGAMMARAMP)
BOOLEAN(APIENTRY * PFN_DxEngIsHdevLockedByCurrentThread)(HDEV)
DWORD(APIENTRY * PFN_DxEngSelectBitmap)(DWORD, DWORD)
DWORD(APIENTRY * PFN_DxEngSelectPaletteToSurface)(DWORD, DWORD)
GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg2
static const struct update_accum a3
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
PFN_DxEngGetHdevData DxEngGetHdevData
PFN_DxEngSpUnTearDownSprites DxEngSpUnTearDownSprites
PFN_DxEngSelectBitmap DxEngSelectBitmap
PFN_DxEngLockDC DxEngLockDC
PFN_DxEngSetBitmapOwner DxEngSetBitmapOwner
PFN_DxEngUnlockShareSem DxEngUnlockShareSem
PFN_DxEngRedrawDesktop DxEngRedrawDesktop
PFN_DxEngSetDeviceGammaRamp DxEngSetDeviceGammaRamp
PFN_DxEngVisRgnUniq DxEngVisRgnUniq
PFN_DxEngUnreferenceHdev DxEngUnreferenceHdev
PFN_DxEngSyncPaletteTableWithDevice DxEngSyncPaletteTableWithDevice
PFN_DxEngCreateMemoryDC DxEngCreateMemoryDC
PFN_DxEngUnlockHdev DxEngUnlockHdev
PFN_DxEngIsHdevLockedByCurrentThread DxEngIsHdevLockedByCurrentThread
PFN_DxEngLoadImage DxEngLoadImage
PFN_DxEngDispUniq DxEngDispUniq
PFN_DxEngSetPaletteState DxEngSetPaletteState
PFN_DxEngEnumerateHdev DxEngEnumerateHdev
PFN_DxEngGetDeviceGammaRamp DxEngGetDeviceGammaRamp
PFN_DxEngDeleteDC DxEngDeleteDC
PFN_DxEngSetHdevData DxEngSetHdevData
PFN_DxEngUploadPaletteEntryToSurface DxEngUploadPaletteEntryToSurface
PFN_DxEngNUIsTermSrv DxEngNUIsTermSrv
PFN_DxEngGetDesktopDC DxEngGetDesktopDC
PFN_DxEngSetDCState DxEngSetDCState
PFN_DxEngGetDCState DxEngGetDCState
PFN_DxEngSpSpritesVisible DxEngSpSpritesVisible
PFN_DxEngGetSurfaceData DxEngGetSurfaceData
PFN_DxEngGetRedirectionBitmap DxEngGetRedirectionBitmap
PFN_DxEngScreenAccessCheck DxEngScreenAccessCheck
PFN_DxEngDeleteSurface DxEngDeleteSurface
PFN_DxEngCleanDC DxEngCleanDC
PFN_DxEngIncDispUniq DxEngIncDispUniq
PFN_DxEngAltLockSurface DxEngAltLockSurface
PFN_DxEngSelectPaletteToSurface DxEngSelectPaletteToSurface
PFN_DxEngReferenceHdev DxEngReferenceHdev
PFN_DxEngLockShareSem DxEngLockShareSem
PFN_DxEngSpTearDownSprites DxEngSpTearDownSprites
PFN_DxEngUnlockDC DxEngUnlockDC
PFN_DxEngSetDCOwner DxEngSetDCOwner
PFN_DxEngLockHdev DxEngLockHdev
PFN_DxEngMarkSurfaceAsDirectDraw DxEngMarkSurfaceAsDirectDraw
DD_SURFACE_LOCAL Surfacelcl
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT Context1
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT _In_ PTDI_PNP_CONTEXT Context2
struct _GAMMARAMP * PGAMMARAMP
_In_ DD_SURFACE_LOCAL * pSurface
_Out_ DD_HALINFO _Out_ DWORD _Out_ VIDEOMEMORY _Out_ DWORD _Out_ DWORD * pdwFourCC