[WIN32SS] Allocate memory for EDD_DIRECTDRAW_GLOBAL while creating PDEV (partially...
[reactos.git] / reactos / sdk / include / reactos / drivers / directx / directxint.h
index 2508a21..7cf5b09 100644 (file)
@@ -102,9 +102,16 @@ typedef struct _EDD_SURFACE
  * if any of these flags are set in dwCallbackFlags (struct EDD_DIRECTDRAW_GLOBAL),
  * it means that the respective callback member for it has been filled in by a graphic driver
  */
-#define EDDDGBL_MISCCALLBACKS           0x01 // ddMiscellanousCallbacks
-#define EDDDGBL_VIDEOPORTCALLBACKS      0x02 // ddVideoPortCallback
-#define EDDDGBL_MISC2CALLBACKS          0x80 // ddMiscellanous2Callbacks
+#define EDDDGBL_MISCCALLBACKS           0x001 // ddMiscellanousCallbacks
+#define EDDDGBL_VIDEOPORTCALLBACKS      0x002 // ddVideoPortCallback
+#define EDDDGBL_COLORCONTROLCALLBACKS   0x004 // ddColorControlCallbacks
+#define EDDDGBL_MOTIONCOMPCALLBACKS     0x040 // ddMotionCompCallbacks
+#define EDDDGBL_MISC2CALLBACKS          0x080 // ddMiscellanous2Callbacks
+#define EDDDGBL_DDMORECAPS              0x100 // ddMorecaps
+#define EDDDGBL_D3DCALLBACKS3           0x200 // d3dNtHalCallbacks3
+#define EDDDGBL_NTCALLBACKS             0x400 // ddNtCallbacks
+#define EDDDGBL_PRIVATEDRIVERCAPS       0x800 // ddNtPrivateDriverCaps
+
 
 typedef struct _EDD_DIRECTDRAW_GLOBAL
 {
@@ -140,34 +147,40 @@ typedef struct _EDD_DIRECTDRAW_GLOBAL
 /* 0x038 */    DWORD dwNumFourCC;                                      // 0x038 <-- verified to match Windows XP, dwNumFourCC
 /* 0x03C */    PDWORD pdwFourCC;                                       // 0x03C <-- verified to match Windows XP, pdwFourCC
 /* 0x040 */    DD_HALINFO ddHalInfo;                                   // 0x040 <-- verified to match Windows XP, ddHalInfo
-/* 0x1E0 */    ULONG unk_1e0[46];
+/* 0x1E0 */    ULONG unk_1e0[17];                                      // DxApi interface (size 0x44)
+/* 0x224 */    ULONG unk_224;                                          // 
+/* 0x228 */    ULONG unk_228[14];                                      // AGP interface (size 0x38)
+/* 0x260 */    DDKERNELCAPS ddKernelCaps;                              // 0x260 <-- verified to match Windows Server 2003
+/* 0x26C */    DD_MORECAPS ddMoreCaps;                                 // 0x26C <-- verified to match Windows Server 2003
+/* 0x290 */    DD_NTPRIVATEDRIVERCAPS ddNtPrivateDriverCaps;           // 0x290 <-- verified to match Windows Server 2003
 /* 0x298 */    DD_CALLBACKS ddCallbacks;                               // 0x298 <-- verified to match Windows XP, ddCallbacks
 /* 0x2C4 */    DD_SURFACECALLBACKS ddSurfaceCallbacks;                 // 0x2C4 <-- verified to match Windows XP, ddSurfaceCallbacks
 /* 0x304 */    DD_PALETTECALLBACKS ddPaletteCallbacks;                 // 0x304 <-- verified to match Windows XP, ddPaletteCallbacks
-/* 0x314 */    ULONG unk_314[46];
+/* 0x314 */    D3DNTHAL_GLOBALDRIVERDATA d3dNtGlobalDriverData;
 /* 0x3D4 */    D3DNTHAL_CALLBACKS d3dNtHalCallbacks;
-/* 0x460 */    ULONG unk_460[9];
+/* 0x460 */    DD_D3DBUFCALLBACKS d3dBufCallbacks;
 /* 0x47C */    D3DNTHAL_CALLBACKS2 d3dNtHalCallbacks2;
 /* 0x498 */    DD_VIDEOPORTCALLBACKS ddVideoPortCallback;              // 0x498 <-- verified to match Windows XP, ddVideoPortCallback
 /* 0x4E0 */    DD_MISCELLANEOUSCALLBACKS ddMiscellanousCallbacks;      // 0x4E0 <-- verified to match Windows XP, ddMiscellanousCallbacks
 /* 0x4EC */    DD_MISCELLANEOUS2CALLBACKS ddMiscellanous2Callbacks;    // 0x4EC <-- verified to match Windows XP, ddMiscellanous2Callbacks
-/* 0x504 */    ULONG unk_504[10];
-/* 0x534 */    D3DNTHAL_CALLBACKS3 d3dNtHalCallbacks3;
-/* 0x5A4 */    ULONG unk_544;
-/* 0x5A8 */    ULONG unk_548;
-/* 0x54C */    ULONG unk_54c[23];
+/* 0x504 */    DD_NTCALLBACKS ddNtCallbacks;                           // 0x504 <-- verified to match Windows Server 2003
+/* 0x518 */    DD_COLORCONTROLCALLBACKS ddColorControlCallbacks;       // 0x518 <-- verified to match Windows Server 2003
+/* 0x524 */    DD_KERNELCALLBACKS ddKernelCallbacks;                   // 0x524 <-- verified to match Windows Server 2003
+/* 0x534 */    D3DNTHAL_CALLBACKS3 d3dNtHalCallbacks3;                 // 0x524 <-- verified to match Windows Server 2003
+/* 0x54C */    DD_MOTIONCOMPCALLBACKS ddMotionCompCallbacks;           // 0x54C <-- verified to match Windows Server 2003
+/* 0x57C */    DDMORESURFACECAPS ddMoreSurfaceCaps;                    // 0x57C <-- verified to match Windows Server 2003
 /* 0x5A8 */    EDD_DIRECTDRAW_LOCAL* peDirectDrawLocalList; // 0x5A8 <-- verified to match Windows XP, it is a current local struct, not a list, peDirectDrawLocalList Current
-/* 0x5ac */    EDD_SURFACE* peSurface_LockList;
+/* 0x5AC */    EDD_SURFACE* peSurface_LockList;
 /* 0x5B0 */    FLONG fl;
 /* 0x5B4 */    ULONG cSurfaceLocks;
 /* 0x5B8 */    PKEVENT pAssertModeEvent;
-/* 0x5Bc */    EDD_SURFACE *peSurfaceCurrent;
+/* 0x5BC */    EDD_SURFACE *peSurfaceCurrent;
 /* 0x5C0 */    EDD_SURFACE *peSurfacePrimary;
 /* 0x5C4 */    BOOL bSuspended;                             // 0x5C4 <-- verified to match Windows XP, tells dxg to use driver's own api or return error code instead 
 /* 0x5C8 */    ULONG unk_5c8[12];
 /* 0x5F8 */    RECTL rcbounds;
 /* 0x608 */    ULONG unk_608;
-/* 0x60c */    HDEV hDev;                                   // 0x60c <-- verified to match Windows XP, The real Pdev, hDev
+/* 0x60C */    HDEV hDev;                                   // 0x60c <-- verified to match Windows XP, The real Pdev, hDev
 
 /* Windows XP and higher */
 /* 0x610 */    ULONG unk_610[63];