Difference between revisions of "Techwiki:Win32k/EDD DIRECTDRAW GLOBAL"

From ReactOS Wiki
Jump to: navigation, search
Line 44: Line 44:
 
  typedef struct _EDD_DIRECTDRAW_GLOBAL
 
  typedef struct _EDD_DIRECTDRAW_GLOBAL
 
  {
 
  {
  /* 0x000 */    PVOID dhpdev;          /* The assign pdev */
+
  /* 0x000 */    PVOID dhpdev;           
 
  /* 0x004 */    DWORD dwReserved1;
 
  /* 0x004 */    DWORD dwReserved1;
 
  /* 0x008 */    DWORD dwReserved2;
 
  /* 0x008 */    DWORD dwReserved2;
Line 50: Line 50:
 
  /* 0x018 */    LONG cDriverReferences;
 
  /* 0x018 */    LONG cDriverReferences;
 
  /* 0x01C */    ULONG unk_01c[3];
 
  /* 0x01C */    ULONG unk_01c[3];
  /* 0x028 */    LONGLONG llAssertModeTimeout;
+
  /* 0x028 */    LARGE_INTEGER llAssertModeTimeout;
  /* 0x030 */    DWORD dwNumHeaps;
+
  /* 0x030 */    DWORD dwNumHeaps;       <-- verify it match windows xp -->
  /* 0x034 */    VIDEOMEMORY *pvmList;
+
  /* 0x034 */    VIDEOMEMORY *pvmList;   <-- verify it match windows xp -->
 
  /* 0x038 */    DWORD dwNumFourCC;
 
  /* 0x038 */    DWORD dwNumFourCC;
 
  /* 0x03C */    PDWORD pdwFourCC;
 
  /* 0x03C */    PDWORD pdwFourCC;
 
  /* 0x040 */    DD_HALINFO ddHalInfo;
 
  /* 0x040 */    DD_HALINFO ddHalInfo;
  /* 0x1E0 */    ULONG unk_1e0[44];
+
  /* 0x1E0 */    ULONG unk_1e0[46];
  /* 0x290 */    DD_CALLBACKS ddCallbacks;
+
  /* 0x298 */    DD_CALLBACKS ddCallbacks;                     <-- verify it match windows xp, -->
  /* 0x2C4 */    DD_SURFACECALLBACKS ddSurfaceCallbacks;
+
  /* 0x2C0 */    DD_SURFACECALLBACKS ddSurfaceCallbacks;       <-- verify it match windows xp, -->
 
  /* 0x304 */    DD_PALETTECALLBACKS ddPaletteCallbacks;
 
  /* 0x304 */    DD_PALETTECALLBACKS ddPaletteCallbacks;
  /* 0x314 */    ULONG unk_314[48];
+
  /* 0x314 */    ULONG unk_314[46];
 
  /* 0x3D4 */    D3DNTHAL_CALLBACKS d3dNtHalCallbacks;
 
  /* 0x3D4 */    D3DNTHAL_CALLBACKS d3dNtHalCallbacks;
 
  /* 0x460 */    ULONG unk_460[7];
 
  /* 0x460 */    ULONG unk_460[7];
Line 69: Line 69:
 
  /* 0x534 */    D3DNTHAL_CALLBACKS3 d3dNtHalCallbacks3;
 
  /* 0x534 */    D3DNTHAL_CALLBACKS3 d3dNtHalCallbacks3;
 
  /* 0x54C */    ULONG unk_54c[23];
 
  /* 0x54C */    ULONG unk_54c[23];
  /* 0x5A8 */    EDD_DIRECTDRAW_LOCAL* peDirectDrawCurrentLocal; <---- XP change the name for it is always current local -->
+
  /* 0x5A8 */    EDD_DIRECTDRAW_LOCAL* peDirectDrawCurrentLocal; <---- verify it match windows xp, for it is always current local -->
 
  /* 0x5ac */    EDD_SURFACE* peSurface_LockList;
 
  /* 0x5ac */    EDD_SURFACE* peSurface_LockList;
 
  /* 0x5B0 */    FLONG fl;
 
  /* 0x5B0 */    FLONG fl;
Line 76: Line 76:
 
  /* 0x5Bc */    EDD_SURFACE *peSurfaceCurrent;
 
  /* 0x5Bc */    EDD_SURFACE *peSurfaceCurrent;
 
  /* 0x5C0 */    EDD_SURFACE *peSurfacePrimary;
 
  /* 0x5C0 */    EDD_SURFACE *peSurfacePrimary;
  /* 0x5C4 */    BOOL bSuspended;
+
  /* 0x5C4 */    BOOL bSuspended;                             <---- verify it match windows xp,  ---->
 
  /* 0x5C8 */    ULONG unk_5c8[12];
 
  /* 0x5C8 */    ULONG unk_5c8[12];
 
  /* 0x5F8 */    RECTL rcbounds;
 
  /* 0x5F8 */    RECTL rcbounds;
  /* 0x608 */    HDEV hDev;
+
  /* 0x608 */    ULONG unk_608;
  /* 0x60c */    PVOID hPDev;
+
  /* 0x60c */    HDEV hDev;                                   <---- verify it match windows xp, The real Pdev, hDev -->
 
  } EDD_DIRECTDRAW_GLOBAL, *PEDD_DIRECTDRAW_GLOBAL;
 
  } EDD_DIRECTDRAW_GLOBAL, *PEDD_DIRECTDRAW_GLOBAL;

Revision as of 06:26, 27 April 2008

typedef struct _EDD_DIRECTDRAW_GLOBAL
{
/* 0x000 */    PVOID dhpdev;           /* The assign pdev */
/* 0x004 */    DWORD dwReserved1;
/* 0x008 */    DWORD dwReserved2;
/* 0x00C */    ULONG unk_000c[3];
/* 0x018 */    LONG cDriverReferences;
/* 0x01C */    ULONG unk_01c[3];
/* 0x028 */    LONGLONG llAssertModeTimeout;
/* 0x030 */    DWORD dwNumHeaps;
/* 0x034 */    VIDEOMEMORY *pvmList;
/* 0x038 */    DWORD dwNumFourCC;
/* 0x03C */    PDWORD pdwFourCC;
/* 0x040 */    DD_HALINFO ddHalInfo;
/* 0x1E0 */    ULONG unk_1e0[44];
/* 0x290 */    DD_CALLBACKS ddCallbacks;
/* 0x2C4 */    DD_SURFACECALLBACKS ddSurfaceCallbacks;
/* 0x304 */    DD_PALETTECALLBACKS ddPaletteCallbacks;
/* 0x314 */    ULONG unk_314[48];
/* 0x3D4 */    D3DNTHAL_CALLBACKS d3dNtHalCallbacks;
/* 0x460 */    ULONG unk_460[7];
/* 0x47C */    D3DNTHAL_CALLBACKS2 d3dNtHalCallbacks2;
/* 0x498 */    ULONG unk_498[18];
/* 0x4E0 */    DD_MISCELLANEOUSCALLBACKS ddMiscellanousCallbacks;
/* 0x4EC */    ULONG unk_4ec[18];
/* 0x534 */    D3DNTHAL_CALLBACKS3 d3dNtHalCallbacks3;
/* 0x54C */    ULONG unk_54c[23];
/* 0x5A8 */    EDD_DIRECTDRAW_LOCAL* peDirectDrawLocalList;
/* 0x5ac */    EDD_SURFACE* peSurface_LockList;
/* 0x5B0 */    FLONG fl;
/* 0x5B4 */    ULONG cSurfaceLocks;
/* 0x5B8 */    PKEVENT pAssertModeEvent;
/* 0x5Bc */    EDD_SURFACE *peSurfaceCurrent;
/* 0x5C0 */    EDD_SURFACE *peSurfacePrimary;
/* 0x5C4 */    BOOL bSuspended;
/* 0x5C8 */    ULONG unk_5c8[12];
/* 0x5F8 */    RECTL rcbounds;
/* 0x608 */    HDEV hDev;
/* 0x60c */    PVOID hPDev;  
} EDD_DIRECTDRAW_GLOBAL, *PEDD_DIRECTDRAW_GLOBAL;


partly updated for windows xp and windows 2003, the above struct is from yaun book

typedef struct _EDD_DIRECTDRAW_GLOBAL
{
/* 0x000 */    PVOID dhpdev;           
/* 0x004 */    DWORD dwReserved1;
/* 0x008 */    DWORD dwReserved2;
/* 0x00C */    ULONG unk_000c[3];
/* 0x018 */    LONG cDriverReferences;
/* 0x01C */    ULONG unk_01c[3];
/* 0x028 */    LARGE_INTEGER llAssertModeTimeout;
/* 0x030 */    DWORD dwNumHeaps;        <-- verify it match windows xp -->
/* 0x034 */    VIDEOMEMORY *pvmList;    <-- verify it match windows xp -->
/* 0x038 */    DWORD dwNumFourCC;
/* 0x03C */    PDWORD pdwFourCC;
/* 0x040 */    DD_HALINFO ddHalInfo;
/* 0x1E0 */    ULONG unk_1e0[46];
/* 0x298 */    DD_CALLBACKS ddCallbacks;                      <-- verify it match windows xp, -->
/* 0x2C0 */    DD_SURFACECALLBACKS ddSurfaceCallbacks;        <-- verify it match windows xp, -->
/* 0x304 */    DD_PALETTECALLBACKS ddPaletteCallbacks;
/* 0x314 */    ULONG unk_314[46];
/* 0x3D4 */    D3DNTHAL_CALLBACKS d3dNtHalCallbacks;
/* 0x460 */    ULONG unk_460[7];
/* 0x47C */    D3DNTHAL_CALLBACKS2 d3dNtHalCallbacks2;
/* 0x498 */    ULONG unk_498[18];
/* 0x4E0 */    DD_MISCELLANEOUSCALLBACKS ddMiscellanousCallbacks;
/* 0x4EC */    ULONG unk_4ec[18];
/* 0x534 */    D3DNTHAL_CALLBACKS3 d3dNtHalCallbacks3;
/* 0x54C */    ULONG unk_54c[23];
/* 0x5A8 */    EDD_DIRECTDRAW_LOCAL* peDirectDrawCurrentLocal; <---- verify it match windows xp, for it is always current local -->
/* 0x5ac */    EDD_SURFACE* peSurface_LockList;
/* 0x5B0 */    FLONG fl;
/* 0x5B4 */    ULONG cSurfaceLocks;
/* 0x5B8 */    PKEVENT pAssertModeEvent;
/* 0x5Bc */    EDD_SURFACE *peSurfaceCurrent;
/* 0x5C0 */    EDD_SURFACE *peSurfacePrimary;
/* 0x5C4 */    BOOL bSuspended;                             <---- verify it match windows xp,  ---->
/* 0x5C8 */    ULONG unk_5c8[12];
/* 0x5F8 */    RECTL rcbounds;
/* 0x608 */    ULONG unk_608;
/* 0x60c */    HDEV hDev;                                    <---- verify it match windows xp, The real Pdev, hDev -->
} EDD_DIRECTDRAW_GLOBAL, *PEDD_DIRECTDRAW_GLOBAL;