#include /* SDK/DDK/NDK Headers. */ #include #include #include #include #include #include #include "test.h" /* * Test see if we can delete a DirectDrawObject from win32k * */ void test_NtGdiDdCanCreateSurface(HANDLE hDirectDrawLocal) { int fails=0; BOOL retValue=FALSE; DDHAL_CANCREATESURFACEDATA pCanCreateSurface; DDSURFACEDESC2 desc; RtlZeroMemory(&pCanCreateSurface,sizeof(DDHAL_CANCREATESURFACEDATA)); RtlZeroMemory(&desc,sizeof(DDSURFACEDESC2)); /* crash in windows 2000 */ retValue = OsThunkDdCanCreateSurface(NULL,NULL); testing_eq(retValue, DDHAL_DRIVER_HANDLED,fails,"1. NtGdiDdCanCreateSurface(NULL,NULL);\0"); retValue = OsThunkDdCanCreateSurface(hDirectDrawLocal,NULL); testing_eq(retValue, DDHAL_DRIVER_HANDLED,fails,"2. NtGdiDdCanCreateSurface(hDirectDrawLocal,NULL);\0"); retValue = OsThunkDdCanCreateSurface(hDirectDrawLocal,(PDD_CANCREATESURFACEDATA)&pCanCreateSurface); testing_eq(retValue, DDHAL_DRIVER_HANDLED,fails,"3. NtGdiDdCanCreateSurface(hDirectDrawLocal,pCanCreateSurface);\0"); pCanCreateSurface.lpDDSurfaceDesc = (DDSURFACEDESC*)&desc; desc.dwSize = sizeof(DDSURFACEDESC2); retValue = OsThunkDdCanCreateSurface(hDirectDrawLocal,(PDD_CANCREATESURFACEDATA)&pCanCreateSurface); testing_eq(retValue, DDHAL_DRIVER_HANDLED,fails,"4. NtGdiDdCanCreateSurface(hDirectDrawLocal,pCanCreateSurface);\0"); }