1 
2 
3 /* win32k driver functions table  it have created for the engine the DxEng* api */
4 
5 
6 /* DXG.SYS FUNCTIONS INDEX */
7 /***************************************************************************/
8 /* This driver functions are exported raw from NtGdiDd* / NtDvp* / NtD3d*  */
9 /***************************************************************************/
10 #define DXG_INDEX_DxDxgGenericThunk               0x00
11 #define DXG_INDEX_DxD3dContextCreate              0x01
12 #define DXG_INDEX_DxD3dContextDestroy             0x02
13 #define DXG_INDEX_DxD3dContextDestroyAll          0x03
14 #define DXG_INDEX_DxD3dValidateTextureStageState  0x04
15 #define DXG_INDEX_DxD3dDrawPrimitives2            0x05
16 #define DXG_INDEX_DxDdGetDriverState              0x06
17 #define DXG_INDEX_DxDdAddAttachedSurface          0x07
18 #define DXG_INDEX_DxDdAlphaBlt                    0x08
19 #define DXG_INDEX_DxDdAttachSurface               0x09
20 #define DXG_INDEX_DxDdBeginMoCompFrame            0x0A
21 #define DXG_INDEX_DxDdBlt                         0x0B
22 #define DXG_INDEX_DxDdCanCreateSurface            0x0C
23 #define DXG_INDEX_DxDdCanCreateD3DBuffer          0x0D
24 #define DXG_INDEX_DxDdColorControl                0x0E
25 #define DXG_INDEX_DxDdCreateDirectDrawObject      0x0F
26 /* DXG_INDEX_DxDdCreateSurface and  DXG_INDEX_DxDdCreateD3DBuffer2 are same */
27 #define DXG_INDEX_DxDdCreateSurface               0x10
28 #define DXG_INDEX_DxDdCreateD3DBuffer             0x11
29 #define DXG_INDEX_DxDdCreateMoComp                0x12
30 #define DXG_INDEX_DxDdCreateSurfaceObject         0x13
31 #define DXG_INDEX_DxDdDeleteDirectDrawObject      0x14
32 #define DXG_INDEX_DxDdDeleteSurfaceObject         0x15
33 #define DXG_INDEX_DxDdDestroyMoComp               0x16
34 #define DXG_INDEX_DxDdDestroySurface              0x17
35 #define DXG_INDEX_DxDdDestroyD3DBuffer            0x18
36 #define DXG_INDEX_DxDdEndMoCompFrame              0x19
37 #define DXG_INDEX_DxDdFlip                        0x1A
38 #define DXG_INDEX_DxDdFlipToGDISurface            0x1B
39 #define DXG_INDEX_DxDdGetAvailDriverMemory        0x1C
40 #define DXG_INDEX_DxDdGetBltStatus                0x1D
41 #define DXG_INDEX_DxDdGetDC                       0x1E
42 #define DXG_INDEX_DxDdGetDriverInfo               0x1F
43 #define DXG_INDEX_DxDdGetDxHandle                 0x20
44 #define DXG_INDEX_DxDdGetFlipStatus               0x21
45 #define DXG_INDEX_DxDdGetInternalMoCompInfo       0x22
46 #define DXG_INDEX_DxDdGetMoCompBuffInfo           0x23
47 #define DXG_INDEX_DxDdGetMoCompGuids              0x24
48 #define DXG_INDEX_DxDdGetMoCompFormats            0x25
49 #define DXG_INDEX_DxDdGetScanLine                 0x26
50 /* DXG_INDEX_DxDdLock and  DXG_INDEX_DxDdLockD3D are same */
51 #define DXG_INDEX_DxDdLock                        0x27
52 #define DXG_INDEX_DxDdLockD3D                     0x28
53 #define DXG_INDEX_DxDdQueryDirectDrawObject       0x29
54 #define DXG_INDEX_DxDdQueryMoCompStatus           0x2A
55 #define DXG_INDEX_DxDdReenableDirectDrawObject    0x2B
56 #define DXG_INDEX_DxDdReleaseDC                   0x2C
57 #define DXG_INDEX_DxDdRenderMoComp                0x2D
58 #define DXG_INDEX_DxDdResetVisrgn                 0x2E
59 #define DXG_INDEX_DxDdSetColorKey                 0x2F
60 #define DXG_INDEX_DxDdSetExclusiveMode            0x30
61 #define DXG_INDEX_DxDdSetGammaRamp                0x31
62 #define DXG_INDEX_DxDdCreateSurfaceEx             0x32
63 #define DXG_INDEX_DxDdSetOverlayPosition          0x33
64 #define DXG_INDEX_DxDdUnattachSurface             0x34
65 /* DXG_INDEX_DxDdUnlock and  DXG_INDEX_DxDdUnlockD3D are same */
66 #define DXG_INDEX_DxDdUnlock                      0x35
67 #define DXG_INDEX_DxDdUnlockD3D                   0x36
68 #define DXG_INDEX_DxDdUpdateOverlay               0x37
69 #define DXG_INDEX_DxDdWaitForVerticalBlank        0x38
70 #define DXG_INDEX_DxDvpCanCreateVideoPort         0x39
71 #define DXG_INDEX_DxDvpColorControl               0x3A
72 #define DXG_INDEX_DxDvpCreateVideoPort            0x3B
73 #define DXG_INDEX_DxDvpDestroyVideoPort           0x3C
74 #define DXG_INDEX_DxDvpFlipVideoPort              0x3D
75 #define DXG_INDEX_DxDvpGetVideoPortBandwidth      0x3E
76 #define DXG_INDEX_DxDvpGetVideoPortField          0x3F
77 #define DXG_INDEX_DxDvpGetVideoPortFlipStatus     0x40
78 #define DXG_INDEX_DxDvpGetVideoPortInputFormats   0x41
79 #define DXG_INDEX_DxDvpGetVideoPortLine           0x42
80 #define DXG_INDEX_DxDvpGetVideoPortOutputFormats  0x43
81 #define DXG_INDEX_DxDvpGetVideoPortConnectInfo    0x44
82 #define DXG_INDEX_DxDvpGetVideoSignalStatus       0x45
83 #define DXG_INDEX_DxDvpUpdateVideoPort            0x46
84 #define DXG_INDEX_DxDvpWaitForVideoPortSync       0x47
85 #define DXG_INDEX_DxDvpAcquireNotification        0x48
86 #define DXG_INDEX_DxDvpReleaseNotification        0x49
87 
88 /***********************************************************************************/
89 /* This driver functions are exported raw from Eng* it only exists in the def file */
90 /* you can not do syscallback to thuse but you can import them from win32k.sys     */
91 /* for them are in the export list                                                 */
92 /***********************************************************************************/
93 /* not addedd yet */
94 #define DXG_INDEX_DxDdHeapVidMemAllocAligned      0x4A
95 #define DXG_INDEX_DxDdHeapVidMemFree              0x4B
96 #define DXG_INDEX_DxDdAllocPrivateUserMem         0x54
97 #define DXG_INDEX_DxDdFreePrivateUserMem          0x55
98 #define DXG_INDEX_DxDdLockDirectDrawSurface       0x56
99 #define DXG_INDEX_DxDdUnlockDirectDrawSurface     0x57
100 #define DXG_INDEX_DxDdIoctl                       0x5B
101 
102 
103 /***********************************************************************************/
104 /* Internal use in diffent part in Windows and ReactOS                             */
105 /***********************************************************************************/
106 /* not inuse yet */
107 #define DXG_INDEX_DxDdEnableDirectDraw            0x4C
108 #define DXG_INDEX_DxDdDisableDirectDraw           0x4D
109 #define DXG_INDEX_DxDdSuspendDirectDraw           0x4E
110 #define DXG_INDEX_DxDdResumeDirectDraw            0x4F
111 #define DXG_INDEX_DxDdDynamicModeChange           0x50
112 #define DXG_INDEX_DxDdCloseProcess                0x51
113 #define DXG_INDEX_DxDdGetDirectDrawBound          0x52
114 #define DXG_INDEX_DxDdEnableDirectDrawRedirection 0x53
115 #define DXG_INDEX_DxDdSetAccelLevel               0x58
116 #define DXG_INDEX_DxDdGetSurfaceLock              0x59
117 #define DXG_INDEX_DxDdEnumLockedSurfaceRect       0x5A
118 
119 
120 /***********************************************************************************/
121 /* Driver Functions Protypes                                                       */
122 /***********************************************************************************/
123 typedef DWORD (NTAPI *PGD_DXGENERICTRUNK)(ULONG_PTR, ULONG_PTR, SIZE_T*, PVOID, SIZE_T*, PVOID);
124 //typedef x (NTAPI *PGD_DxD3dContextCreate)(
125 //typedef x (NTAPI *PGD_DxD3dContextDestroy)(
126 //typedef x (NTAPI *PGD_DxD3dContextDestroyAll)(
127 //typedef x (NTAPI *PGD_DxD3dValidateTextureStageState)(
128 //typedef x (NTAPI *PGD_DxD3dDrawPrimitives2)(
129 //typedef x (NTAPI *PGD_DxDdGetDriverState)(
130 //typedef x (NTAPI *PGD_DxDdAddAttachedSurface)(
131 //typedef x (NTAPI *PGD_DxDdAlphaBlt)(
132 //typedef x (NTAPI *PGD_DxDdAttachSurface)(
133 //typedef x (NTAPI *PGD_DxDdBeginMoCompFrame)(
134 //typedef x (NTAPI *PGD_DxDdBlt)(
135 //typedef x (NTAPI *PGD_DxDdCanCreateSurface)(
136 //typedef x (NTAPI *PGD_DxDdCanCreateD3DBuffer)(
137 //typedef x (NTAPI *PGD_DxDdColorControl)(
138 //typedef x (NTAPI *PGD_DxDdCreateDirectDrawObject)(
139 //typedef x (NTAPI *PGD_DxDdCreateSurface)(
140 //typedef x (NTAPI *PGD_DxDdCreateD3DBuffer)(
141 //typedef x (NTAPI *PGD_DxDdCreateMoComp)(
142 //typedef x (NTAPI *PGD_DxDdCreateSurfaceObject)(
143 //typedef x (NTAPI *PGD_DxDdDeleteDirectDrawObject)(
144 //typedef x (NTAPI *PGD_DxDdDeleteSurfaceObject)(
145 //typedef x (NTAPI *PGD_DxDdDestroyMoComp)(
146 //typedef x (NTAPI *PGD_DxDdDestroySurface)(
147 //typedef x (NTAPI *PGD_DxDdDestroyD3DBuffer)(
148 //typedef x (NTAPI *PGD_DxDdEndMoCompFrame)(
149 //typedef x (NTAPI *PGD_DxDdFlip)(
150 //typedef x (NTAPI *PGD_DxDdFlipToGDISurface)(
151 //typedef x (NTAPI *PGD_DxDdGetAvailDriverMemory)(
152 //typedef x (NTAPI *PGD_DxDdGetBltStatus)(
153 //typedef x (NTAPI *PGD_DxDdGetDC)(
154 //typedef x (NTAPI *PGD_DxDdGetDriverInfo)(
155 //typedef x (NTAPI *PGD_DxDdGetDxHandle)(
156 //typedef x (NTAPI *PGD_DxDdGetFlipStatus)(
157 //typedef x (NTAPI *PGD_DxDdGetInternalMoCompInfo)(
158 //typedef x (NTAPI *PGD_DxDdGetMoCompBuffInfo)(
159 //typedef x (NTAPI *PGD_DxDdGetMoCompGuids)(
160 //typedef x (NTAPI *PGD_DxDdGetMoCompFormats)(
161 //typedef x (NTAPI *PGD_DxDdGetScanLine)(
162 //typedef x (NTAPI *PGD_DxDdLock)(
163 //typedef x (NTAPI *PGD_DxDdLockD3D)(
164 //typedef x (NTAPI *PGD_DxDdQueryDirectDrawObject)(
165 //typedef x (NTAPI *PGD_DxDdQueryMoCompStatus)(
166 //typedef x (NTAPI *PGD_DxDdReenableDirectDrawObject)(
167 //typedef x (NTAPI *PGD_DxDdReleaseDC)(
168 //typedef x (NTAPI *PGD_DxDdRenderMoComp)(
169 //typedef x (NTAPI *PGD_DxDdResetVisrgn)(
170 //typedef x (NTAPI *PGD_DxDdSetColorKey)(
171 //typedef x (NTAPI *PGD_DxDdSetExclusiveMode)(
172 //typedef x (NTAPI *PGD_DxDdSetGammaRamp)(
173 //typedef x (NTAPI *PGD_DxDdCreateSurfaceEx)(
174 //typedef x (NTAPI *PGD_DxDdSetOverlayPosition)(
175 //typedef x (NTAPI *PGD_DxDdUnattachSurface)(
176 //typedef x (NTAPI *PGD_DxDdUnlock)(
177 //typedef x (NTAPI *PGD_DxDdUnlockD3D)(
178 //typedef x (NTAPI *PGD_DxDdUpdateOverlay)(
179 //typedef x (NTAPI *PGD_DxDdWaitForVerticalBlank)(
180 //typedef x (NTAPI *PGD_DxDvpCanCreateVideoPort)(
181 //typedef x (NTAPI *PGD_DxDvpColorControl)(
182 //typedef x (NTAPI *PGD_DxDvpCreateVideoPort)(
183 //typedef x (NTAPI *PGD_DxDvpDestroyVideoPort)(
184 //typedef x (NTAPI *PGD_DxDvpFlipVideoPort)(
185 //typedef x (NTAPI *PGD_DxDvpGetVideoPortBandwidth)(
186 //typedef x (NTAPI *PGD_DxDvpGetVideoPortField)(
187 //typedef x (NTAPI *PGD_DxDvpGetVideoPortFlipStatus)(
188 //typedef x (NTAPI *PGD_DxDvpGetVideoPortInputFormats)(
189 //typedef x (NTAPI *PGD_DxDvpGetVideoPortLine)(
190 //typedef x (NTAPI *PGD_DxDvpGetVideoPortOutputFormats)(
191 //typedef x (NTAPI *PGD_DxDvpGetVideoPortConnectInfo)(
192 //typedef x (NTAPI *PGD_DxDvpGetVideoSignalStatus)(
193 //typedef x (NTAPI *PGD_DxDvpUpdateVideoPort)(
194 //typedef x (NTAPI *PGD_DxDvpWaitForVideoPortSync)(
195 //typedef x (NTAPI *PGD_DxDvpAcquireNotification)(
196 //typedef x (NTAPI *PGD_DxDvpReleaseNotification)(
197 //typedef x (NTAPI *PGD_DxDdHeapVidMemAllocAligned)(
198 //typedef x (NTAPI *PGD_DxDdHeapVidMemFree)(
199 typedef BOOLEAN (NTAPI *PGD_DXDDENABLEDIRECTDRAW)(PVOID, BOOLEAN);
200 typedef VOID (NTAPI *PGD_DXDDDISABLEDIRECTDRAW)(PVOID, BOOLEAN);
201 //typedef x (NTAPI *PGD_DxDdSuspendDirectDraw)(
202 //typedef x (NTAPI *PGD_DxDdResumeDirectDraw)(
203 //typedef x (NTAPI *PGD_DxDdDynamicModeChange)(
204 //typedef x (NTAPI *PGD_DxDdCloseProcess)(
205 //typedef x (NTAPI *PGD_DxDdGetDirectDrawBound)(
206 //typedef x (NTAPI *PGD_DxDdEnableDirectDrawRedirection)(
207 //typedef x (NTAPI *PGD_DxDdAllocPrivateUserMem)(
208 //typedef x (NTAPI *PGD_DxDdFreePrivateUserMem)(
209 typedef PDD_SURFACE_LOCAL (NTAPI *PGD_DxDdLockDirectDrawSurface)(HANDLE hDdSurface);
210 typedef BOOL (NTAPI *PGD_DxDdUnlockDirectDrawSurface)(HANDLE hDdSurface);
211 //typedef x (NTAPI *PGD_DxDdSetAccelLevel)(
212 //typedef x (NTAPI *PGD_DxDdGetSurfaceLock)(
213 //typedef x (NTAPI *PGD_DxDdEnumLockedSurfaceRect)(
214 typedef DWORD (NTAPI *PGD_ENGDXIOCTL)(ULONG, PVOID, ULONG);
215 
216 
217 
218