Fix so lest you can run now win32kdxtest one time with ms dxg.sys, and second time the win32kdxtest runs the whole win32k.sys or dxg.sys create nice blue screen.

svn path=/trunk/; revision=33011
This commit is contained in:
Magnus Olsen 2008-04-17 22:03:34 +00:00
parent 6b9e9dfb11
commit 500a6e9384

View file

@ -126,10 +126,9 @@ HANDLE
STDCALL STDCALL
NtGdiDdCreateDirectDrawObject(HDC hdc) NtGdiDdCreateDirectDrawObject(HDC hdc)
{ {
PGD_DDCREATEDIRECTDRAWOBJECT pfnDdCreateDirectDrawObject = NULL; PGD_DDCREATEDIRECTDRAWOBJECT pfnDdCreateDirectDrawObject = (PGD_DDCREATEDIRECTDRAWOBJECT)gpDxFuncs[DXG_INDEX_DxDdCreateDirectDrawObject].pfn;
NTSTATUS Status; NTSTATUS Status;
PEPROCESS Proc = NULL; PEPROCESS Proc = NULL;
INT i=0;
if (hdc == NULL) if (hdc == NULL)
{ {
@ -146,9 +145,6 @@ NtGdiDdCreateDirectDrawObject(HDC hdc)
return 0; return 0;
} }
/* This is in correct place */
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdCreateDirectDrawObject, pfnDdCreateDirectDrawObject);
if (pfnDdCreateDirectDrawObject == NULL) if (pfnDdCreateDirectDrawObject == NULL)
{ {
DPRINT1("Warning: no pfnDdCreateDirectDrawObject\n"); DPRINT1("Warning: no pfnDdCreateDirectDrawObject\n");
@ -220,10 +216,7 @@ DWORD
STDCALL STDCALL
NtGdiDdGetDriverState(PDD_GETDRIVERSTATEDATA pdata) NtGdiDdGetDriverState(PDD_GETDRIVERSTATEDATA pdata)
{ {
PGD_DDGETDRIVERSTATE pfnDdGetDriverState = NULL; PGD_DDGETDRIVERSTATE pfnDdGetDriverState = (PGD_DDGETDRIVERSTATE)gpDxFuncs[DXG_INDEX_DxDdGetDriverState].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdGetDriverState, pfnDdGetDriverState);
if (pfnDdGetDriverState == NULL) if (pfnDdGetDriverState == NULL)
{ {
@ -243,10 +236,7 @@ STDCALL
NtGdiDdColorControl(HANDLE hSurface, NtGdiDdColorControl(HANDLE hSurface,
PDD_COLORCONTROLDATA puColorControlData) PDD_COLORCONTROLDATA puColorControlData)
{ {
PGD_DDCOLORCONTROL pfnDdColorControl = NULL; PGD_DDCOLORCONTROL pfnDdColorControl = (PGD_DDCOLORCONTROL)gpDxFuncs[DXG_INDEX_DxDdColorControl].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdColorControl, pfnDdColorControl);
if (pfnDdColorControl == NULL) if (pfnDdColorControl == NULL)
{ {
@ -271,10 +261,7 @@ NtGdiDdCreateSurfaceObject(HANDLE hDirectDrawLocal,
BOOL bComplete BOOL bComplete
) )
{ {
PGD_DXDDCREATESURFACEOBJECT pfnDdCreateSurfaceObject = NULL; PGD_DXDDCREATESURFACEOBJECT pfnDdCreateSurfaceObject = (PGD_DXDDCREATESURFACEOBJECT)gpDxFuncs[DXG_INDEX_DxDdCreateSurfaceObject].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdCreateSurfaceObject, pfnDdCreateSurfaceObject);
if (pfnDdCreateSurfaceObject == NULL) if (pfnDdCreateSurfaceObject == NULL)
{ {
@ -293,10 +280,7 @@ BOOL
STDCALL STDCALL
NtGdiDdDeleteDirectDrawObject(HANDLE hDirectDrawLocal) NtGdiDdDeleteDirectDrawObject(HANDLE hDirectDrawLocal)
{ {
PGD_DXDDDELETEDIRECTDRAWOBJECT pfnDdDeleteDirectDrawObject = NULL; PGD_DXDDDELETEDIRECTDRAWOBJECT pfnDdDeleteDirectDrawObject = (PGD_DXDDDELETEDIRECTDRAWOBJECT)gpDxFuncs[DXG_INDEX_DxDdDeleteDirectDrawObject].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdDeleteDirectDrawObject, pfnDdDeleteDirectDrawObject);
if (pfnDdDeleteDirectDrawObject == NULL) if (pfnDdDeleteDirectDrawObject == NULL)
{ {
@ -315,10 +299,7 @@ BOOL
STDCALL STDCALL
NtGdiDdDeleteSurfaceObject(HANDLE hSurface) NtGdiDdDeleteSurfaceObject(HANDLE hSurface)
{ {
PGD_DXDDDELETESURFACEOBJECT pfnDdDeleteSurfaceObject = NULL; PGD_DXDDDELETESURFACEOBJECT pfnDdDeleteSurfaceObject = (PGD_DXDDDELETESURFACEOBJECT)gpDxFuncs[DXG_INDEX_DxDdDeleteSurfaceObject].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdDeleteSurfaceObject, pfnDdDeleteSurfaceObject);
if (pfnDdDeleteSurfaceObject == NULL) if (pfnDdDeleteSurfaceObject == NULL)
{ {
@ -347,10 +328,7 @@ NtGdiDdQueryDirectDrawObject(HANDLE hDirectDrawLocal,
DWORD *puNumFourCC, DWORD *puNumFourCC,
DWORD *puFourCC) DWORD *puFourCC)
{ {
PGD_DXDDQUERYDIRECTDRAWOBJECT pfnDdQueryDirectDrawObject = NULL; PGD_DXDDQUERYDIRECTDRAWOBJECT pfnDdQueryDirectDrawObject = (PGD_DXDDQUERYDIRECTDRAWOBJECT)gpDxFuncs[DXG_INDEX_DxDdQueryDirectDrawObject].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdQueryDirectDrawObject, pfnDdQueryDirectDrawObject);
if (pfnDdQueryDirectDrawObject == NULL) if (pfnDdQueryDirectDrawObject == NULL)
{ {
@ -372,10 +350,7 @@ STDCALL
NtGdiDdReenableDirectDrawObject(HANDLE hDirectDrawLocal, NtGdiDdReenableDirectDrawObject(HANDLE hDirectDrawLocal,
BOOL *pubNewMode) BOOL *pubNewMode)
{ {
PGD_DXDDREENABLEDIRECTDRAWOBJECT pfnDdReenableDirectDrawObject = NULL; PGD_DXDDREENABLEDIRECTDRAWOBJECT pfnDdReenableDirectDrawObject = (PGD_DXDDREENABLEDIRECTDRAWOBJECT)gpDxFuncs[DXG_INDEX_DxDdReenableDirectDrawObject].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdReenableDirectDrawObject, pfnDdReenableDirectDrawObject);
if (pfnDdReenableDirectDrawObject == NULL) if (pfnDdReenableDirectDrawObject == NULL)
{ {
@ -397,10 +372,7 @@ NtGdiDdGetDriverInfo(HANDLE hDirectDrawLocal,
PDD_GETDRIVERINFODATA puGetDriverInfoData) PDD_GETDRIVERINFODATA puGetDriverInfoData)
{ {
PGD_DXDDGETDRIVERINFO pfnDdGetDriverInfo = NULL; PGD_DXDDGETDRIVERINFO pfnDdGetDriverInfo = (PGD_DXDDGETDRIVERINFO)gpDxFuncs[DXG_INDEX_DxDdGetDriverInfo].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdGetDriverInfo, pfnDdGetDriverInfo);
if (pfnDdGetDriverInfo == NULL) if (pfnDdGetDriverInfo == NULL)
{ {
@ -421,10 +393,7 @@ STDCALL
NtGdiDdGetAvailDriverMemory(HANDLE hDirectDrawLocal, NtGdiDdGetAvailDriverMemory(HANDLE hDirectDrawLocal,
PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData) PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData)
{ {
PGD_DXDDGETAVAILDRIVERMEMORY pfnDdGetAvailDriverMemory = NULL; PGD_DXDDGETAVAILDRIVERMEMORY pfnDdGetAvailDriverMemory = (PGD_DXDDGETAVAILDRIVERMEMORY)gpDxFuncs[DXG_INDEX_DxDdGetAvailDriverMemory].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdGetAvailDriverMemory, pfnDdGetAvailDriverMemory);
if (pfnDdGetAvailDriverMemory == NULL) if (pfnDdGetAvailDriverMemory == NULL)
{ {
@ -446,10 +415,7 @@ STDCALL
NtGdiDdSetExclusiveMode(HANDLE hDirectDraw, NtGdiDdSetExclusiveMode(HANDLE hDirectDraw,
PDD_SETEXCLUSIVEMODEDATA puSetExclusiveModeData) PDD_SETEXCLUSIVEMODEDATA puSetExclusiveModeData)
{ {
PGD_DXDDSETEXCLUSIVEMODE pfnDdSetExclusiveMode = NULL; PGD_DXDDSETEXCLUSIVEMODE pfnDdSetExclusiveMode = (PGD_DXDDSETEXCLUSIVEMODE)gpDxFuncs[DXG_INDEX_DxDdSetExclusiveMode].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdSetExclusiveMode, pfnDdSetExclusiveMode);
if (pfnDdSetExclusiveMode == NULL) if (pfnDdSetExclusiveMode == NULL)
{ {
@ -471,10 +437,7 @@ STDCALL
NtGdiDdFlipToGDISurface(HANDLE hDirectDraw, NtGdiDdFlipToGDISurface(HANDLE hDirectDraw,
PDD_FLIPTOGDISURFACEDATA puFlipToGDISurfaceData) PDD_FLIPTOGDISURFACEDATA puFlipToGDISurfaceData)
{ {
PGD_DXDDFLIPTOGDISURFACE pfnDdFlipToGDISurface = NULL; PGD_DXDDFLIPTOGDISURFACE pfnDdFlipToGDISurface = (PGD_DXDDFLIPTOGDISURFACE)gpDxFuncs[DXG_INDEX_DxDdFlipToGDISurface].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdFlipToGDISurface, pfnDdFlipToGDISurface);
if (pfnDdFlipToGDISurface == NULL) if (pfnDdFlipToGDISurface == NULL)
{ {
@ -495,10 +458,7 @@ STDCALL
NtGdiDdGetDC(HANDLE hSurface, NtGdiDdGetDC(HANDLE hSurface,
PALETTEENTRY *puColorTable) PALETTEENTRY *puColorTable)
{ {
PGD_DDGETDC pfnDdGetDC = NULL; PGD_DDGETDC pfnDdGetDC = (PGD_DDGETDC)gpDxFuncs[DXG_INDEX_DxDdGetDC].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdGetDC, pfnDdGetDC);
if (pfnDdGetDC == NULL) if (pfnDdGetDC == NULL)
{ {
@ -519,11 +479,7 @@ NtGdiDdGetDxHandle(HANDLE hDirectDraw,
HANDLE hSurface, HANDLE hSurface,
BOOL bRelease) BOOL bRelease)
{ {
PGD_DDGETDXHANDLE pfnDdGetDxHandle = (PGD_DDGETDXHANDLE)gpDxFuncs[DXG_INDEX_DxDdGetDxHandle].pfn;
PGD_DDGETDXHANDLE pfnDdGetDxHandle = NULL;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdGetDxHandle, pfnDdGetDxHandle);
if (pfnDdGetDxHandle == NULL) if (pfnDdGetDxHandle == NULL)
{ {
@ -543,10 +499,7 @@ BOOL
STDCALL STDCALL
NtGdiDdReleaseDC(HANDLE hSurface) NtGdiDdReleaseDC(HANDLE hSurface)
{ {
PGD_DDRELEASEDC pfnDdReleaseDC = NULL; PGD_DDRELEASEDC pfnDdReleaseDC = (PGD_DDRELEASEDC)gpDxFuncs[DXG_INDEX_DxDdReleaseDC].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdReleaseDC, pfnDdReleaseDC);
if (pfnDdReleaseDC == NULL) if (pfnDdReleaseDC == NULL)
{ {
@ -567,10 +520,7 @@ NtGdiDdResetVisrgn(HANDLE hSurface,
HWND hwnd) HWND hwnd)
{ {
PGD_DDRESTVISRGN pfnDdResetVisrgn = NULL; PGD_DDRESTVISRGN pfnDdResetVisrgn = (PGD_DDRESTVISRGN)gpDxFuncs[DXG_INDEX_DxDdResetVisrgn].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdResetVisrgn, pfnDdResetVisrgn);
if (pfnDdResetVisrgn == NULL) if (pfnDdResetVisrgn == NULL)
{ {
@ -591,10 +541,7 @@ NtGdiDdSetGammaRamp(HANDLE hDirectDraw,
HDC hdc, HDC hdc,
LPVOID lpGammaRamp) LPVOID lpGammaRamp)
{ {
PGD_DDSETGAMMARAMP pfnDdSetGammaRamp = NULL; PGD_DDSETGAMMARAMP pfnDdSetGammaRamp = (PGD_DDSETGAMMARAMP)gpDxFuncs[DXG_INDEX_DxDdSetGammaRamp].pfn;
INT i;
DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDdSetGammaRamp, pfnDdSetGammaRamp);
if (pfnDdSetGammaRamp == NULL) if (pfnDdSetGammaRamp == NULL)
{ {