ReactOS 0.4.16-dev-942-g91fadeb
d3dkmt.c
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Display Driver Model
3 * LICENSE: MIT (https://spdx.org/licenses/MIT)
4 * PURPOSE: D3DKMT dxgkrnl callbacks
5 * COPYRIGHT: Copyright 2023 Justin Miller <justin.miller@reactos.org>
6 */
7
8#include <win32k.h>
10#include <debug.h>
11
12/*
13 * It looks like Windows saves all the function pointers globally inside win32k.
14 * Instead, we're going to keep it static to this file and keep it organized in struct
15 * we obtained with the IOCTL.
16 */
18
19/*
20 * This looks like it's done inside DxDdStartupDxGraphics, but I'd rather keep this organized.
21 * Dxg gets start inevitably anyway it seems at least on vista.
22 */
23VOID
26{
27 DPRINT("DxStartupDxgkInt: Entry\n");
28 /*
29 * TODO: Let DxgKrnl know it's time to start all adapters, and obtain the win32k<->dxgkrnl interface via an IOCTRL.
30 * https://jira.reactos.org/browse/CORE-20027
31 */
32}
33
37{
38 // We don't support DWM at this time, excusive ownership is always false.
39 return FALSE;
40}
41
45 _Out_ D3DKMT_SCHEDULINGPRIORITYCLASS *unnamedParam2)
46{
47 return 1;
48}
49
53 _In_ D3DKMT_SCHEDULINGPRIORITYCLASS unnamedParam2)
54{
55 return 1;
56}
57
60NtGdiDdDDISharedPrimaryLockNotification(_In_ const D3DKMT_SHAREDPRIMARYLOCKNOTIFICATION* unnamedParam1)
61{
62 return 1;
63}
64
67NtGdiDdDDISharedPrimaryUnLockNotification(_In_ const D3DKMT_SHAREDPRIMARYUNLOCKNOTIFICATION* unnamedParam1)
68{
69 return 1;
70}
71
74NtGdiDdDDIOpenAdapterFromGdiDisplayName(_Inout_ D3DKMT_OPENADAPTERFROMGDIDISPLAYNAME* unnamedParam1)
75{
76 return 0;
77}
78
81NtGdiDdDDIOpenAdapterFromHdc(_Inout_ D3DKMT_OPENADAPTERFROMHDC* unnamedParam1)
82{
83 return 0;
84}
85
86
89NtGdiDdDDIOpenAdapterFromDeviceName(_Inout_ D3DKMT_OPENADAPTERFROMDEVICENAME* unnamedParam1)
90{
91 return 0;
92}
93
94
95/*
96 * The following APIs all have the same idea.
97 * Most of the parameters are stuffed in custom typedefs with a bunch of types inside them.
98 * The idea here is this:
99 * if we're dealing with a d3dkmt API that directly calls into a miniport if the function pointer doesn't
100 * exist we're returning STATUS_PROCEDURE_NOT_FOUND.
101 *
102 * This essentially means the Dxgkrnl interface was never made as Win32k doesn't do any handling for these routines.
103 */
104
107NtGdiDdDDICreateAllocation(_Inout_ D3DKMT_CREATEALLOCATION* unnamedParam1)
108{
109 if (!unnamedParam1)
111
114
116}
117
120NtGdiDdDDICheckMonitorPowerState(_In_ const D3DKMT_CHECKMONITORPOWERSTATE* unnamedParam1)
121{
122 if (!unnamedParam1)
124
127
129}
130
133NtGdiDdDDICheckOcclusion(_In_ const D3DKMT_CHECKOCCLUSION* unnamedParam1)
134{
135 if (!unnamedParam1)
137
140
141 return DxgAdapterCallbacks.RxgkIntPfnCheckOcclusion(unnamedParam1);
142}
143
144
147NtGdiDdDDICloseAdapter(_In_ const D3DKMT_CLOSEADAPTER* unnamedParam1)
148{
149 if (!unnamedParam1)
151
154
155 return DxgAdapterCallbacks.RxgkIntPfnCloseAdapter(unnamedParam1);
156}
157
160NtGdiDdDDICreateContext(_Inout_ D3DKMT_CREATECONTEXT* unnamedParam1)
161{
162 if (!unnamedParam1)
164
167
168 return DxgAdapterCallbacks.RxgkIntPfnCreateContext(unnamedParam1);
169}
170
173NtGdiDdDDICreateDevice(_Inout_ D3DKMT_CREATEDEVICE* unnamedParam1)
174{
175 if (!unnamedParam1)
177
180
181 return DxgAdapterCallbacks.RxgkIntPfnCreateDevice(unnamedParam1);
182}
183
186NtGdiDdDDICreateOverlay(_Inout_ D3DKMT_CREATEOVERLAY* unnamedParam1)
187{
188 if (!unnamedParam1)
190
193
194 return DxgAdapterCallbacks.RxgkIntPfnCreateOverlay(unnamedParam1);
195}
196
199NtGdiDdDDICreateSynchronizationObject(_Inout_ D3DKMT_CREATESYNCHRONIZATIONOBJECT* unnamedParam1)
200{
201 if (!unnamedParam1)
203
206
208}
209
212NtGdiDdDDIDestroyAllocation(_In_ const D3DKMT_DESTROYALLOCATION* unnamedParam1)
213{
214 if (!unnamedParam1)
216
219
221}
222
225NtGdiDdDDIDestroyContext(_In_ const D3DKMT_DESTROYCONTEXT* unnamedParam1)
226{
227 if (!unnamedParam1)
229
232
233 return DxgAdapterCallbacks.RxgkIntPfnDestroyContext(unnamedParam1);
234}
235
238NtGdiDdDDIDestroyDevice(_In_ const D3DKMT_DESTROYDEVICE* unnamedParam1)
239{
240 if (!unnamedParam1)
242
245
246 return DxgAdapterCallbacks.RxgkIntPfnDestroyDevice(unnamedParam1);
247}
248
251NtGdiDdDDIDestroyOverlay(_In_ const D3DKMT_DESTROYOVERLAY* unnamedParam1)
252{
253 if (!unnamedParam1)
255
258
259 return DxgAdapterCallbacks.RxgkIntPfnDestroyOverlay(unnamedParam1);
260}
261
264NtGdiDdDDIDestroySynchronizationObject(_In_ const D3DKMT_DESTROYSYNCHRONIZATIONOBJECT* unnamedParam1)
265{
266 if (!unnamedParam1)
268
271
273}
274
277NtGdiDdDDIEscape(_In_ const D3DKMT_ESCAPE* unnamedParam1)
278{
279 if (!unnamedParam1)
281
284
285 return DxgAdapterCallbacks.RxgkIntPfnEscape(unnamedParam1);
286}
287
290NtGdiDdDDIFlipOverlay(_In_ const D3DKMT_FLIPOVERLAY* unnamedParam1)
291{
292 if (!unnamedParam1)
294
297
298 return DxgAdapterCallbacks.RxgkIntPfnFlipOverlay(unnamedParam1);
299}
300
303NtGdiDdDDIGetContextSchedulingPriority(_Inout_ D3DKMT_GETCONTEXTSCHEDULINGPRIORITY* unnamedParam1)
304{
305 if (!unnamedParam1)
307
310
312}
313
316NtGdiDdDDIGetDeviceState(_Inout_ D3DKMT_GETDEVICESTATE* unnamedParam1)
317{
318 if (!unnamedParam1)
320
323
324 return DxgAdapterCallbacks.RxgkIntPfnGetDeviceState(unnamedParam1);
325}
326
329NtGdiDdDDIGetDisplayModeList(_Inout_ D3DKMT_GETDISPLAYMODELIST* unnamedParam1)
330{
331 if (!unnamedParam1)
333
336
338}
339
342NtGdiDdDDIGetMultisampleMethodList(_Inout_ D3DKMT_GETMULTISAMPLEMETHODLIST* unnamedParam1)
343{
344 if (!unnamedParam1)
346
349
351}
352
355NtGdiDdDDIGetPresentHistory(_Inout_ D3DKMT_GETPRESENTHISTORY* unnamedParam1)
356{
357 if (!unnamedParam1)
359
362
364}
365
368NtGdiDdDDIGetRuntimeData(_In_ const D3DKMT_GETRUNTIMEDATA* unnamedParam1)
369{
370 if (!unnamedParam1)
372
375
376 return DxgAdapterCallbacks.RxgkIntPfnGetRuntimeData(unnamedParam1);
377}
378
381NtGdiDdDDIGetScanLine(_In_ D3DKMT_GETSCANLINE* unnamedParam1)
382{
383 if (!unnamedParam1)
385
388
389 return DxgAdapterCallbacks.RxgkIntPfnGetScanLine(unnamedParam1);
390}
391
394NtGdiDdDDIGetSharedPrimaryHandle(_Inout_ D3DKMT_GETSHAREDPRIMARYHANDLE* unnamedParam1)
395{
396 if (!unnamedParam1)
398
401
403}
404
407NtGdiDdDDIInvalidateActiveVidPn(_In_ const D3DKMT_INVALIDATEACTIVEVIDPN* unnamedParam1)
408{
409 if (!unnamedParam1)
411
414
416}
417
420NtGdiDdDDILock(_Inout_ D3DKMT_LOCK* unnamedParam1)
421{
422 if (!unnamedParam1)
424
427
428 return DxgAdapterCallbacks.RxgkIntPfnLock(unnamedParam1);
429}
430
433NtGdiDdDDIOpenResource(_Inout_ D3DKMT_OPENRESOURCE* unnamedParam1)
434{
435 if (!unnamedParam1)
437
440
441 return DxgAdapterCallbacks.RxgkIntPfnOpenResource(unnamedParam1);
442}
443
446NtGdiDdDDIPollDisplayChildren(_In_ const D3DKMT_POLLDISPLAYCHILDREN* unnamedParam1)
447{
448 if (!unnamedParam1)
450
453
455}
456
459NtGdiDdDDIPresent(_In_ D3DKMT_PRESENT* unnamedParam1)
460{
461 if (!unnamedParam1)
463
466
467 return DxgAdapterCallbacks.RxgkIntPfnPresent(unnamedParam1);
468}
469
472NtGdiDdDDIQueryAdapterInfo(_Inout_ const D3DKMT_QUERYADAPTERINFO* unnamedParam1)
473{
474 if (!unnamedParam1)
476
479
481}
482
485NtGdiDdDDIQueryAllocationResidency(_In_ const D3DKMT_QUERYALLOCATIONRESIDENCY* unnamedParam1)
486{
487 if (!unnamedParam1)
489
492
494}
495
498NtGdiDdDDIQueryResourceInfo(_Inout_ D3DKMT_QUERYRESOURCEINFO* unnamedParam1)
499{
500 if (!unnamedParam1)
502
505
507}
508
511NtGdiDdDDIQueryStatistics(_Inout_ const D3DKMT_QUERYSTATISTICS* unnamedParam1)
512{
513 if (!unnamedParam1)
515
518
520}
521
525{
526 if (!unnamedParam1)
528
531
533}
534
537NtGdiDdDDIRender(_In_ D3DKMT_RENDER* unnamedParam1)
538{
539 if (!unnamedParam1)
541
544
545 return DxgAdapterCallbacks.RxgkIntPfnRender(unnamedParam1);
546}
547
550NtGdiDdDDISetAllocationPriority(_In_ const D3DKMT_SETALLOCATIONPRIORITY* unnamedParam1)
551{
552 if (!unnamedParam1)
554
557
559}
560
563NtGdiDdDDISetContextSchedulingPriority(_In_ const D3DKMT_SETCONTEXTSCHEDULINGPRIORITY* unnamedParam1)
564{
565 if (!unnamedParam1)
567
570
572}
573
576NtGdiDdDDISetDisplayMode(_In_ const D3DKMT_SETDISPLAYMODE* unnamedParam1)
577{
578 if (!unnamedParam1)
580
583
584 return DxgAdapterCallbacks.RxgkIntPfnSetDisplayMode(unnamedParam1);
585}
586
589NtGdiDdDDISetDisplayPrivateDriverFormat(_In_ const D3DKMT_SETDISPLAYPRIVATEDRIVERFORMAT* unnamedParam1)
590{
591 if (!unnamedParam1)
593
596
598}
599
602NtGdiDdDDISetGammaRamp(_In_ const D3DKMT_SETGAMMARAMP* unnamedParam1)
603{
604 if (!unnamedParam1)
606
609
610 return DxgAdapterCallbacks.RxgkIntPfnSetGammaRamp(unnamedParam1);
611}
612
613
616NtGdiDdDDISetQueuedLimit(_Inout_ const D3DKMT_SETQUEUEDLIMIT* unnamedParam1)
617{
618 if (!unnamedParam1)
620
623
624 return DxgAdapterCallbacks.RxgkIntPfnSetQueuedLimit(unnamedParam1);
625}
626
629NtGdiDdDDISetVidPnSourceOwner(_In_ const D3DKMT_SETVIDPNSOURCEOWNER* unnamedParam1)
630{
631 if (!unnamedParam1)
633
636
638}
639
641WINAPI
642NtGdiDdDDIUnlock(_In_ const D3DKMT_UNLOCK* unnamedParam1)
643{
644 if (!unnamedParam1)
646
649
650 return DxgAdapterCallbacks.RxgkIntPfnUnlock(unnamedParam1);
651}
652
655NtGdiDdDDIUpdateOverlay(_In_ const D3DKMT_UPDATEOVERLAY* unnamedParam1)
656{
657 if (!unnamedParam1)
659
662
663 return DxgAdapterCallbacks.RxgkIntPfnUpdateOverlay(unnamedParam1);
664}
665
668NtGdiDdDDIWaitForIdle(_In_ const D3DKMT_WAITFORIDLE* unnamedParam1)
669{
670 if (!unnamedParam1)
672
675
676 return DxgAdapterCallbacks.RxgkIntPfnWaitForIdle(unnamedParam1);
677}
678
681NtGdiDdDDIWaitForSynchronizationObject(_In_ const D3DKMT_WAITFORSYNCHRONIZATIONOBJECT* unnamedParam1)
682{
683 if (!unnamedParam1)
685
688
690}
691
694NtGdiDdDDIWaitForVerticalBlankEvent(_In_ const D3DKMT_WAITFORVERTICALBLANKEVENT* unnamedParam1)
695{
696 if (!unnamedParam1)
698
701
703}
704
707NtGdiDdDDISignalSynchronizationObject(_In_ const D3DKMT_SIGNALSYNCHRONIZATIONOBJECT* unnamedParam1)
708{
709 if (!unnamedParam1)
711
714
716}
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
#define FALSE
Definition: types.h:117
#define APIENTRY
Definition: api.h:79
NTSTATUS APIENTRY NtGdiDdDDIWaitForVerticalBlankEvent(_In_ const D3DKMT_WAITFORVERTICALBLANKEVENT *unnamedParam1)
Definition: d3dkmt.c:694
NTSTATUS APIENTRY NtGdiDdDDISetVidPnSourceOwner(_In_ const D3DKMT_SETVIDPNSOURCEOWNER *unnamedParam1)
Definition: d3dkmt.c:629
NTSTATUS APIENTRY NtGdiDdDDICreateOverlay(_Inout_ D3DKMT_CREATEOVERLAY *unnamedParam1)
Definition: d3dkmt.c:186
NTSTATUS APIENTRY NtGdiDdDDIRender(_In_ D3DKMT_RENDER *unnamedParam1)
Definition: d3dkmt.c:537
NTSTATUS APIENTRY NtGdiDdDDIGetSharedPrimaryHandle(_Inout_ D3DKMT_GETSHAREDPRIMARYHANDLE *unnamedParam1)
Definition: d3dkmt.c:394
NTSTATUS APIENTRY NtGdiDdDDIDestroyContext(_In_ const D3DKMT_DESTROYCONTEXT *unnamedParam1)
Definition: d3dkmt.c:225
NTSTATUS APIENTRY NtGdiDdDDISharedPrimaryLockNotification(_In_ const D3DKMT_SHAREDPRIMARYLOCKNOTIFICATION *unnamedParam1)
Definition: d3dkmt.c:60
NTSTATUS APIENTRY NtGdiDdDDIOpenAdapterFromGdiDisplayName(_Inout_ D3DKMT_OPENADAPTERFROMGDIDISPLAYNAME *unnamedParam1)
Definition: d3dkmt.c:74
NTSTATUS APIENTRY NtGdiDdDDIUpdateOverlay(_In_ const D3DKMT_UPDATEOVERLAY *unnamedParam1)
Definition: d3dkmt.c:655
NTSTATUS APIENTRY NtGdiDdDDIOpenAdapterFromHdc(_Inout_ D3DKMT_OPENADAPTERFROMHDC *unnamedParam1)
Definition: d3dkmt.c:81
NTSTATUS APIENTRY NtGdiDdDDICheckMonitorPowerState(_In_ const D3DKMT_CHECKMONITORPOWERSTATE *unnamedParam1)
Definition: d3dkmt.c:120
NTSTATUS APIENTRY NtGdiDdDDIReleaseProcessVidPnSourceOwners(_In_ HANDLE unnamedParam1)
Definition: d3dkmt.c:524
NTSTATUS APIENTRY NtGdiDdDDIDestroyDevice(_In_ const D3DKMT_DESTROYDEVICE *unnamedParam1)
Definition: d3dkmt.c:238
NTSTATUS APIENTRY NtGdiDdDDIInvalidateActiveVidPn(_In_ const D3DKMT_INVALIDATEACTIVEVIDPN *unnamedParam1)
Definition: d3dkmt.c:407
NTSTATUS APIENTRY NtGdiDdDDISetProcessSchedulingPriorityClass(_In_ HANDLE unnamedParam1, _In_ D3DKMT_SCHEDULINGPRIORITYCLASS unnamedParam2)
Definition: d3dkmt.c:52
NTSTATUS APIENTRY NtGdiDdDDISignalSynchronizationObject(_In_ const D3DKMT_SIGNALSYNCHRONIZATIONOBJECT *unnamedParam1)
Definition: d3dkmt.c:707
NTSTATUS APIENTRY NtGdiDdDDIGetDisplayModeList(_Inout_ D3DKMT_GETDISPLAYMODELIST *unnamedParam1)
Definition: d3dkmt.c:329
NTSTATUS APIENTRY NtGdiDdDDIDestroyAllocation(_In_ const D3DKMT_DESTROYALLOCATION *unnamedParam1)
Definition: d3dkmt.c:212
NTSTATUS APIENTRY NtGdiDdDDIPollDisplayChildren(_In_ const D3DKMT_POLLDISPLAYCHILDREN *unnamedParam1)
Definition: d3dkmt.c:446
NTSTATUS APIENTRY NtGdiDdDDICreateContext(_Inout_ D3DKMT_CREATECONTEXT *unnamedParam1)
Definition: d3dkmt.c:160
NTSTATUS APIENTRY NtGdiDdDDIGetScanLine(_In_ D3DKMT_GETSCANLINE *unnamedParam1)
Definition: d3dkmt.c:381
NTSTATUS APIENTRY NtGdiDdDDISetDisplayPrivateDriverFormat(_In_ const D3DKMT_SETDISPLAYPRIVATEDRIVERFORMAT *unnamedParam1)
Definition: d3dkmt.c:589
NTSTATUS APIENTRY NtGdiDdDDISetQueuedLimit(_Inout_ const D3DKMT_SETQUEUEDLIMIT *unnamedParam1)
Definition: d3dkmt.c:616
NTSTATUS APIENTRY NtGdiDdDDICheckOcclusion(_In_ const D3DKMT_CHECKOCCLUSION *unnamedParam1)
Definition: d3dkmt.c:133
NTSTATUS APIENTRY NtGdiDdDDIQueryAdapterInfo(_Inout_ const D3DKMT_QUERYADAPTERINFO *unnamedParam1)
Definition: d3dkmt.c:472
NTSTATUS APIENTRY NtGdiDdDDIPresent(_In_ D3DKMT_PRESENT *unnamedParam1)
Definition: d3dkmt.c:459
NTSTATUS APIENTRY NtGdiDdDDICreateDevice(_Inout_ D3DKMT_CREATEDEVICE *unnamedParam1)
Definition: d3dkmt.c:173
NTSTATUS APIENTRY NtGdiDdDDIQueryStatistics(_Inout_ const D3DKMT_QUERYSTATISTICS *unnamedParam1)
Definition: d3dkmt.c:511
NTSTATUS APIENTRY NtGdiDdDDIQueryAllocationResidency(_In_ const D3DKMT_QUERYALLOCATIONRESIDENCY *unnamedParam1)
Definition: d3dkmt.c:485
NTSTATUS APIENTRY NtGdiDdDDISetDisplayMode(_In_ const D3DKMT_SETDISPLAYMODE *unnamedParam1)
Definition: d3dkmt.c:576
NTSTATUS APIENTRY NtGdiDdDDICreateAllocation(_Inout_ D3DKMT_CREATEALLOCATION *unnamedParam1)
Definition: d3dkmt.c:107
NTSTATUS APIENTRY NtGdiDdDDICreateSynchronizationObject(_Inout_ D3DKMT_CREATESYNCHRONIZATIONOBJECT *unnamedParam1)
Definition: d3dkmt.c:199
BOOLEAN APIENTRY NtGdiDdDDICheckExclusiveOwnership(VOID)
Definition: d3dkmt.c:36
NTSTATUS APIENTRY NtGdiDdDDIDestroyOverlay(_In_ const D3DKMT_DESTROYOVERLAY *unnamedParam1)
Definition: d3dkmt.c:251
NTSTATUS APIENTRY NtGdiDdDDIGetMultisampleMethodList(_Inout_ D3DKMT_GETMULTISAMPLEMETHODLIST *unnamedParam1)
Definition: d3dkmt.c:342
NTSTATUS APIENTRY NtGdiDdDDIQueryResourceInfo(_Inout_ D3DKMT_QUERYRESOURCEINFO *unnamedParam1)
Definition: d3dkmt.c:498
NTSTATUS APIENTRY NtGdiDdDDIGetDeviceState(_Inout_ D3DKMT_GETDEVICESTATE *unnamedParam1)
Definition: d3dkmt.c:316
NTSTATUS APIENTRY NtGdiDdDDICloseAdapter(_In_ const D3DKMT_CLOSEADAPTER *unnamedParam1)
Definition: d3dkmt.c:147
NTSTATUS APIENTRY NtGdiDdDDIWaitForSynchronizationObject(_In_ const D3DKMT_WAITFORSYNCHRONIZATIONOBJECT *unnamedParam1)
Definition: d3dkmt.c:681
NTSTATUS APIENTRY NtGdiDdDDIGetContextSchedulingPriority(_Inout_ D3DKMT_GETCONTEXTSCHEDULINGPRIORITY *unnamedParam1)
Definition: d3dkmt.c:303
NTSTATUS APIENTRY NtGdiDdDDIOpenResource(_Inout_ D3DKMT_OPENRESOURCE *unnamedParam1)
Definition: d3dkmt.c:433
NTSTATUS APIENTRY NtGdiDdDDIEscape(_In_ const D3DKMT_ESCAPE *unnamedParam1)
Definition: d3dkmt.c:277
NTSTATUS APIENTRY NtGdiDdDDISetContextSchedulingPriority(_In_ const D3DKMT_SETCONTEXTSCHEDULINGPRIORITY *unnamedParam1)
Definition: d3dkmt.c:563
NTSTATUS APIENTRY NtGdiDdDDISetGammaRamp(_In_ const D3DKMT_SETGAMMARAMP *unnamedParam1)
Definition: d3dkmt.c:602
NTSTATUS APIENTRY NtGdiDdDDIGetRuntimeData(_In_ const D3DKMT_GETRUNTIMEDATA *unnamedParam1)
Definition: d3dkmt.c:368
NTSTATUS WINAPI NtGdiDdDDIUnlock(_In_ const D3DKMT_UNLOCK *unnamedParam1)
Definition: d3dkmt.c:642
NTSTATUS APIENTRY NtGdiDdDDIWaitForIdle(_In_ const D3DKMT_WAITFORIDLE *unnamedParam1)
Definition: d3dkmt.c:668
NTSTATUS APIENTRY NtGdiDdDDIOpenAdapterFromDeviceName(_Inout_ D3DKMT_OPENADAPTERFROMDEVICENAME *unnamedParam1)
Definition: d3dkmt.c:89
NTSTATUS APIENTRY NtGdiDdDDIGetProcessSchedulingPriorityClass(_In_ HANDLE unnamedParam1, _Out_ D3DKMT_SCHEDULINGPRIORITYCLASS *unnamedParam2)
Definition: d3dkmt.c:44
NTSTATUS APIENTRY NtGdiDdDDILock(_Inout_ D3DKMT_LOCK *unnamedParam1)
Definition: d3dkmt.c:420
NTSTATUS APIENTRY NtGdiDdDDIGetPresentHistory(_Inout_ D3DKMT_GETPRESENTHISTORY *unnamedParam1)
Definition: d3dkmt.c:355
NTSTATUS APIENTRY NtGdiDdDDISharedPrimaryUnLockNotification(_In_ const D3DKMT_SHAREDPRIMARYUNLOCKNOTIFICATION *unnamedParam1)
Definition: d3dkmt.c:67
NTSTATUS APIENTRY NtGdiDdDDIFlipOverlay(_In_ const D3DKMT_FLIPOVERLAY *unnamedParam1)
Definition: d3dkmt.c:290
NTSTATUS APIENTRY NtGdiDdDDIDestroySynchronizationObject(_In_ const D3DKMT_DESTROYSYNCHRONIZATIONOBJECT *unnamedParam1)
Definition: d3dkmt.c:264
VOID APIENTRY DxStartupDxgkInt(VOID)
Definition: d3dkmt.c:25
NTSTATUS APIENTRY NtGdiDdDDISetAllocationPriority(_In_ const D3DKMT_SETALLOCATIONPRIORITY *unnamedParam1)
Definition: d3dkmt.c:550
static REACTOS_WIN32K_DXGKRNL_INTERFACE DxgAdapterCallbacks
Definition: d3dkmt.c:17
#define _Inout_
Definition: no_sal2.h:162
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define STATUS_PROCEDURE_NOT_FOUND
Definition: ntstatus.h:358
#define DPRINT
Definition: sndvol32.h:73
PDXGADAPTER_RELEASEPROCESSVIDPNSOURCEOWNERS RxgkIntPfnReleaseProcessVidPnSourceOwners
PDXGADAPTER_UNLOCK RxgkIntPfnUnlock
PDXGADAPTER_SETVIDPNSOURCEOWNER RxgkIntPfnSetVidPnSourceOwner
PDXGADAPTER_SETGAMMARAMP RxgkIntPfnSetGammaRamp
PDXGADAPTER_CLOSEADAPTER RxgkIntPfnCloseAdapter
PDXGADAPTER_INVALIDATEACTIVEVIDPN RxgkIntPfnInvalidateActiveVidPn
PDXGADAPTER_CREATESYNCHRONIZATIONOBJECT RxgkIntPfnCreateSynchronizationObject
PDXGADAPTER_UPDATEOVERLAY RxgkIntPfnUpdateOverlay
PDXGADAPTER_QUERYADAPTERINFO RxgkIntPfnQueryAdapterInfo
PDXGADAPTER_DESTROYOVERLAY RxgkIntPfnDestroyOverlay
PDXGADAPTER_GETRUNTIMEDATA RxgkIntPfnGetRuntimeData
PDXGADAPTER_FLIPOVERLAY RxgkIntPfnFlipOverlay
PDXGADAPTER_SIGNALSYNCHRONIZATIONOBJECT RxgkIntPfnSignalSynchronizationObject
PDXGADAPTER_QUERYRESOURCEINFO RxgkIntPfnQueryResourceInfo
PDXGADAPTER_CHECKOCCLUSION RxgkIntPfnCheckOcclusion
PDXGADAPTER_SETDISPLAYPRIVATEDRIVERFORMAT RxgkIntPfnSetDisplayPrivateDriverFormat
PDXGADAPTER_GETMULTISAMPLEMETHODLIST RxgkIntPfnGetMultisampleMethodList
PDXGADAPTER_ESCAPE RxgkIntPfnEscape
PDXGADAPTER_QUERYSTATISTICS RxgkIntPfnQueryStatistics
PDXGADAPTER_QUERYALLOCATIONRESIDENCY RxgkIntPfnQueryAllocationResidency
PDXGADAPTER_CREATEDEVICE RxgkIntPfnCreateDevice
PDXGADAPTER_GETPRESENTHISTORY RxgkIntPfnGetPresentHistory
PDXGADAPTER_SETDISPLAYMODE RxgkIntPfnSetDisplayMode
PDXGADAPTER_GETSCANLINE RxgkIntPfnGetScanLine
PDXGADAPTER_GETDEVICESTATE RxgkIntPfnGetDeviceState
PDXGADAPTER_SETALLOCATIONPRIORITY RxgkIntPfnSetAllocationPriority
PDXGADAPTER_CREATECONTEXT RxgkIntPfnCreateContext
PDXGADAPTER_SETQUEUEDLIMIT RxgkIntPfnSetQueuedLimit
PDXGADAPTER_DESTROYSYNCHRONIZATIONOBJECT RxgkIntPfnDestroySynchronizationObject
PDXGADAPTER_CREATEALLOCATION RxgkIntPfnCreateAllocation
PDXGADAPTER_POLLDISPLAYCHILDREN RxgkIntPfnPollDisplayChildren
PDXGADAPTER_PRESENT RxgkIntPfnPresent
PDXGADAPTER_WAITFORIDLE RxgkIntPfnWaitForIdle
PDXGADAPTER_GETCONTEXTSCHEDULINGPRIORITY RxgkIntPfnGetContextSchedulingPriority
PDXGADAPTER_CREATEOVERLAY RxgkIntPfnCreateOverlay
PDXGADAPTER_GETSHAREDPRIMARYHANDLE RxgkIntPfnGetSharedPrimaryHandle
PDXGADAPTER_DESTROYALLOCATION RxgkIntPfnDestroyAllocation
PDXGADAPTER_WAITFORVERTICALBLANKEVENT RxgkIntPfnWaitForVerticalBlankEvent
PDXGADAPTER_GETDISPLAYMODELIST RxgkIntPfnGetDisplayModeList
PDXGADAPTER_OPENRESOURCE RxgkIntPfnOpenResource
PDXGADAPTER_CHECKMONITORPOWERSTATE RxgkIntPfnCheckMonitorPowerState
PDXGADAPTER_RENDER RxgkIntPfnRender
PDXGADAPTER_SETCONTEXTSCHEDULINGPRIORITY RxgkIntPfnSetContextSchedulingPriority
PDXGADAPTER_WAITFORSYNCHRONIZATIONOBJECT RxgkIntPfnWaitForSynchronizationObject
PDXGADAPTER_DESTROYCONTEXT RxgkIntPfnDestroyContext
PDXGADAPTER_DESTROYDEVICE RxgkIntPfnDestroyDevice
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
#define WINAPI
Definition: msvc.h:6