Leaked source code of windows server 2003
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.

157 lines
4.0 KiB

  1. /******************************Module*Header*******************************\
  2. * Module Name: ddrawgdi.h
  3. *
  4. * Structures and defines for the private entry points in GDI to support
  5. * DirectDraw.
  6. *
  7. * Copyright (c) Microsoft Corporation. All rights reserved.
  8. \**************************************************************************/
  9. // We rename the actual entry points for added protection against anyone
  10. // trying to call our private entry points directly:
  11. #define DdCreateDirectDrawObject GdiEntry1
  12. #define DdQueryDirectDrawObject GdiEntry2
  13. #define DdDeleteDirectDrawObject GdiEntry3
  14. #define DdCreateSurfaceObject GdiEntry4
  15. #define DdDeleteSurfaceObject GdiEntry5
  16. #define DdResetVisrgn GdiEntry6
  17. #define DdGetDC GdiEntry7
  18. #define DdReleaseDC GdiEntry8
  19. #define DdCreateDIBSection GdiEntry9
  20. #define DdReenableDirectDrawObject GdiEntry10
  21. #define DdAttachSurface GdiEntry11
  22. #define DdUnattachSurface GdiEntry12
  23. #define DdQueryDisplaySettingsUniqueness GdiEntry13
  24. #define DdGetDxHandle GdiEntry14
  25. #define DdSetGammaRamp GdiEntry15
  26. #define DdSwapTextureHandles GdiEntry16
  27. BOOL
  28. APIENTRY
  29. DdCreateDirectDrawObject(
  30. LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
  31. HDC hdc
  32. );
  33. typedef struct _D3DHAL_CALLBACKS FAR *LPD3DHAL_CALLBACKS;
  34. typedef struct _D3DHAL_GLOBALDRIVERDATA FAR *LPD3DHAL_GLOBALDRIVERDATA;
  35. BOOL
  36. APIENTRY
  37. DdQueryDirectDrawObject(
  38. LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
  39. LPDDHALINFO pHalInfo,
  40. LPDDHAL_DDCALLBACKS pDDCallbacks,
  41. LPDDHAL_DDSURFACECALLBACKS pDDSurfaceCallbacks,
  42. LPDDHAL_DDPALETTECALLBACKS pDDPaletteCallbacks,
  43. LPD3DHAL_CALLBACKS pD3dCallbacks,
  44. LPD3DHAL_GLOBALDRIVERDATA pD3dDriverData,
  45. LPDDHAL_DDEXEBUFCALLBACKS pD3dBufferCallbacks,
  46. LPDDSURFACEDESC pD3dTextureFormats,
  47. LPDWORD pdwFourCC, // Can be NULL
  48. LPVIDMEM pvmList // Can be NULL
  49. );
  50. BOOL
  51. APIENTRY
  52. DdDeleteDirectDrawObject(
  53. LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal
  54. );
  55. BOOL
  56. APIENTRY
  57. DdCreateSurfaceObject(
  58. LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
  59. BOOL bPrimarySurface
  60. );
  61. BOOL
  62. APIENTRY
  63. DdDeleteSurfaceObject(
  64. LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal
  65. );
  66. BOOL
  67. APIENTRY
  68. DdResetVisrgn(
  69. LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
  70. HWND hWnd
  71. );
  72. HDC
  73. APIENTRY
  74. DdGetDC(
  75. LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
  76. LPPALETTEENTRY pColorTable
  77. );
  78. BOOL
  79. APIENTRY
  80. DdReleaseDC(
  81. LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal
  82. );
  83. HBITMAP
  84. APIENTRY
  85. DdCreateDIBSection(
  86. HDC hdc,
  87. CONST BITMAPINFO* pbmi,
  88. UINT iUsage,
  89. VOID** ppvBits,
  90. HANDLE hSectionApp,
  91. DWORD dwOffset
  92. );
  93. BOOL
  94. APIENTRY
  95. DdReenableDirectDrawObject(
  96. LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
  97. BOOL* pbNewMode
  98. );
  99. BOOL
  100. APIENTRY
  101. DdAttachSurface(
  102. LPDDRAWI_DDRAWSURFACE_LCL pSurfaceFrom,
  103. LPDDRAWI_DDRAWSURFACE_LCL pSurfaceTo
  104. );
  105. VOID
  106. APIENTRY
  107. DdUnattachSurface(
  108. LPDDRAWI_DDRAWSURFACE_LCL pSurface,
  109. LPDDRAWI_DDRAWSURFACE_LCL pSurfaceAttached
  110. );
  111. ULONG
  112. APIENTRY
  113. DdQueryDisplaySettingsUniqueness(
  114. VOID
  115. );
  116. HANDLE
  117. APIENTRY
  118. DdGetDxHandle(
  119. LPDDRAWI_DIRECTDRAW_LCL pDDraw,
  120. LPDDRAWI_DDRAWSURFACE_LCL pSurface,
  121. BOOL bRelease
  122. );
  123. BOOL
  124. APIENTRY
  125. DdSetGammaRamp(
  126. LPDDRAWI_DIRECTDRAW_LCL pDDraw,
  127. HDC hdc,
  128. LPVOID lpGammaRamp
  129. );
  130. DWORD
  131. APIENTRY
  132. DdSwapTextureHandles(
  133. LPDDRAWI_DIRECTDRAW_LCL pDDraw,
  134. LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl1,
  135. LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl2
  136. );