\r
/* FIXME DD_HALINFO_V4 test */\r
\r
- RtlCopyMemory(&oldHalInfo, &HalInfo, sizeof(DD_HALINFO));\r
+/* Next Start 2 */\r
+ RtlCopyMemory(&oldHalInfo, &HalInfo, sizeof(DD_HALINFO));\r
\r
pHalInfo = &HalInfo;\r
pCallBackFlags = CallBackFlags;\r
RtlZeroMemory(pHalInfo,sizeof(DD_HALINFO));\r
+\r
RTEST(NtGdiDdQueryDirectDrawObject( hDirectDraw, pHalInfo, \r
pCallBackFlags, puD3dCallbacks, \r
puD3dDriverData, puD3dBufferCallbacks, \r
\r
/* We do not retesting DD_HALINFO, instead we compare it */\r
RTEST(memcmp(&oldHalInfo, pHalInfo, sizeof(DD_HALINFO)) == 0);\r
+ RTEST(pCallBackFlags[0] != 0);\r
+ RTEST(pCallBackFlags[1] != 0);\r
+\r
+ /* NT4 this will fail */\r
+ RTEST(pCallBackFlags[2] == 0);\r
+\r
+/* Next Start 3 */\r
+ pHalInfo = &HalInfo;\r
+ pCallBackFlags = CallBackFlags;\r
+ puD3dCallbacks = &D3dCallbacks;\r
+\r
+ RtlZeroMemory(pHalInfo,sizeof(DD_HALINFO));\r
+ RtlZeroMemory(pCallBackFlags,sizeof(DWORD)*3);\r
\r
+ RTEST(NtGdiDdQueryDirectDrawObject( hDirectDraw, pHalInfo, \r
+ pCallBackFlags, puD3dCallbacks, \r
+ puD3dDriverData, puD3dBufferCallbacks, \r
+ puD3dTextureFormats, puNumHeaps, \r
+ puvmList, puNumFourCC,\r
+ puFourCC)== FALSE);\r
+ RTEST(pHalInfo != NULL);\r
+ RTEST(pCallBackFlags != NULL);\r
+\r
+ if (pHalInfo->ddCaps.ddsCaps.dwCaps & DDSCAPS_3DDEVICE )\r
+ {\r
+ RTEST(puD3dCallbacks != NULL);\r
+ }\r
+\r
+ RTEST(puD3dDriverData == NULL);\r
+ RTEST(puD3dBufferCallbacks == NULL);\r
+ RTEST(puD3dTextureFormats == NULL);\r
+ RTEST(puNumFourCC == NULL);\r
+ RTEST(puFourCC == NULL);\r
+ ASSERT1(pHalInfo != NULL);\r
\r
+ /* We do not retesting DD_HALINFO, instead we compare it */\r
+ RTEST(memcmp(&oldHalInfo, pHalInfo, sizeof(DD_HALINFO)) == 0);\r
+ RTEST(pCallBackFlags[0] != 0);\r
+ RTEST(pCallBackFlags[1] != 0);\r
+\r
+ /* NT4 this will fail */\r
+ RTEST(pCallBackFlags[2] == 0);\r
+\r
+/* Next Start 4 */\r
+ pHalInfo = &HalInfo;\r
+ pCallBackFlags = CallBackFlags;\r
+ puD3dCallbacks = &D3dCallbacks;\r
+ puD3dDriverData = &D3dDriverData;\r
+\r
+ RtlZeroMemory(pHalInfo,sizeof(DD_HALINFO));\r
+ RtlZeroMemory(pCallBackFlags,sizeof(DWORD)*3);\r
+ RtlZeroMemory(puD3dCallbacks,sizeof(D3DNTHAL_CALLBACKS));\r
+\r
+ RTEST(NtGdiDdQueryDirectDrawObject( hDirectDraw, pHalInfo, \r
+ pCallBackFlags, puD3dCallbacks, \r
+ puD3dDriverData, puD3dBufferCallbacks, \r
+ puD3dTextureFormats, puNumHeaps, \r
+ puvmList, puNumFourCC,\r
+ puFourCC)== FALSE);\r
+ RTEST(pHalInfo != NULL);\r
+ RTEST(pCallBackFlags != NULL);\r
+\r
+ if (pHalInfo->ddCaps.ddsCaps.dwCaps & DDSCAPS_3DDEVICE )\r
+ {\r
+ RTEST(puD3dCallbacks != NULL);\r
+ RTEST(puD3dDriverData != NULL);\r
+ }\r
+\r
+ RTEST(puD3dBufferCallbacks == NULL);\r
+ RTEST(puD3dTextureFormats == NULL);\r
+ RTEST(puNumFourCC == NULL);\r
+ RTEST(puFourCC == NULL);\r
+ ASSERT1(pHalInfo != NULL);\r
+\r
+ /* We do not retesting DD_HALINFO, instead we compare it */\r
+ RTEST(memcmp(&oldHalInfo, pHalInfo, sizeof(DD_HALINFO)) == 0);\r
+ RTEST(pCallBackFlags[0] != 0);\r
+ RTEST(pCallBackFlags[1] != 0);\r
+\r
+ /* NT4 this will fail */\r
+ RTEST(pCallBackFlags[2] == 0);\r
+\r
+/* Next Start 5 */\r
+ pHalInfo = &HalInfo;\r
+ pCallBackFlags = CallBackFlags;\r
+ puD3dCallbacks = &D3dCallbacks;\r
+ puD3dDriverData = &D3dDriverData;\r
+ puD3dBufferCallbacks = &D3dBufferCallbacks;\r
+\r
+ RtlZeroMemory(pHalInfo,sizeof(DD_HALINFO));\r
+ RtlZeroMemory(pCallBackFlags,sizeof(DWORD)*3);\r
+ RtlZeroMemory(puD3dCallbacks,sizeof(D3DNTHAL_CALLBACKS));\r
+ RtlZeroMemory(puD3dDriverData,sizeof(D3DNTHAL_CALLBACKS));\r
+\r
+ RTEST(NtGdiDdQueryDirectDrawObject( hDirectDraw, pHalInfo, \r
+ pCallBackFlags, puD3dCallbacks, \r
+ puD3dDriverData, puD3dBufferCallbacks, \r
+ puD3dTextureFormats, puNumHeaps, \r
+ puvmList, puNumFourCC,\r
+ puFourCC)== FALSE);\r
+ RTEST(pHalInfo != NULL);\r
+ RTEST(pCallBackFlags != NULL);\r
+\r
+ if (pHalInfo->ddCaps.ddsCaps.dwCaps & DDSCAPS_3DDEVICE )\r
+ {\r
+ RTEST(puD3dCallbacks != NULL);\r
+ RTEST(puD3dDriverData != NULL);\r
+ }\r
+\r
+ RTEST(puD3dBufferCallbacks == NULL);\r
+ RTEST(puD3dTextureFormats == NULL);\r
+ RTEST(puNumFourCC == NULL);\r
+ RTEST(puFourCC == NULL);\r
+ ASSERT1(pHalInfo != NULL);\r
+\r
+ /* We do not retesting DD_HALINFO, instead we compare it */\r
+ RTEST(memcmp(&oldHalInfo, pHalInfo, sizeof(DD_HALINFO)) == 0);\r
+ RTEST(pCallBackFlags[0] != 0);\r
+ RTEST(pCallBackFlags[1] != 0);\r
+\r
+ /* NT4 this will fail */\r
+ RTEST(pCallBackFlags[2] == 0);\r
+\r
+\r
+\r
+/* Next Start 6 */\r
+ //pHalInfo = &HalInfo;\r
+ //pCallBackFlags = CallBackFlags;\r
+ //puD3dCallbacks = &D3dCallbacks;\r
+ //puD3dDriverData = &D3dDriverData;\r
+ //puD3dBufferCallbacks = &D3dBufferCallbacks;\r
+\r
+ //RtlZeroMemory(pHalInfo,sizeof(DD_HALINFO));\r
+ //RtlZeroMemory(pCallBackFlags,sizeof(DWORD)*3);\r
+ //RtlZeroMemory(puD3dCallbacks,sizeof(D3DNTHAL_CALLBACKS));\r
+ ////RtlZeroMemory(puD3dDriverData,sizeof(D3DNTHAL_CALLBACKS));\r
+ //RtlZeroMemory(&D3dBufferCallbacks,sizeof(D3DNTHAL_CALLBACKS));\r
+\r
+ //RTEST(NtGdiDdQueryDirectDrawObject( hDirectDraw, pHalInfo, \r
+ // pCallBackFlags, puD3dCallbacks, \r
+ // puD3dDriverData, puD3dBufferCallbacks, \r
+ // puD3dTextureFormats, puNumHeaps, \r
+ // puvmList, puNumFourCC,\r
+ // puFourCC)== FALSE);\r
+ //RTEST(pHalInfo != NULL);\r
+ //RTEST(pCallBackFlags != NULL);\r
+\r
+ //if (pHalInfo->ddCaps.ddsCaps.dwCaps & DDSCAPS_3DDEVICE )\r
+ //{\r
+ // RTEST(puD3dCallbacks != NULL);\r
+ // RTEST(puD3dDriverData != NULL);\r
+ // RTEST(puD3dBufferCallbacks != NULL);\r
+ //}\r
+\r
+\r
+ //RTEST(puD3dTextureFormats == NULL);\r
+ //RTEST(puNumFourCC == NULL);\r
+ //RTEST(puFourCC == NULL);\r
+ //ASSERT1(pHalInfo != NULL);\r
+\r
+ ///* We do not retesting DD_HALINFO, instead we compare it */\r
+ //RTEST(memcmp(&oldHalInfo, pHalInfo, sizeof(DD_HALINFO)) == 0);\r
+ //RTEST(pCallBackFlags[0] != 0);\r
+ //RTEST(pCallBackFlags[1] != 0);\r
+\r
+ ///* NT4 this will fail */\r
+ //RTEST(pCallBackFlags[2] == 0);\r
+\r
+\r
+/* FIXME \r
+ RTEST(puD3dTextureFormats == NULL);\r
+ RTEST(puNumFourCC == NULL);\r
+ RTEST(puFourCC == NULL);\r
+*/\r
/* Cleanup ReactX setup */\r
DeleteDC(hdc);\r
Syscall(L"NtGdiDdDeleteDirectDrawObject", 1, &hDirectDraw);\r