no new code, only fixed some more members in EDD_DIRECTDRAW_GLOBAL struct, and copy some private note to it.

svn path=/trunk/; revision=33159
This commit is contained in:
Magnus Olsen 2008-04-27 09:41:21 +00:00
parent 72aa848eff
commit a5e7b91fe0
3 changed files with 331 additions and 315 deletions

View file

@ -102,9 +102,22 @@ typedef struct _EDD_DIRECTDRAW_GLOBAL
/* 0x008 */ DWORD dwReserved2;
/* 0x00C */ ULONG unk_000c[3];
/* 0x018 */ LONG cDriverReferences;
/* 0x01C */ ULONG unk_01c[3];
/* 0x01C */ ULONG unk_01c;
/* 0x020 */ DWORD dwCallbackFlags; /* <-- verify it match windows xp, dwCallbackFlags
Flags value
0x0001 = GUID_MiscellaneousCallbacks
0x0002 = ddVideoPortCallback and GUID_VideoPortCaps
0x0004 = GUID_ColorControlCallbacks
0x0040 = GUID_MotionCompCallbacks
0x0080 = GUID_Miscellaneous2Callbacks
0x0100 = GUID_DDMoreCaps
0x0200 = GUID_D3DCallbacks3
0x0400 = GUID_NTCallbacks
*/
/* 0x024 */ ULONG unk_024;
#ifdef _WIN32
/* 0x028 */ LARGE_INTEGER llAssertModeTimeout;
/* 0x028 */ LARGE_INTEGER llAssertModeTimeout; // 0x028 <-- verify it match windows xp, llAssertModeTimeout
#else
/* 0x028 */ DWORD llAssertModeTimeoutLowPart;
/* 0x02C */ DWORD llAssertModeTimeoutHighPart;
@ -122,7 +135,7 @@ typedef struct _EDD_DIRECTDRAW_GLOBAL
/* 0x3D4 */ D3DNTHAL_CALLBACKS d3dNtHalCallbacks;
/* 0x460 */ ULONG unk_460[7];
/* 0x47C */ D3DNTHAL_CALLBACKS2 d3dNtHalCallbacks2;
/* 0x498 */ ULONG unk_498[18];
/* 0x498 */ DD_VIDEOPORTCALLBACKS ddVideoPortCallback; // 0x498 <-- verify it match windows xp, ddVideoPortCallback
/* 0x4E0 */ DD_MISCELLANEOUSCALLBACKS ddMiscellanousCallbacks;
/* 0x4EC */ ULONG unk_4ec[18];
/* 0x534 */ D3DNTHAL_CALLBACKS3 d3dNtHalCallbacks3;

View file

@ -196,7 +196,7 @@ typedef DWORD (NTAPI *PGD_DXGENERICTRUNK)(ULONG_PTR, ULONG_PTR, SIZE_T*, PVOID,
//typedef x (NTAPI *PGD_DxDvpReleaseNotification)(
//typedef x (NTAPI *PGD_DxDdHeapVidMemAllocAligned)(
//typedef x (NTAPI *PGD_DxDdHeapVidMemFree)(
//typedef x (NTAPI *PGD_DxDdEnableDirectDraw)(
typedef BOOLEAN (NTAPI *PGD_DXDDENABLEDIRECTDRAW)(PVOID, BOOLEAN);
//typedef x (NTAPI *PGD_DxDdDisableDirectDraw)(
//typedef x (NTAPI *PGD_DxDdSuspendDirectDraw)(
//typedef x (NTAPI *PGD_DxDdResumeDirectDraw)(

View file

@ -761,9 +761,9 @@ void dump_edd_directdraw_global(EDD_DIRECTDRAW_GLOBAL *pEddgbl)
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_000c[1] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_000c[1]) - (DWORD)pEddgbl),pEddgbl->unk_000c[1]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_000c[2] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_000c[2]) - (DWORD)pEddgbl),pEddgbl->unk_000c[2]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->cDriverReferences : 0x%08lx\n",(((DWORD)&pEddgbl->cDriverReferences) - (DWORD)pEddgbl),pEddgbl->cDriverReferences);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_01c[0] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_01c[0]) - (DWORD)pEddgbl),pEddgbl->unk_01c[0]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_01c[1] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_01c[1]) - (DWORD)pEddgbl),pEddgbl->unk_01c[1]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_01c[2] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_01c[2]) - (DWORD)pEddgbl),pEddgbl->unk_01c[2]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_01c : 0x%08lx\n",(((DWORD)&pEddgbl->unk_01c) - (DWORD)pEddgbl),pEddgbl->unk_01c);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->dwCallbackFlags : 0x%08lx\n",(((DWORD)&pEddgbl->dwCallbackFlags) - (DWORD)pEddgbl),pEddgbl->dwCallbackFlags);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_024 : 0x%08lx\n",(((DWORD)&pEddgbl->unk_024) - (DWORD)pEddgbl),pEddgbl->unk_024);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->llAssertModeTimeout : 0x%x\n",(((DWORD)&pEddgbl->llAssertModeTimeout) - (DWORD)pEddgbl),pEddgbl->llAssertModeTimeout);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->dwNumHeaps : 0x%08lx\n",(((DWORD)&pEddgbl->dwNumHeaps) - (DWORD)pEddgbl),pEddgbl->dwNumHeaps);
// VIDEOMEMORY *pvmList;
@ -905,24 +905,25 @@ void dump_edd_directdraw_global(EDD_DIRECTDRAW_GLOBAL *pEddgbl)
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_460[6] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_460[6]) - (DWORD)pEddgbl),pEddgbl->unk_460[6]);
// D3DNTHAL_CALLBACKS2 d3dNtHalCallbacks2;
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->d3dNtHalCallbacks2 : 0x%08lx\n",(((DWORD)&pEddgbl->d3dNtHalCallbacks2) - (DWORD)pEddgbl),pEddgbl->d3dNtHalCallbacks2);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[0] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[0]) - (DWORD)pEddgbl),pEddgbl->unk_498[0]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[1] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[1]) - (DWORD)pEddgbl),pEddgbl->unk_498[1]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[2] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[2]) - (DWORD)pEddgbl),pEddgbl->unk_498[2]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[3] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[3]) - (DWORD)pEddgbl),pEddgbl->unk_498[3]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[4] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[4]) - (DWORD)pEddgbl),pEddgbl->unk_498[4]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[5] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[5]) - (DWORD)pEddgbl),pEddgbl->unk_498[5]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[6] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[6]) - (DWORD)pEddgbl),pEddgbl->unk_498[6]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[7] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[7]) - (DWORD)pEddgbl),pEddgbl->unk_498[7]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[8] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[8]) - (DWORD)pEddgbl),pEddgbl->unk_498[8]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[9] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[9]) - (DWORD)pEddgbl),pEddgbl->unk_498[9]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[10] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[10]) - (DWORD)pEddgbl),pEddgbl->unk_498[10]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[11] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[11]) - (DWORD)pEddgbl),pEddgbl->unk_498[11]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[12] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[12]) - (DWORD)pEddgbl),pEddgbl->unk_498[12]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[13] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[13]) - (DWORD)pEddgbl),pEddgbl->unk_498[13]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[14] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[14]) - (DWORD)pEddgbl),pEddgbl->unk_498[14]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[15] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[15]) - (DWORD)pEddgbl),pEddgbl->unk_498[15]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[16] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[16]) - (DWORD)pEddgbl),pEddgbl->unk_498[16]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_498[17] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_498[17]) - (DWORD)pEddgbl),pEddgbl->unk_498[17]);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.dwSize : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.dwSize) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.dwSize);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.dwFlags : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.dwFlags) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.dwFlags);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.CanCreateVideoPort : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.CanCreateVideoPort) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.CanCreateVideoPort);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.CreateVideoPort : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.CreateVideoPort) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.CreateVideoPort);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.FlipVideoPort : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.FlipVideoPort) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.FlipVideoPort);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoPortBandwidth : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.GetVideoPortBandwidth) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.GetVideoPortBandwidth);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoPortInputFormats : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.GetVideoPortInputFormats) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.GetVideoPortInputFormats);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoPortOutputFormats : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.GetVideoPortOutputFormats) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.GetVideoPortOutputFormats);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.lpReserved1 : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.lpReserved1) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.lpReserved1);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoPortField : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.GetVideoPortField) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.GetVideoPortField);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoPortLine : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.GetVideoPortLine) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.GetVideoPortLine);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoPortConnectInfo : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.GetVideoPortConnectInfo) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.GetVideoPortConnectInfo);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.DestroyVideoPort : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.DestroyVideoPort) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.DestroyVideoPort);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoPortFlipStatus : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.GetVideoPortFlipStatus) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.GetVideoPortFlipStatus);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.UpdateVideoPort : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.UpdateVideoPort) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.UpdateVideoPort);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.WaitForVideoPortSync : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.WaitForVideoPortSync) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.WaitForVideoPortSync);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoSignalStatus : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.GetVideoSignalStatus) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.GetVideoSignalStatus);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.ColorControl : 0x%08lx\n",(((DWORD)&pEddgbl->ddVideoPortCallback.ColorControl) - (DWORD)pEddgbl),pEddgbl->ddVideoPortCallback.ColorControl);
// DD_MISCELLANEOUSCALLBACKS ddMiscellanousCallbacks;
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->ddMiscellanousCallbacks : 0x%08lx\n",(((DWORD)&pEddgbl->ddMiscellanousCallbacks) - (DWORD)pEddgbl),pEddgbl->ddMiscellanousCallbacks);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_GLOBAL->unk_4ec[0] : 0x%08lx\n",(((DWORD)&pEddgbl->unk_4ec[0]) - (DWORD)pEddgbl),pEddgbl->unk_4ec[0]);
@ -1088,6 +1089,8 @@ void dump_edd_directdraw_local(PEDD_DIRECTDRAW_LOCAL pEddlcl)
DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->unk_048 : 0x%08lx\n",(((DWORD)&pEddlcl->unk_048) - (DWORD)pEddlcl), pEddlcl->unk_048);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->unk_04C : 0x%08lx\n",(((DWORD)&pEddlcl->unk_04C) - (DWORD)pEddlcl), pEddlcl->unk_04C);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->unk_050 : 0x%08lx\n",(((DWORD)&pEddlcl->unk_050) - (DWORD)pEddlcl), pEddlcl->unk_050);
DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->unk_050 : 0x%08lx\n",(((DWORD)&pEddlcl->unk_050) - (DWORD)pEddlcl), pEddlcl->unk_050);
}
void