mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 04:26:00 +00:00
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:
parent
6b9e9dfb11
commit
500a6e9384
1 changed files with 33 additions and 86 deletions
|
@ -103,7 +103,7 @@ DxDdStartupDxGraphics( ULONG ulc1,
|
||||||
for (t=0;t<=DXG_INDEX_DxDdIoctl;t++)
|
for (t=0;t<=DXG_INDEX_DxDdIoctl;t++)
|
||||||
{
|
{
|
||||||
gpDxFuncs[lstDrvFN[t].iFunc].iFunc =lstDrvFN[t].iFunc;
|
gpDxFuncs[lstDrvFN[t].iFunc].iFunc =lstDrvFN[t].iFunc;
|
||||||
gpDxFuncs[lstDrvFN[t].iFunc].pfn =lstDrvFN[t].pfn;
|
gpDxFuncs[lstDrvFN[t].iFunc].pfn =lstDrvFN[t].pfn;
|
||||||
}
|
}
|
||||||
DPRINT1("DirectX interface is activated\n");
|
DPRINT1("DirectX interface is activated\n");
|
||||||
}
|
}
|
||||||
|
@ -126,11 +126,10 @@ 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)
|
||||||
{
|
{
|
||||||
DPRINT1("Warning : hdc is NULL\n");
|
DPRINT1("Warning : hdc is NULL\n");
|
||||||
|
@ -145,10 +144,7 @@ NtGdiDdCreateDirectDrawObject(HDC hdc)
|
||||||
DPRINT1("Warning : Failed to create the directx interface\n");
|
DPRINT1("Warning : Failed to create the directx interface\n");
|
||||||
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,11 +236,8 @@ 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)
|
||||||
{
|
{
|
||||||
DPRINT1("Warning: no pfnDdColorControl\n");
|
DPRINT1("Warning: no pfnDdColorControl\n");
|
||||||
|
@ -271,11 +261,8 @@ 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)
|
||||||
{
|
{
|
||||||
DPRINT1("Warning: no pfnDdCreateSurfaceObject\n");
|
DPRINT1("Warning: no pfnDdCreateSurfaceObject\n");
|
||||||
|
@ -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,11 +328,8 @@ 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)
|
||||||
{
|
{
|
||||||
DPRINT1("Warning: no pfnDdQueryDirectDrawObject\n");
|
DPRINT1("Warning: no pfnDdQueryDirectDrawObject\n");
|
||||||
|
@ -372,11 +350,8 @@ 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)
|
||||||
{
|
{
|
||||||
DPRINT1("Warning: no pfnDdReenableDirectDrawObject\n");
|
DPRINT1("Warning: no pfnDdReenableDirectDrawObject\n");
|
||||||
|
@ -397,11 +372,8 @@ 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)
|
||||||
{
|
{
|
||||||
DPRINT1("Warning: no pfnDdGetDriverInfo\n");
|
DPRINT1("Warning: no pfnDdGetDriverInfo\n");
|
||||||
|
@ -421,11 +393,8 @@ 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)
|
||||||
{
|
{
|
||||||
DPRINT1("Warning: no pfnDdGetAvailDriverMemory\n");
|
DPRINT1("Warning: no pfnDdGetAvailDriverMemory\n");
|
||||||
|
@ -446,11 +415,8 @@ 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)
|
||||||
{
|
{
|
||||||
DPRINT1("Warning: no pfnDdSetExclusiveMode\n");
|
DPRINT1("Warning: no pfnDdSetExclusiveMode\n");
|
||||||
|
@ -471,11 +437,8 @@ 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)
|
||||||
{
|
{
|
||||||
DPRINT1("Warning: no pfnDdFlipToGDISurface\n");
|
DPRINT1("Warning: no pfnDdFlipToGDISurface\n");
|
||||||
|
@ -495,11 +458,8 @@ 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)
|
||||||
{
|
{
|
||||||
DPRINT1("Warning: no pfnDdGetDC\n");
|
DPRINT1("Warning: no pfnDdGetDC\n");
|
||||||
|
@ -518,13 +478,9 @@ STDCALL
|
||||||
NtGdiDdGetDxHandle(HANDLE hDirectDraw,
|
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)
|
||||||
{
|
{
|
||||||
DPRINT1("Warning: no pfnDdGetDxHandle\n");
|
DPRINT1("Warning: no pfnDdGetDxHandle\n");
|
||||||
|
@ -543,11 +499,8 @@ 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)
|
||||||
{
|
{
|
||||||
DPRINT1("Warning: no pfnDdReleaseDC\n");
|
DPRINT1("Warning: no pfnDdReleaseDC\n");
|
||||||
|
@ -567,11 +520,8 @@ 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)
|
||||||
{
|
{
|
||||||
DPRINT1("Warning: no pfnDdResetVisrgn\n");
|
DPRINT1("Warning: no pfnDdResetVisrgn\n");
|
||||||
|
@ -591,11 +541,8 @@ 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)
|
||||||
{
|
{
|
||||||
DPRINT1("Warning: no pfnDdSetGammaRamp\n");
|
DPRINT1("Warning: no pfnDdSetGammaRamp\n");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue