Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

277 lines
8.2 KiB

  1. // Note the following struct should match the declaration in
  2. // the definition of the kernel mode struct defined in ntgdistr.h
  3. // For D3D context creation information.
  4. typedef struct _D3DNTHAL_CONTEXTCREATEI
  5. {
  6. // Space for a D3DNTHAL_CONTEXTCREATE record.
  7. // The structure isn't directly declared here to
  8. // avoid header inclusion problems. This field
  9. // is asserted to be the same size as the actual type.
  10. ULONG ulContextCreate[6];
  11. // Private buffer information.
  12. PVOID pvBuffer;
  13. ULONG cjBuffer;
  14. } D3DNTHAL_CONTEXTCREATEI;
  15. DWORD APIENTRY OsThunkDdAddAttachedSurface(
  16. IN HANDLE hSurface,
  17. IN HANDLE hSurfaceAttached,
  18. IN OUT PDD_ADDATTACHEDSURFACEDATA puAddAttachedSurfaceData);
  19. BOOL APIENTRY OsThunkDdAttachSurface(
  20. IN HANDLE hSurfaceFrom,
  21. IN HANDLE hSurfaceTo);
  22. DWORD APIENTRY OsThunkDdBlt(
  23. IN HANDLE hSurfaceDest,
  24. IN HANDLE hSurfaceSrc,
  25. IN OUT PDD_BLTDATA puBltData);
  26. DWORD APIENTRY OsThunkDdCanCreateSurface(
  27. IN HANDLE hDirectDraw,
  28. IN OUT PDD_CANCREATESURFACEDATA puCanCreateSurfaceData);
  29. DWORD APIENTRY OsThunkDdColorControl(
  30. IN HANDLE hSurface,
  31. IN OUT PDD_COLORCONTROLDATA puColorControlData);
  32. HANDLE APIENTRY OsThunkDdCreateDirectDrawObject(
  33. IN HDC hdc);
  34. DWORD APIENTRY OsThunkDdCreateSurface(
  35. IN HANDLE hDirectDraw,
  36. IN HANDLE* hSurface,
  37. IN OUT DDSURFACEDESC* puSurfaceDescription,
  38. IN OUT DD_SURFACE_GLOBAL* puSurfaceGlobalData,
  39. IN OUT DD_SURFACE_LOCAL* puSurfaceLocalData,
  40. IN OUT DD_SURFACE_MORE* puSurfaceMoreData,
  41. IN OUT DD_CREATESURFACEDATA* puCreateSurfaceData,
  42. OUT HANDLE* puhSurface);
  43. HANDLE APIENTRY OsThunkDdCreateSurfaceObject(
  44. IN HANDLE hDirectDrawLocal,
  45. IN HANDLE hSurface,
  46. IN PDD_SURFACE_LOCAL puSurfaceLocal,
  47. IN PDD_SURFACE_MORE puSurfaceMore,
  48. IN PDD_SURFACE_GLOBAL puSurfaceGlobal,
  49. IN BOOL bComplete);
  50. BOOL APIENTRY OsThunkDdDeleteSurfaceObject(
  51. IN HANDLE hSurface);
  52. BOOL APIENTRY OsThunkDdDeleteDirectDrawObject(
  53. IN HANDLE hDirectDrawLocal);
  54. DWORD APIENTRY OsThunkDdDestroySurface(
  55. IN HANDLE hSurface,
  56. IN BOOL bRealDestroy);
  57. DWORD APIENTRY OsThunkDdFlip(
  58. IN HANDLE hSurfaceCurrent,
  59. IN HANDLE hSurfaceTarget,
  60. IN HANDLE hSurfaceCurrentLeft,
  61. IN HANDLE hSurfaceTargetLeft,
  62. IN OUT PDD_FLIPDATA puFlipData);
  63. DWORD APIENTRY OsThunkDdGetAvailDriverMemory(
  64. IN HANDLE hDirectDraw,
  65. IN OUT PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData);
  66. DWORD APIENTRY OsThunkDdGetBltStatus(
  67. IN HANDLE hSurface,
  68. IN OUT PDD_GETBLTSTATUSDATA puGetBltStatusData);
  69. HDC APIENTRY OsThunkDdGetDC(
  70. IN HANDLE hSurface,
  71. IN PALETTEENTRY* puColorTable);
  72. DWORD APIENTRY OsThunkDdGetDriverInfo(
  73. IN HANDLE hDirectDraw,
  74. IN OUT PDD_GETDRIVERINFODATA puGetDriverInfoData);
  75. DWORD APIENTRY OsThunkDdGetFlipStatus(
  76. IN HANDLE hSurface,
  77. IN OUT PDD_GETFLIPSTATUSDATA puGetFlipStatusData);
  78. DWORD APIENTRY OsThunkDdGetScanLine(
  79. IN HANDLE hDirectDraw,
  80. IN OUT PDD_GETSCANLINEDATA puGetScanLineData);
  81. DWORD APIENTRY OsThunkDdSetExclusiveMode(
  82. IN HANDLE hDirectDraw,
  83. IN OUT PDD_SETEXCLUSIVEMODEDATA puSetExclusiveModeData);
  84. DWORD APIENTRY OsThunkDdFlipToGDISurface(
  85. IN HANDLE hDirectDraw,
  86. IN OUT PDD_FLIPTOGDISURFACEDATA puFlipToGDISurfaceData);
  87. DWORD APIENTRY OsThunkDdLock(
  88. IN HANDLE hSurface,
  89. IN OUT PDD_LOCKDATA puLockData,
  90. IN HDC hdcClip);
  91. BOOL APIENTRY OsThunkDdQueryDirectDrawObject(
  92. IN HANDLE,
  93. IN OUT PDD_HALINFO,
  94. IN OUT DWORD*,
  95. IN OUT LPD3DNTHAL_CALLBACKS,
  96. IN OUT LPD3DNTHAL_GLOBALDRIVERDATA,
  97. IN OUT PDD_D3DBUFCALLBACKS,
  98. IN OUT LPDDSURFACEDESC,
  99. IN OUT DWORD*,
  100. IN OUT VIDEOMEMORY*,
  101. IN OUT DWORD*,
  102. IN OUT DWORD*);
  103. BOOL APIENTRY OsThunkDdReenableDirectDrawObject(
  104. IN HANDLE hDirectDrawLocal,
  105. IN OUT BOOL* pubNewMode);
  106. BOOL APIENTRY OsThunkDdReleaseDC(
  107. IN HANDLE hSurface);
  108. BOOL APIENTRY OsThunkDdResetVisrgn(
  109. IN HANDLE hSurface,
  110. IN HWND hwnd);
  111. DWORD APIENTRY OsThunkDdSetColorKey(
  112. IN HANDLE hSurface,
  113. IN OUT PDD_SETCOLORKEYDATA puSetColorKeyData);
  114. DWORD APIENTRY OsThunkDdSetOverlayPosition(
  115. IN HANDLE hSurfaceSource,
  116. IN HANDLE hSurfaceDestination,
  117. IN OUT PDD_SETOVERLAYPOSITIONDATA puSetOverlayPositionData);
  118. VOID APIENTRY OsThunkDdUnattachSurface(
  119. IN HANDLE hSurface,
  120. IN HANDLE hSurfaceAttached);
  121. DWORD APIENTRY OsThunkDdUnlock(
  122. IN HANDLE hSurface,
  123. IN OUT PDD_UNLOCKDATA puUnlockData);
  124. DWORD APIENTRY OsThunkDdUpdateOverlay(
  125. IN HANDLE hSurfaceDestination,
  126. IN HANDLE hSurfaceSource,
  127. IN OUT PDD_UPDATEOVERLAYDATA puUpdateOverlayData);
  128. DWORD APIENTRY OsThunkDdWaitForVerticalBlank(
  129. IN HANDLE hDirectDraw,
  130. IN OUT PDD_WAITFORVERTICALBLANKDATA puWaitForVerticalBlankData);
  131. HANDLE APIENTRY OsThunkDdGetDxHandle(
  132. IN HANDLE hDirectDraw,
  133. IN HANDLE hSurface,
  134. IN BOOL bRelease);
  135. BOOL APIENTRY OsThunkDdSetGammaRamp(
  136. IN HANDLE hDirectDraw,
  137. IN HDC hdc,
  138. IN LPVOID lpGammaRamp);
  139. DWORD APIENTRY OsThunkDdLockD3D(
  140. IN HANDLE hSurface,
  141. IN OUT PDD_LOCKDATA puLockData);
  142. DWORD APIENTRY OsThunkDdUnlockD3D(
  143. IN HANDLE hSurface,
  144. IN OUT PDD_UNLOCKDATA puUnlockData);
  145. DWORD APIENTRY OsThunkDdCreateD3DBuffer(
  146. IN HANDLE hDirectDraw,
  147. IN OUT HANDLE* hSurface,
  148. IN OUT DDSURFACEDESC* puSurfaceDescription,
  149. IN OUT DD_SURFACE_GLOBAL* puSurfaceGlobalData,
  150. IN OUT DD_SURFACE_LOCAL* puSurfaceLocalData,
  151. IN OUT DD_SURFACE_MORE* puSurfaceMoreData,
  152. IN OUT DD_CREATESURFACEDATA* puCreateSurfaceData,
  153. IN OUT HANDLE* puhSurface);
  154. DWORD APIENTRY OsThunkDdCanCreateD3DBuffer(
  155. IN HANDLE hDirectDraw,
  156. IN OUT PDD_CANCREATESURFACEDATA puCanCreateSurfaceData);
  157. DWORD APIENTRY OsThunkDdDestroyD3DBuffer(
  158. IN HANDLE hSurface);
  159. DWORD APIENTRY OsThunkD3dContextCreate(
  160. IN HANDLE hDirectDrawLocal,
  161. IN HANDLE hSurfColor,
  162. IN HANDLE hSurfZ,
  163. IN OUT D3DNTHAL_CONTEXTCREATEI *pdcci);
  164. DWORD APIENTRY OsThunkD3dContextDestroy(
  165. IN LPD3DNTHAL_CONTEXTDESTROYDATA);
  166. DWORD APIENTRY OsThunkD3dContextDestroyAll(
  167. OUT LPD3DNTHAL_CONTEXTDESTROYALLDATA pdcdad);
  168. DWORD APIENTRY OsThunkD3dValidateTextureStageState(
  169. IN OUT LPD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA pData);
  170. DWORD APIENTRY OsThunkD3dDrawPrimitives2(
  171. IN HANDLE hCmdBuf,
  172. IN HANDLE hVBuf,
  173. IN OUT LPD3DNTHAL_DRAWPRIMITIVES2DATA pded,
  174. IN OUT FLATPTR* pfpVidMemCmd,
  175. IN OUT DWORD* pdwSizeCmd,
  176. IN OUT FLATPTR* pfpVidMemVtx,
  177. IN OUT DWORD* pdwSizeVtx);
  178. DWORD APIENTRY OsThunkDdGetDriverState(
  179. IN OUT PDD_GETDRIVERSTATEDATA pdata);
  180. DWORD APIENTRY OsThunkDdCreateSurfaceEx(
  181. IN HANDLE hDirectDraw,
  182. IN HANDLE hSurface,
  183. IN DWORD dwSurfaceHandle);
  184. DWORD APIENTRY OsThunkDdGetMoCompGuids(
  185. IN HANDLE hDirectDraw,
  186. IN OUT PDD_GETMOCOMPGUIDSDATA puGetMoCompGuidsData);
  187. DWORD APIENTRY OsThunkDdGetMoCompFormats(
  188. IN HANDLE hDirectDraw,
  189. IN OUT PDD_GETMOCOMPFORMATSDATA puGetMoCompFormatsData);
  190. DWORD APIENTRY OsThunkDdGetMoCompBuffInfo(
  191. IN HANDLE hDirectDraw,
  192. IN OUT PDD_GETMOCOMPCOMPBUFFDATA puGetBuffData);
  193. DWORD APIENTRY OsThunkDdGetInternalMoCompInfo(
  194. IN HANDLE hDirectDraw,
  195. IN OUT PDD_GETINTERNALMOCOMPDATA puGetInternalData);
  196. HANDLE APIENTRY OsThunkDdCreateMoComp(
  197. IN HANDLE hDirectDraw,
  198. IN OUT PDD_CREATEMOCOMPDATA puCreateMoCompData);
  199. DWORD APIENTRY OsThunkDdDestroyMoComp(
  200. IN HANDLE hMoComp,
  201. IN OUT PDD_DESTROYMOCOMPDATA puDestroyMoCompData);
  202. DWORD APIENTRY OsThunkDdBeginMoCompFrame(
  203. IN HANDLE hMoComp,
  204. IN OUT PDD_BEGINMOCOMPFRAMEDATA puBeginFrameData);
  205. DWORD APIENTRY OsThunkDdEndMoCompFrame(
  206. IN HANDLE hMoComp,
  207. IN OUT PDD_ENDMOCOMPFRAMEDATA puEndFrameData);
  208. DWORD APIENTRY OsThunkDdRenderMoComp(
  209. IN HANDLE hMoComp,
  210. IN OUT PDD_RENDERMOCOMPDATA puRenderMoCompData);
  211. DWORD APIENTRY OsThunkDdQueryMoCompStatus(
  212. IN OUT HANDLE hMoComp,
  213. IN OUT PDD_QUERYMOCOMPSTATUSDATA puQueryMoCompStatusData);
  214. DWORD APIENTRY OsThunkDdAlphaBlt(
  215. IN HANDLE hSurfaceDest,
  216. IN HANDLE hSurfaceSrc,
  217. IN OUT PDD_BLTDATA puBltData);