ReactOS 0.4.16-dev-125-g798ea90
ddraw.c File Reference
#include <win32k.h>
#include <debug.h>
Include dependency graph for ddraw.c:

Go to the source code of this file.

Macros

#define DXDBG   1
 

Functions

NTSTATUS APIENTRY DxDdStartupDxGraphics (ULONG ulc1, PDRVENABLEDATA DxEngDrvOld, ULONG ulc2, PDRVENABLEDATA DxgDrvOld, PULONG DirectDrawContext, PEPROCESS Proc)
 
HANDLE APIENTRY NtGdiDdCreateDirectDrawObject (HDC hdc)
 
DWORD APIENTRY NtGdiDxgGenericThunk (ULONG_PTR ulIndex, ULONG_PTR ulHandle, SIZE_T *pdwSizeOfPtr1, PVOID pvPtr1, SIZE_T *pdwSizeOfPtr2, PVOID pvPtr2)
 
DWORD APIENTRY NtGdiDdGetDriverState (PDD_GETDRIVERSTATEDATA pdata)
 
DWORD APIENTRY NtGdiDdColorControl (HANDLE hSurface, PDD_COLORCONTROLDATA puColorControlData)
 
HANDLE APIENTRY NtGdiDdCreateSurfaceObject (HANDLE hDirectDrawLocal, HANDLE hSurface, PDD_SURFACE_LOCAL puSurfaceLocal, PDD_SURFACE_MORE puSurfaceMore, PDD_SURFACE_GLOBAL puSurfaceGlobal, BOOL bComplete)
 
BOOL APIENTRY NtGdiDdDeleteDirectDrawObject (HANDLE hDirectDrawLocal)
 
BOOL APIENTRY NtGdiDdDeleteSurfaceObject (HANDLE hSurface)
 
BOOL APIENTRY NtGdiDdQueryDirectDrawObject (HANDLE hDirectDrawLocal, DD_HALINFO *pHalInfo, DWORD *pCallBackFlags, LPD3DNTHAL_CALLBACKS puD3dCallbacks, LPD3DNTHAL_GLOBALDRIVERDATA puD3dDriverData, PDD_D3DBUFCALLBACKS puD3dBufferCallbacks, LPDDSURFACEDESC puD3dTextureFormats, DWORD *puNumHeaps, VIDEOMEMORY *puvmList, DWORD *puNumFourCC, DWORD *puFourCC)
 
BOOL APIENTRY NtGdiDdReenableDirectDrawObject (HANDLE hDirectDrawLocal, BOOL *pubNewMode)
 
DWORD APIENTRY NtGdiDdGetDriverInfo (HANDLE hDirectDrawLocal, PDD_GETDRIVERINFODATA puGetDriverInfoData)
 
DWORD APIENTRY NtGdiDdGetAvailDriverMemory (HANDLE hDirectDrawLocal, PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData)
 
DWORD APIENTRY NtGdiDdSetExclusiveMode (HANDLE hDirectDraw, PDD_SETEXCLUSIVEMODEDATA puSetExclusiveModeData)
 
DWORD APIENTRY NtGdiDdFlipToGDISurface (HANDLE hDirectDraw, PDD_FLIPTOGDISURFACEDATA puFlipToGDISurfaceData)
 
HDC APIENTRY NtGdiDdGetDC (HANDLE hSurface, PALETTEENTRY *puColorTable)
 
HANDLE APIENTRY NtGdiDdGetDxHandle (HANDLE hDirectDraw, HANDLE hSurface, BOOL bRelease)
 
BOOL APIENTRY NtGdiDdReleaseDC (HANDLE hSurface)
 
BOOL APIENTRY NtGdiDdResetVisrgn (HANDLE hSurface, HWND hwnd)
 
BOOL APIENTRY NtGdiDdSetGammaRamp (HANDLE hDirectDraw, HDC hdc, LPVOID lpGammaRamp)
 

Variables

PGD_DXDDSTARTUPDXGRAPHICS gpfnStartupDxGraphics = NULL
 
PGD_DXDDCLEANUPDXGRAPHICS gpfnCleanupDxGraphics = NULL
 
DRVFN gaEngFuncs []
 
ULONG gcEngFuncs
 
EDD_DIRECTDRAW_GLOBAL edd_DdirectDraw_Global
 
DRVFN gpDxFuncs [DXG_INDEX_DxDdIoctl+1]
 
HANDLE ghDxGraphics = NULL
 
ULONG gdwDirectDrawContext = 0
 

Macro Definition Documentation

◆ DXDBG

#define DXDBG   1

Definition at line 28 of file ddraw.c.

Function Documentation

◆ DxDdStartupDxGraphics()

NTSTATUS APIENTRY DxDdStartupDxGraphics ( ULONG  ulc1,
PDRVENABLEDATA  DxEngDrvOld,
ULONG  ulc2,
PDRVENABLEDATA  DxgDrvOld,
PULONG  DirectDrawContext,
PEPROCESS  Proc 
)

Definition at line 35 of file ddraw.c.

41{
42 DRVENABLEDATA DxEngDrv;
43 DRVENABLEDATA DxgDrv;
44
46
47 /* FIXME: Setup of gaEngFuncs driver export list
48 * but not in this api, we can add it here tempary until we figout where
49 * no code have been writen for it yet
50 */
51
52 /* FIXME: ReactOS does not loading the dxapi.sys or import functions from it yet */
53 // DxApiGetVersion()
54
55 /* Loading the kernel interface of DirectX for win32k */
56
57 DPRINT1("Warning: trying loading xp/2003/windows7/reactos dxg.sys\n");
58 ghDxGraphics = EngLoadImage(L"\\SystemRoot\\System32\\drivers\\dxg.sys");
59 if ( ghDxGraphics == NULL)
60 {
62 DPRINT1("Warning: no ReactX or DirectX kernel driver found\n");
63 }
64 else
65 {
66 /* Import DxDdStartupDxGraphics and DxDdCleanupDxGraphics */
69
72 {
73 /* Setup driver data for activate the dx interface */
75 DxEngDrv.pdrvfn = gaEngFuncs;
76 DxEngDrv.c = gcEngFuncs;
77
79 &DxEngDrv,
80 sizeof(DRVENABLEDATA),
81 &DxgDrv,
83 Proc );
84 }
85
86 /* Check if we manage loading the data and execute the dxStartupDxGraphics if it is successful */
87 if (!NT_SUCCESS(Status))
88 {
91 if (ghDxGraphics != NULL)
92 {
95 }
96 DPRINT1("Warning: DirectX graphics interface can not be initialized\n");
97 }
98 else
99 {
100 /* Sort the drv functions list in index order, this allows us doing, smaller optimize
101 * in API that are redirect to dx.sys
102 */
103
104 PDRVFN lstDrvFN = DxgDrv.pdrvfn;
105 INT t;
106 for (t=0;t<=DXG_INDEX_DxDdIoctl;t++)
107 {
108 gpDxFuncs[lstDrvFN[t].iFunc].iFunc =lstDrvFN[t].iFunc;
109 gpDxFuncs[lstDrvFN[t].iFunc].pfn =lstDrvFN[t].pfn;
110 }
111
112 DPRINT("DirectX interface is activated\n");
113 }
114 }
115
116 /* Return the status */
117 return Status;
118}
LONG NTSTATUS
Definition: precomp.h:26
#define DPRINT1
Definition: precomp.h:8
#define NULL
Definition: types.h:112
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:33
#define DXG_INDEX_DxDdIoctl
Definition: dxg.h:100
Status
Definition: gdiplustypes.h:25
GLdouble GLdouble t
Definition: gl.h:2047
#define STATUS_DLL_NOT_FOUND
Definition: ntstatus.h:545
#define STATUS_PROCEDURE_NOT_FOUND
Definition: ntstatus.h:358
#define L(x)
Definition: ntvdm.h:50
#define DPRINT
Definition: sndvol32.h:73
Definition: winddi.h:529
PFN pfn
Definition: winddi.h:531
ULONG iFunc
Definition: winddi.h:530
ULONG iDriverVersion
Definition: winddi.h:542
DRVFN * pdrvfn
Definition: winddi.h:544
int32_t INT
Definition: typedefs.h:58
DRVFN gpDxFuncs[DXG_INDEX_DxDdIoctl+1]
Definition: ddraw.c:24
ULONG gcEngFuncs
Definition: dxeng.c:17
HANDLE ghDxGraphics
Definition: ddraw.c:25
PGD_DXDDSTARTUPDXGRAPHICS gpfnStartupDxGraphics
Definition: ddraw.c:16
DRVFN gaEngFuncs[]
Definition: dxeng.c:18
PGD_DXDDCLEANUPDXGRAPHICS gpfnCleanupDxGraphics
Definition: ddraw.c:17
ULONG gdwDirectDrawContext
Definition: ddraw.c:26
ENGAPI PVOID APIENTRY EngFindImageProcAddress(_In_ HANDLE hModule, _In_ LPSTR lpProcName)
Definition: ldevobj.c:927
#define DDI_DRIVER_VERSION_NT5_01
Definition: winddi.h:538
ENGAPI VOID APIENTRY EngUnloadImage(_In_ HANDLE hModule)
Definition: ldevobj.c:913
ENGAPI HANDLE APIENTRY EngLoadImage(_In_ LPWSTR pwszDriver)
Definition: ldevobj.c:904

◆ NtGdiDdColorControl()

DWORD APIENTRY NtGdiDdColorControl ( HANDLE  hSurface,
PDD_COLORCONTROLDATA  puColorControlData 
)

Definition at line 231 of file ddraw.c.

233{
235
236 if (pfnDdColorControl == NULL)
237 {
238 DPRINT1("Warning: no pfnDdColorControl\n");
240 }
241
242 DPRINT("Calling dxg.sys pfnDdColorControl\n");
243 return pfnDdColorControl(hSurface,puColorControlData);
244}
#define DDHAL_DRIVER_NOTHANDLED
Definition: ddrawi.h:320
#define DXG_INDEX_DxDdColorControl
Definition: dxg.h:24
DWORD(APIENTRY * PGD_DDCOLORCONTROL)(HANDLE hSurface, PDD_COLORCONTROLDATA puColorControlData)
Definition: intddraw.h:26

◆ NtGdiDdCreateDirectDrawObject()

HANDLE APIENTRY NtGdiDdCreateDirectDrawObject ( HDC  hdc)

Definition at line 129 of file ddraw.c.

130{
131 PGD_DDCREATEDIRECTDRAWOBJECT pfnDdCreateDirectDrawObject;
132
133 if (hdc == NULL)
134 {
135 DPRINT1("Warning: hdc is NULL\n");
136 return 0;
137 }
138
139 /* Get the pfnDdCreateDirectDrawObject after we load the drv */
141
142 if (pfnDdCreateDirectDrawObject == NULL)
143 {
144 DPRINT1("Warning: no pfnDdCreateDirectDrawObject\n");
146 }
147
148 DPRINT("Calling dxg.sys pfnDdCreateDirectDrawObject\n");
149
150 return pfnDdCreateDirectDrawObject(hdc);
151}
#define DXG_INDEX_DxDdCreateDirectDrawObject
Definition: dxg.h:25
HANDLE(APIENTRY * PGD_DDCREATEDIRECTDRAWOBJECT)(HDC hdc)
Definition: intddraw.h:24
HDC hdc
Definition: main.c:9

◆ NtGdiDdCreateSurfaceObject()

HANDLE APIENTRY NtGdiDdCreateSurfaceObject ( HANDLE  hDirectDrawLocal,
HANDLE  hSurface,
PDD_SURFACE_LOCAL  puSurfaceLocal,
PDD_SURFACE_MORE  puSurfaceMore,
PDD_SURFACE_GLOBAL  puSurfaceGlobal,
BOOL  bComplete 
)

Definition at line 251 of file ddraw.c.

258{
260
261 if (pfnDdCreateSurfaceObject == NULL)
262 {
263 DPRINT1("Warning: no pfnDdCreateSurfaceObject\n");
265 }
266
267 DPRINT("Calling dxg.sys pfnDdCreateSurfaceObject\n");
268 return pfnDdCreateSurfaceObject(hDirectDrawLocal, hSurface, puSurfaceLocal, puSurfaceMore, puSurfaceGlobal, bComplete);
269}
#define DXG_INDEX_DxDdCreateSurfaceObject
Definition: dxg.h:30
HANDLE(APIENTRY * PGD_DXDDCREATESURFACEOBJECT)(HANDLE, HANDLE, PDD_SURFACE_LOCAL, PDD_SURFACE_MORE, PDD_SURFACE_GLOBAL, BOOL)
Definition: intddraw.h:27

◆ NtGdiDdDeleteDirectDrawObject()

BOOL APIENTRY NtGdiDdDeleteDirectDrawObject ( HANDLE  hDirectDrawLocal)

Definition at line 276 of file ddraw.c.

277{
279
280 if (pfnDdDeleteDirectDrawObject == NULL)
281 {
282 DPRINT1("Warning: no pfnDdDeleteDirectDrawObject\n");
283 return FALSE;
284 }
285
286 if (hDirectDrawLocal == NULL)
287 {
288 DPRINT1("Warning: hDirectDrawLocal is NULL\n");
289 return FALSE;
290 }
291
292 DPRINT("Calling dxg.sys pfnDdDeleteDirectDrawObject(%p)\n", hDirectDrawLocal);
293 return pfnDdDeleteDirectDrawObject(hDirectDrawLocal);
294}
#define FALSE
Definition: types.h:117
#define DXG_INDEX_DxDdDeleteDirectDrawObject
Definition: dxg.h:31
BOOL(APIENTRY * PGD_DXDDDELETEDIRECTDRAWOBJECT)(HANDLE)
Definition: intddraw.h:28

◆ NtGdiDdDeleteSurfaceObject()

BOOL APIENTRY NtGdiDdDeleteSurfaceObject ( HANDLE  hSurface)

Definition at line 301 of file ddraw.c.

302{
304
305 if (pfnDdDeleteSurfaceObject == NULL)
306 {
307 DPRINT1("Warning: no pfnDdDeleteSurfaceObject\n");
309 }
310 /* Try and see if the handle is valid */
311
312 DPRINT("Calling dxg.sys pfnDdDeleteSurfaceObject\n");
313 return pfnDdDeleteSurfaceObject(hSurface);
314}
#define DXG_INDEX_DxDdDeleteSurfaceObject
Definition: dxg.h:32
BOOL(APIENTRY * PGD_DXDDDELETESURFACEOBJECT)(HANDLE)
Definition: intddraw.h:29

◆ NtGdiDdFlipToGDISurface()

DWORD APIENTRY NtGdiDdFlipToGDISurface ( HANDLE  hDirectDraw,
PDD_FLIPTOGDISURFACEDATA  puFlipToGDISurfaceData 
)

Definition at line 442 of file ddraw.c.

444{
446
447 if (pfnDdFlipToGDISurface == NULL)
448 {
449 DPRINT1("Warning: no pfnDdFlipToGDISurface\n");
451 }
452
453 DPRINT("Calling dxg.sys pfnDdFlipToGDISurface\n");
454 return pfnDdFlipToGDISurface(hDirectDraw, puFlipToGDISurfaceData);
455}
#define DXG_INDEX_DxDdFlipToGDISurface
Definition: dxg.h:38
DWORD(APIENTRY * PGD_DXDDFLIPTOGDISURFACE)(HANDLE, PDD_FLIPTOGDISURFACEDATA)
Definition: intddraw.h:30

◆ NtGdiDdGetAvailDriverMemory()

DWORD APIENTRY NtGdiDdGetAvailDriverMemory ( HANDLE  hDirectDrawLocal,
PDD_GETAVAILDRIVERMEMORYDATA  puGetAvailDriverMemoryData 
)

Definition at line 401 of file ddraw.c.

403{
405
406 if (pfnDdGetAvailDriverMemory == NULL)
407 {
408 DPRINT1("Warning: no pfnDdGetAvailDriverMemory\n");
410 }
411
412 DPRINT("Calling dxg.sys pfnDdGetAvailDriverMemory\n");
413 return pfnDdGetAvailDriverMemory(hDirectDrawLocal, puGetAvailDriverMemoryData);
414}
#define DXG_INDEX_DxDdGetAvailDriverMemory
Definition: dxg.h:39
DWORD(APIENTRY * PGD_DXDDGETAVAILDRIVERMEMORY)(HANDLE, PDD_GETAVAILDRIVERMEMORYDATA)
Definition: intddraw.h:31

◆ NtGdiDdGetDC()

HDC APIENTRY NtGdiDdGetDC ( HANDLE  hSurface,
PALETTEENTRY puColorTable 
)

Definition at line 462 of file ddraw.c.

464{
466
467 if (pfnDdGetDC == NULL)
468 {
469 DPRINT1("Warning: no pfnDdGetDC\n");
471 }
472
473 DPRINT("Calling dxg.sys pfnDdGetDC\n");
474 return pfnDdGetDC(hSurface, puColorTable);
475}
#define DXG_INDEX_DxDdGetDC
Definition: dxg.h:41
HDC(APIENTRY * PGD_DDGETDC)(HANDLE, PALETTEENTRY *)
Definition: intddraw.h:18

◆ NtGdiDdGetDriverInfo()

DWORD APIENTRY NtGdiDdGetDriverInfo ( HANDLE  hDirectDrawLocal,
PDD_GETDRIVERINFODATA  puGetDriverInfoData 
)

Definition at line 380 of file ddraw.c.

383{
385
386 if (pfnDdGetDriverInfo == NULL)
387 {
388 DPRINT1("Warning: no pfnDdGetDriverInfo\n");
390 }
391
392 DPRINT("Calling dxg.sys pfnDdGetDriverInfo\n");
393 return pfnDdGetDriverInfo(hDirectDrawLocal, puGetDriverInfoData);
394}
#define DXG_INDEX_DxDdGetDriverInfo
Definition: dxg.h:42
DWORD(APIENTRY * PGD_DXDDGETDRIVERINFO)(HANDLE, PDD_GETDRIVERINFODATA)
Definition: intddraw.h:20

◆ NtGdiDdGetDriverState()

DWORD APIENTRY NtGdiDdGetDriverState ( PDD_GETDRIVERSTATEDATA  pdata)

Definition at line 212 of file ddraw.c.

213{
215
216 if (pfnDdGetDriverState == NULL)
217 {
218 DPRINT1("Warning: no pfnDdGetDriverState\n");
220 }
221
222 DPRINT("Calling dxg.sys pfnDdGetDriverState\n");
223 return pfnDdGetDriverState(pdata);
224}
#define DXG_INDEX_DxDdGetDriverState
Definition: dxg.h:16
DWORD(APIENTRY * PGD_DDGETDRIVERSTATE)(PDD_GETDRIVERSTATEDATA)
Definition: intddraw.h:25
static PROTOCOLDATA * pdata
Definition: protocol.c:158

◆ NtGdiDdGetDxHandle()

HANDLE APIENTRY NtGdiDdGetDxHandle ( HANDLE  hDirectDraw,
HANDLE  hSurface,
BOOL  bRelease 
)

Definition at line 482 of file ddraw.c.

485{
487
488 if (pfnDdGetDxHandle == NULL)
489 {
490 DPRINT1("Warning: no pfnDdGetDxHandle\n");
492 }
493
494 DPRINT("Calling dxg.sys pfnDdGetDxHandle\n");
495 return pfnDdGetDxHandle(hDirectDraw, hSurface, bRelease);
496}
#define DXG_INDEX_DxDdGetDxHandle
Definition: dxg.h:43
HANDLE(APIENTRY * PGD_DDGETDXHANDLE)(HANDLE, HANDLE, BOOL)
Definition: intddraw.h:17

◆ NtGdiDdQueryDirectDrawObject()

BOOL APIENTRY NtGdiDdQueryDirectDrawObject ( HANDLE  hDirectDrawLocal,
DD_HALINFO pHalInfo,
DWORD pCallBackFlags,
LPD3DNTHAL_CALLBACKS  puD3dCallbacks,
LPD3DNTHAL_GLOBALDRIVERDATA  puD3dDriverData,
PDD_D3DBUFCALLBACKS  puD3dBufferCallbacks,
LPDDSURFACEDESC  puD3dTextureFormats,
DWORD puNumHeaps,
VIDEOMEMORY puvmList,
DWORD puNumFourCC,
DWORD puFourCC 
)

Definition at line 321 of file ddraw.c.

332{
334
335 if (pfnDdQueryDirectDrawObject == NULL)
336 {
337 DPRINT1("Warning: no pfnDdQueryDirectDrawObject\n");
339 }
340
341 DPRINT("Calling dxg.sys pfnDdQueryDirectDrawObject\n");
342 return pfnDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData,
343 puD3dBufferCallbacks, puD3dTextureFormats, puNumHeaps, puvmList, puNumFourCC, puFourCC);
344}
#define DXG_INDEX_DxDdQueryDirectDrawObject
Definition: dxg.h:53
BOOL(APIENTRY * PGD_DXDDQUERYDIRECTDRAWOBJECT)(HANDLE, DD_HALINFO *, DWORD *, LPD3DNTHAL_CALLBACKS, LPD3DNTHAL_GLOBALDRIVERDATA, PDD_D3DBUFCALLBACKS, LPDDSURFACEDESC, DWORD *, VIDEOMEMORY *, DWORD *, DWORD *)
Definition: intddraw.h:32
_Out_ DD_HALINFO * pHalInfo
Definition: winddi.h:4226

◆ NtGdiDdReenableDirectDrawObject()

BOOL APIENTRY NtGdiDdReenableDirectDrawObject ( HANDLE  hDirectDrawLocal,
BOOL pubNewMode 
)

Definition at line 351 of file ddraw.c.

353{
354#if DXDBG
355 BOOL status;
356#endif
358
359 if (pfnDdReenableDirectDrawObject == NULL)
360 {
361 DPRINT1("Warning: no pfnDdReenableDirectDrawObject\n");
363 }
364
365 DPRINT("Calling dxg.sys pfnDdReenableDirectDrawObject\n");
366#if DXDBG
367 status = pfnDdReenableDirectDrawObject(hDirectDrawLocal, pubNewMode);
368 DPRINT1("end Calling dxg.sys pfnDdReenableDirectDrawObject, status: 0x%08x\n", status);
369 return status;
370#else
371 return pfnDdReenableDirectDrawObject(hDirectDrawLocal, pubNewMode);
372#endif
373}
#define DXG_INDEX_DxDdReenableDirectDrawObject
Definition: dxg.h:55
unsigned int BOOL
Definition: ntddk_ex.h:94
DWORD(APIENTRY * PGD_DXDDREENABLEDIRECTDRAWOBJECT)(HANDLE, BOOL *)
Definition: intddraw.h:19
Definition: ps.c:97

◆ NtGdiDdReleaseDC()

BOOL APIENTRY NtGdiDdReleaseDC ( HANDLE  hSurface)

Definition at line 503 of file ddraw.c.

504{
506
507 if (pfnDdReleaseDC == NULL)
508 {
509 DPRINT1("Warning: no pfnDdReleaseDC\n");
511 }
512
513 DPRINT("Calling dxg.sys pfnDdReleaseDC\n");
514 return pfnDdReleaseDC(hSurface);
515}
#define DXG_INDEX_DxDdReleaseDC
Definition: dxg.h:56
BOOL(APIENTRY * PGD_DDRELEASEDC)(HANDLE)
Definition: intddraw.h:15

◆ NtGdiDdResetVisrgn()

BOOL APIENTRY NtGdiDdResetVisrgn ( HANDLE  hSurface,
HWND  hwnd 
)

Definition at line 522 of file ddraw.c.

524{
525
527
528 if (pfnDdResetVisrgn == NULL)
529 {
530 DPRINT1("Warning: no pfnDdResetVisrgn\n");
532 }
533
534 DPRINT("Calling dxg.sys pfnDdResetVisrgn\n");
535 return pfnDdResetVisrgn(hSurface, hwnd);
536}
#define DXG_INDEX_DxDdResetVisrgn
Definition: dxg.h:58
BOOL(APIENTRY * PGD_DDRESTVISRGN)(HANDLE, HWND)
Definition: intddraw.h:16
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023

◆ NtGdiDdSetExclusiveMode()

DWORD APIENTRY NtGdiDdSetExclusiveMode ( HANDLE  hDirectDraw,
PDD_SETEXCLUSIVEMODEDATA  puSetExclusiveModeData 
)

Definition at line 422 of file ddraw.c.

424{
426
427 if (pfnDdSetExclusiveMode == NULL)
428 {
429 DPRINT1("Warning: no pfnDdSetExclusiveMode\n");
431 }
432
433 DPRINT("Calling dxg.sys pfnDdSetExclusiveMode\n");
434 return pfnDdSetExclusiveMode(hDirectDraw, puSetExclusiveModeData);
435}
#define DXG_INDEX_DxDdSetExclusiveMode
Definition: dxg.h:60
DWORD(APIENTRY * PGD_DXDDSETEXCLUSIVEMODE)(HANDLE, PDD_SETEXCLUSIVEMODEDATA)
Definition: intddraw.h:21

◆ NtGdiDdSetGammaRamp()

BOOL APIENTRY NtGdiDdSetGammaRamp ( HANDLE  hDirectDraw,
HDC  hdc,
LPVOID  lpGammaRamp 
)

Definition at line 543 of file ddraw.c.

546{
548
549 if (pfnDdSetGammaRamp == NULL)
550 {
551 DPRINT1("Warning: no pfnDdSetGammaRamp\n");
553 }
554
555 DPRINT("Calling dxg.sys pfnDdSetGammaRamp\n");
556 return pfnDdSetGammaRamp(hDirectDraw, hdc, lpGammaRamp);
557}
#define DXG_INDEX_DxDdSetGammaRamp
Definition: dxg.h:61
BOOL(APIENTRY * PGD_DDSETGAMMARAMP)(HANDLE, HDC, LPVOID)
Definition: intddraw.h:14

◆ NtGdiDxgGenericThunk()

DWORD APIENTRY NtGdiDxgGenericThunk ( ULONG_PTR  ulIndex,
ULONG_PTR  ulHandle,
SIZE_T pdwSizeOfPtr1,
PVOID  pvPtr1,
SIZE_T pdwSizeOfPtr2,
PVOID  pvPtr2 
)

Definition at line 188 of file ddraw.c.

194{
196
197 if (pfnDxgGenericThunk == NULL)
198 {
199 DPRINT1("Warning: no pfnDxgGenericThunk\n");
201 }
202
203 DPRINT("Calling dxg.sys pfnDxgGenericThunk\n");
204 return pfnDxgGenericThunk(ulIndex, ulHandle, pdwSizeOfPtr1, pvPtr1, pdwSizeOfPtr2, pvPtr2);
205}
DWORD(NTAPI * PGD_DXGENERICTRUNK)(ULONG_PTR, ULONG_PTR, SIZE_T *, PVOID, SIZE_T *, PVOID)
Definition: dxg.h:123
#define DXG_INDEX_DxDxgGenericThunk
Definition: dxg.h:10

Variable Documentation

◆ edd_DdirectDraw_Global

EDD_DIRECTDRAW_GLOBAL edd_DdirectDraw_Global
extern

◆ gaEngFuncs

DRVFN gaEngFuncs[]
extern

Definition at line 18 of file dxeng.c.

Referenced by DxDdStartupDxGraphics().

◆ gcEngFuncs

ULONG gcEngFuncs
extern

Definition at line 17 of file dxeng.c.

Referenced by DxDdStartupDxGraphics().

◆ gdwDirectDrawContext

ULONG gdwDirectDrawContext = 0

Definition at line 26 of file ddraw.c.

Referenced by DxDdStartupDxGraphics().

◆ ghDxGraphics

HANDLE ghDxGraphics = NULL

Definition at line 25 of file ddraw.c.

Referenced by DxDdStartupDxGraphics().

◆ gpDxFuncs

DRVFN gpDxFuncs[DXG_INDEX_DxDdIoctl+1]

Definition at line 24 of file ddraw.c.

Referenced by _Ret_opt_bytecount_(), DxDdStartupDxGraphics(), EngDxIoctl(), EngFreePrivateUserMem(), EngLockDirectDrawSurface(), EngUnlockDirectDrawSurface(), HeapVidMemAllocAligned(), NtGdiD3dContextCreate(), NtGdiD3dContextDestroy(), NtGdiD3dContextDestroyAll(), NtGdiD3dDrawPrimitives2(), NtGdiD3dValidateTextureStageState(), NtGdiDdAddAttachedSurface(), NtGdiDdAlphaBlt(), NtGdiDdAttachSurface(), NtGdiDdBeginMoCompFrame(), NtGdiDdBlt(), NtGdiDdCanCreateD3DBuffer(), NtGdiDdCanCreateSurface(), NtGdiDdColorControl(), NtGdiDdCreateD3DBuffer(), NtGdiDdCreateDirectDrawObject(), NtGdiDdCreateMoComp(), NtGdiDdCreateSurface(), NtGdiDdCreateSurfaceEx(), NtGdiDdCreateSurfaceObject(), NtGdiDdDeleteDirectDrawObject(), NtGdiDdDeleteSurfaceObject(), NtGdiDdDestroyD3DBuffer(), NtGdiDdDestroyMoComp(), NtGdiDdDestroySurface(), NtGdiDdEndMoCompFrame(), NtGdiDdFlip(), NtGdiDdFlipToGDISurface(), NtGdiDdGetAvailDriverMemory(), NtGdiDdGetBltStatus(), NtGdiDdGetDC(), NtGdiDdGetDriverInfo(), NtGdiDdGetDriverState(), NtGdiDdGetDxHandle(), NtGdiDdGetFlipStatus(), NtGdiDdGetInternalMoCompInfo(), NtGdiDdGetMoCompBuffInfo(), NtGdiDdGetMoCompFormats(), NtGdiDdGetMoCompGuids(), NtGdiDdGetScanLine(), NtGdiDdLock(), NtGdiDdLockD3D(), NtGdiDdQueryDirectDrawObject(), NtGdiDdQueryMoCompStatus(), NtGdiDdReenableDirectDrawObject(), NtGdiDdReleaseDC(), NtGdiDdRenderMoComp(), NtGdiDdResetVisrgn(), NtGdiDdSetColorKey(), NtGdiDdSetExclusiveMode(), NtGdiDdSetGammaRamp(), NtGdiDdSetOverlayPosition(), NtGdiDdUnattachSurface(), NtGdiDdUnlock(), NtGdiDdUnlockD3D(), NtGdiDdUpdateOverlay(), NtGdiDdWaitForVerticalBlank(), NtGdiDvpAcquireNotification(), NtGdiDvpCanCreateVideoPort(), NtGdiDvpColorControl(), NtGdiDvpCreateVideoPort(), NtGdiDvpDestroyVideoPort(), NtGdiDvpFlipVideoPort(), NtGdiDvpGetVideoPortBandwidth(), NtGdiDvpGetVideoPortConnectInfo(), NtGdiDvpGetVideoPortField(), NtGdiDvpGetVideoPortFlipStatus(), NtGdiDvpGetVideoPortInputFormats(), NtGdiDvpGetVideoPortLine(), NtGdiDvpGetVideoPortOutputFormats(), NtGdiDvpGetVideoSignalStatus(), NtGdiDvpReleaseNotification(), NtGdiDvpUpdateVideoPort(), NtGdiDvpWaitForVideoPortSync(), NtGdiDxgGenericThunk(), and VidMemFree().

◆ gpfnCleanupDxGraphics

PGD_DXDDCLEANUPDXGRAPHICS gpfnCleanupDxGraphics = NULL

Definition at line 17 of file ddraw.c.

Referenced by DxDdStartupDxGraphics().

◆ gpfnStartupDxGraphics

PGD_DXDDSTARTUPDXGRAPHICS gpfnStartupDxGraphics = NULL

Definition at line 16 of file ddraw.c.

Referenced by DxDdStartupDxGraphics().