2 /* SDK/DDK/NDK Headers. */
7 #include <dll/directx/d3d8thk.h>
10 extern BOOL dumping_on
;
19 * Test see if we can setup DirectDrawObject
25 * 1. add more testcase it is only some, but we do not test for all case
26 * that happen only some
28 * 2.Fixed the false alaret for drivers only support 2d dx interface
30 * 3. fixed the dumping of d3d struct.
35 test_NtGdiDdQueryDirectDrawObject( HANDLE hDirectDrawLocal
)
40 DD_HALINFO
*pHalInfo
= NULL
;
41 DWORD
*pCallBackFlags
= NULL
;
42 LPD3DNTHAL_CALLBACKS puD3dCallbacks
= NULL
;
43 LPD3DNTHAL_GLOBALDRIVERDATA puD3dDriverData
= NULL
;
44 PDD_D3DBUFCALLBACKS puD3dBufferCallbacks
= NULL
;
45 LPDDSURFACEDESC puD3dTextureFormats
= NULL
;
46 DWORD
*puNumHeaps
= NULL
;
47 VIDEOMEMORY
*puvmList
= NULL
;
48 DWORD
*puNumFourCC
= NULL
;
49 DWORD
*puFourCC
= NULL
;
52 DWORD CallBackFlags
[4];
53 D3DNTHAL_CALLBACKS D3dCallbacks
;
54 D3DNTHAL_GLOBALDRIVERDATA D3dDriverData
;
55 DD_D3DBUFCALLBACKS D3dBufferCallbacks
;
56 DDSURFACEDESC2 D3dTextureFormats
[100];
60 memset(&vmList
,0,sizeof(VIDEOMEMORY
));
61 memset(&D3dTextureFormats
,0,sizeof(DDSURFACEDESC
));
62 memset(&D3dBufferCallbacks
,0,sizeof(DD_D3DBUFCALLBACKS
));
63 memset(&D3dDriverData
,0,sizeof(D3DNTHAL_GLOBALDRIVERDATA
));
64 memset(&D3dCallbacks
,0,sizeof(D3DNTHAL_CALLBACKS
));
65 memset(&HalInfo
,0,sizeof(DD_HALINFO
));
66 memset(CallBackFlags
,0,sizeof(DWORD
)*3);
68 printf("Start testing of NtGdiDdQueryDirectDrawObject\n");
70 /* testing OsThunkDdQueryDirectDrawObject( NULL, .... */
71 printf("testing DdQueryDirectDrawObject( NULL, ....)\n");
73 retValue
= OsThunkDdQueryDirectDrawObject( NULL
, pHalInfo
,
74 pCallBackFlags
, puD3dCallbacks
,
75 puD3dDriverData
, puD3dBufferCallbacks
,
76 puD3dTextureFormats
, puNumHeaps
,
77 puvmList
, puNumFourCC
,
80 testing_noteq(retValue
,FALSE
,fails
,"1. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
81 testing_noteq(pHalInfo
,NULL
,fails
,"2. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
82 testing_noteq(pCallBackFlags
,NULL
,fails
,"3. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
83 testing_noteq(puD3dCallbacks
,NULL
,fails
,"4. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
84 testing_noteq(puD3dDriverData
,NULL
,fails
,"5. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
85 testing_noteq(puD3dBufferCallbacks
,NULL
,fails
,"6. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
86 testing_noteq(puD3dTextureFormats
,NULL
,fails
,"7. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
87 testing_noteq(puNumFourCC
,NULL
,fails
,"8. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
88 testing_noteq(puFourCC
,NULL
,fails
,"9. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
90 /* testing OsThunkDdQueryDirectDrawObject( hDirectDrawLocal, NULL, .... */
91 printf("testing DdQueryDirectDrawObject( hDD, NULL, ....)\n");
93 retValue
= OsThunkDdQueryDirectDrawObject( hDirectDrawLocal
, pHalInfo
,
94 pCallBackFlags
, puD3dCallbacks
,
95 puD3dDriverData
, puD3dBufferCallbacks
,
96 puD3dTextureFormats
, puNumHeaps
,
97 puvmList
, puNumFourCC
,
100 testing_noteq(retValue
,FALSE
,fails
,"10. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
101 testing_noteq(pHalInfo
,NULL
,fails
,"11. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
102 testing_noteq(pCallBackFlags
,NULL
,fails
,"12. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
103 testing_noteq(puD3dCallbacks
,NULL
,fails
,"13. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
104 testing_noteq(puD3dDriverData
,NULL
,fails
,"14. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
105 testing_noteq(puD3dBufferCallbacks
,NULL
,fails
,"15. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
106 testing_noteq(puD3dTextureFormats
,NULL
,fails
,"16. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
107 testing_noteq(puNumFourCC
,NULL
,fails
,"17. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
108 testing_noteq(puFourCC
,NULL
,fails
,"18. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
110 /* testing OsThunkDdQueryDirectDrawObject( hDirectDrawLocal, pHalInfo, NULL, .... */
111 printf("testing DdQueryDirectDrawObject( hDD, pHalInfo, NULL, ....)\n");
114 retValue
= OsThunkDdQueryDirectDrawObject( hDirectDrawLocal
, pHalInfo
,
115 pCallBackFlags
, puD3dCallbacks
,
116 puD3dDriverData
, puD3dBufferCallbacks
,
117 puD3dTextureFormats
, puNumHeaps
,
118 puvmList
, puNumFourCC
,
121 testing_noteq(retValue
,FALSE
,fails
,"19. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
122 testing_eq(pHalInfo
,NULL
,fails
,"20. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
123 testing_noteq(pCallBackFlags
,NULL
,fails
,"21. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
124 testing_noteq(puD3dCallbacks
,NULL
,fails
,"22. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
125 testing_noteq(puD3dDriverData
,NULL
,fails
,"23. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
126 testing_noteq(puD3dBufferCallbacks
,NULL
,fails
,"24. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
127 testing_noteq(puD3dTextureFormats
,NULL
,fails
,"25. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
128 testing_noteq(puNumFourCC
,NULL
,fails
,"26. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
129 testing_noteq(puFourCC
,NULL
,fails
,"27. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
132 if ((pHalInfo->dwSize != sizeof(DD_HALINFO)) &&
133 (pHalInfo->dwSize != sizeof(DD_HALINFO_V4)))
135 printf("28. if this show for NT 2000/XP/2003 ignore it, NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\n");
140 if (dumping_on
== TRUE
)
142 dump_halinfo(pHalInfo
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...)");
157 /* testing OsThunkDdQueryDirectDrawObject( hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, .... */
158 printf("testing DdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, NULL, ....)\n");
161 pCallBackFlags
= CallBackFlags
;
163 RtlZeroMemory(pHalInfo
,sizeof(DD_HALINFO
));
165 retValue
= OsThunkDdQueryDirectDrawObject( hDirectDrawLocal
, pHalInfo
,
166 pCallBackFlags
, puD3dCallbacks
,
167 puD3dDriverData
, puD3dBufferCallbacks
,
168 puD3dTextureFormats
, puNumHeaps
,
169 puvmList
, puNumFourCC
,
172 testing_noteq(retValue
,FALSE
,fails
,"29. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
173 testing_eq(pHalInfo
,NULL
,fails
,"30. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
174 testing_eq(pCallBackFlags
,NULL
,fails
,"31. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
175 testing_noteq(puD3dCallbacks
,NULL
,fails
,"32. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
176 testing_noteq(puD3dDriverData
,NULL
,fails
,"33. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
177 testing_noteq(puD3dBufferCallbacks
,NULL
,fails
,"34. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
178 testing_noteq(puD3dTextureFormats
,NULL
,fails
,"35. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
179 testing_noteq(puNumFourCC
,NULL
,fails
,"36. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
180 testing_noteq(puFourCC
,NULL
,fails
,"37. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
182 if ((pHalInfo->dwSize != sizeof(DD_HALINFO)) &&
183 (pHalInfo->dwSize != sizeof(DD_HALINFO_V4)))
185 printf("38. if this show for NT 2000/XP/2003 ignore it, NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\n");
190 if (dumping_on
== TRUE
)
192 dump_halinfo(pHalInfo
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...)");
193 dump_CallBackFlags(pCallBackFlags
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...)");
196 /* testing OsThunkDdQueryDirectDrawObject( hDirectDrawLocal, pHalInfo, pCallBackFlags, D3dCallbacks, .... */
197 printf("testing DdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ....)\n");
200 pCallBackFlags
= CallBackFlags
;
201 puD3dCallbacks
= &D3dCallbacks
;
203 RtlZeroMemory(pHalInfo
,sizeof(DD_HALINFO
));
204 RtlZeroMemory(pCallBackFlags
,sizeof(DWORD
)*3);
206 retValue
= OsThunkDdQueryDirectDrawObject( hDirectDrawLocal
, pHalInfo
,
207 pCallBackFlags
, puD3dCallbacks
,
208 puD3dDriverData
, puD3dBufferCallbacks
,
209 puD3dTextureFormats
, puNumHeaps
,
210 puvmList
, puNumFourCC
,
213 testing_noteq(retValue
,FALSE
,fails
,"39. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
214 testing_eq(pHalInfo
,NULL
,fails
,"40. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
215 testing_eq(pCallBackFlags
,NULL
,fails
,"41. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
218 testing_noteq(puD3dCallbacks
->dwSize
,sizeof(D3DNTHAL_CALLBACKS
),fails
,"42. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
220 testing_noteq(puD3dDriverData
,NULL
,fails
,"43. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
221 testing_noteq(puD3dBufferCallbacks
,NULL
,fails
,"44. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
222 testing_noteq(puD3dTextureFormats
,NULL
,fails
,"45. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
223 testing_noteq(puNumFourCC
,NULL
,fails
,"46. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
224 testing_noteq(puFourCC
,NULL
,fails
,"47. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
226 if ((pHalInfo->dwSize != sizeof(DD_HALINFO)) &&
227 (pHalInfo->dwSize != sizeof(DD_HALINFO_V4)))
229 printf("48. if this show for NT 2000/XP/2003 ignore it, NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\n");
234 if (dumping_on
== TRUE
)
236 dump_halinfo(pHalInfo
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...)");
237 dump_CallBackFlags(pCallBackFlags
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...)");
238 dump_D3dCallbacks(puD3dCallbacks
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...)");
241 /* testing OsThunkDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, */
242 printf("testing DdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ....)\n");
245 pCallBackFlags
= CallBackFlags
;
246 puD3dCallbacks
= &D3dCallbacks
;
247 puD3dDriverData
= &D3dDriverData
;
249 RtlZeroMemory(pHalInfo
,sizeof(DD_HALINFO
));
250 RtlZeroMemory(pCallBackFlags
,sizeof(DWORD
)*3);
251 RtlZeroMemory(puD3dCallbacks
,sizeof(D3DNTHAL_CALLBACKS
));
253 retValue
= OsThunkDdQueryDirectDrawObject( hDirectDrawLocal
, pHalInfo
,
254 pCallBackFlags
, puD3dCallbacks
,
255 puD3dDriverData
, puD3dBufferCallbacks
,
256 puD3dTextureFormats
, puNumHeaps
,
257 puvmList
, puNumFourCC
,
260 testing_noteq(retValue
,FALSE
,fails
,"49. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
261 testing_eq(pHalInfo
,NULL
,fails
,"50. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
262 testing_eq(pCallBackFlags
,NULL
,fails
,"51. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
263 testing_noteq(puD3dCallbacks
->dwSize
,sizeof(D3DNTHAL_CALLBACKS
),fails
,"52. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
265 testing_noteq(puD3dDriverData
->dwSize
,sizeof(D3DNTHAL_GLOBALDRIVERDATA
),fails
,"53. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
267 testing_noteq(puD3dBufferCallbacks
,NULL
,fails
,"54. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
268 testing_noteq(puD3dTextureFormats
,NULL
,fails
,"55. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
269 testing_noteq(puNumFourCC
,NULL
,fails
,"56. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
270 testing_noteq(puFourCC
,NULL
,fails
,"57. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
272 if ((pHalInfo->dwSize != sizeof(DD_HALINFO)) &&
273 (pHalInfo->dwSize != sizeof(DD_HALINFO_V4)))
275 printf("58. if this show for NT 2000/XP/2003 ignore it, NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\n");
280 if (dumping_on
== TRUE
)
282 dump_halinfo(pHalInfo
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...)");
283 dump_CallBackFlags(pCallBackFlags
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...)");
284 dump_D3dCallbacks(puD3dCallbacks
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...)");
285 dump_D3dDriverData(puD3dDriverData
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...)");
288 /* testing OsThunkDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, D3dBufferCallbacks, NULL, */
289 printf("testing DdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, D3dBufferCallbacks, NULL, ....)\n");
292 pCallBackFlags
= CallBackFlags
;
293 puD3dCallbacks
= &D3dCallbacks
;
294 puD3dDriverData
= &D3dDriverData
;
295 puD3dBufferCallbacks
= &D3dBufferCallbacks
;
297 RtlZeroMemory(pHalInfo
,sizeof(DD_HALINFO
));
298 RtlZeroMemory(pCallBackFlags
,sizeof(DWORD
)*3);
299 RtlZeroMemory(puD3dCallbacks
,sizeof(D3DNTHAL_CALLBACKS
));
300 RtlZeroMemory(puD3dDriverData
,sizeof(D3DNTHAL_CALLBACKS
));
302 retValue
= OsThunkDdQueryDirectDrawObject( hDirectDrawLocal
, pHalInfo
,
303 pCallBackFlags
, puD3dCallbacks
,
304 puD3dDriverData
, puD3dBufferCallbacks
,
305 puD3dTextureFormats
, puNumHeaps
,
306 puvmList
, puNumFourCC
,
309 testing_noteq(retValue
,FALSE
,fails
,"59. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\0");
310 testing_eq(pHalInfo
,NULL
,fails
,"60. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\0");
311 testing_eq(pCallBackFlags
,NULL
,fails
,"61. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\0");
312 testing_noteq(puD3dCallbacks
->dwSize
,sizeof(D3DNTHAL_CALLBACKS
),fails
,"62. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\0");
314 testing_noteq(puD3dDriverData
->dwSize
,sizeof(D3DNTHAL_GLOBALDRIVERDATA
),fails
,"63. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dBufferCallbacks, NULL, ...);\0");
316 testing_noteq(puD3dTextureFormats
,NULL
,fails
,"64. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\0");
317 testing_noteq(puNumFourCC
,NULL
,fails
,"65. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\0");
318 testing_noteq(puFourCC
,NULL
,fails
,"66. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\0");
320 if ((pHalInfo->dwSize != sizeof(DD_HALINFO)) &&
321 (pHalInfo->dwSize != sizeof(DD_HALINFO_V4)))
323 printf("67. if this show for NT 2000/XP/2003 ignore it, NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\n");
328 if (puD3dBufferCallbacks
)
330 testing_noteq(puD3dBufferCallbacks
->dwSize
,sizeof(DD_D3DBUFCALLBACKS
),fails
,"68. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL...);\0");
333 if (dumping_on
== TRUE
)
335 dump_halinfo(pHalInfo
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...)");
336 dump_CallBackFlags(pCallBackFlags
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...)");
337 dump_D3dCallbacks(puD3dCallbacks
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...)");
338 dump_D3dDriverData(puD3dDriverData
, "NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...)");
339 dump_D3dBufferCallbacks(puD3dBufferCallbacks
, "NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...)");
342 /* testing OsThunkDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, D3dBufferCallbacks, puD3dTextureFormats, NULL, */
343 printf("testing DdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, D3dBufferCallbacks, puD3dTextureFormats, NULL, ....)\n");
346 pCallBackFlags
= CallBackFlags
;
347 puD3dCallbacks
= &D3dCallbacks
;
348 puD3dDriverData
= &D3dDriverData
;
349 puD3dBufferCallbacks
= &D3dBufferCallbacks
;
353 puD3dTextureFormats
= malloc (puD3dDriverData
->dwNumTextureFormats
* sizeof(DDSURFACEDESC2
));
354 if (!puD3dTextureFormats
)
355 printf("Waring Out of memory\n");
357 RtlZeroMemory(puD3dTextureFormats
, puD3dDriverData
->dwNumTextureFormats
* sizeof(DDSURFACEDESC2
));
360 retValue
= OsThunkDdQueryDirectDrawObject( hDirectDrawLocal
, pHalInfo
,
361 pCallBackFlags
, puD3dCallbacks
,
362 puD3dDriverData
, puD3dBufferCallbacks
,
363 puD3dTextureFormats
, puNumHeaps
,
364 puvmList
, puNumFourCC
,
371 testing_noteq(retValue
,FALSE
,fails
,"69. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\0");
372 testing_eq(pHalInfo
,NULL
,fails
,"70. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\0");
373 testing_eq(pCallBackFlags
,NULL
,fails
,"71. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\0");
375 /* does not work nice in xp */
376 // testing_noteq(puD3dCallbacks->dwSize,sizeof(D3DNTHAL_CALLBACKS),fails,"72. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\0");
378 testing_noteq(puD3dDriverData
->dwSize
,sizeof(D3DNTHAL_GLOBALDRIVERDATA
),fails
,"73. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\0");
380 testing_noteq(puNumFourCC
,NULL
,fails
,"74. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\0");
381 testing_noteq(puFourCC
,NULL
,fails
,"75. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\0");
384 // if ((pHalInfo->dwSize != sizeof(DD_HALINFO)) &&
385 // (pHalInfo->dwSize != sizeof(DD_HALINFO_V4)))
387 // printf("8. if this show for NT 2000/XP/2003 ignore it, NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\n");
392 if (puD3dBufferCallbacks
)
395 testing_noteq(puD3dBufferCallbacks
->dwSize
,sizeof(DD_D3DBUFCALLBACKS
),fails
,"76. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL...);\0");
398 if (puD3dTextureFormats
)
400 /* fixme test case for it */
403 if (dumping_on
== TRUE
)
405 dump_halinfo(pHalInfo
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...)");
406 dump_CallBackFlags(pCallBackFlags
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...)");
407 dump_D3dCallbacks(puD3dCallbacks
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...)");
408 dump_D3dDriverData(puD3dDriverData
, "NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...)");
409 dump_D3dBufferCallbacks(puD3dBufferCallbacks
, "NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...)");
410 dump_D3dTextureFormats(puD3dTextureFormats
, puD3dDriverData
->dwNumTextureFormats
, "NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...)");
417 if (puD3dTextureFormats
)
418 free (puD3dTextureFormats
);
419 show_status(fails
, "NtGdiDdQueryDirectDrawObject\0");