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