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];
63 memset(&vmList
,0,sizeof(VIDEOMEMORY
));
64 memset(&D3dTextureFormats
,0,sizeof(DDSURFACEDESC
));
65 memset(&D3dBufferCallbacks
,0,sizeof(DD_D3DBUFCALLBACKS
));
66 memset(&D3dDriverData
,0,sizeof(D3DNTHAL_GLOBALDRIVERDATA
));
67 memset(&D3dCallbacks
,0,sizeof(D3DNTHAL_CALLBACKS
));
68 memset(&HalInfo
,0,sizeof(DD_HALINFO
));
69 memset(CallBackFlags
,0,sizeof(DWORD
)*3);
71 printf("Start testing of NtGdiDdQueryDirectDrawObject\n");
73 /* testing OsThunkDdQueryDirectDrawObject( NULL, .... */
74 printf("testing DdQueryDirectDrawObject( NULL, ....)\n");
76 retValue
= OsThunkDdQueryDirectDrawObject( NULL
, pHalInfo
,
77 pCallBackFlags
, puD3dCallbacks
,
78 puD3dDriverData
, puD3dBufferCallbacks
,
79 puD3dTextureFormats
, puNumHeaps
,
80 puvmList
, puNumFourCC
,
82 testing_noteq(retValue
,FALSE
,fails
,"1. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
83 testing_noteq(pHalInfo
,NULL
,fails
,"2. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
84 testing_noteq(pCallBackFlags
,NULL
,fails
,"3. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
85 testing_noteq(puD3dCallbacks
,NULL
,fails
,"4. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
86 testing_noteq(puD3dDriverData
,NULL
,fails
,"5. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
87 testing_noteq(puD3dBufferCallbacks
,NULL
,fails
,"6. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
88 testing_noteq(puD3dTextureFormats
,NULL
,fails
,"7. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
89 testing_noteq(puNumFourCC
,NULL
,fails
,"8. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
90 testing_noteq(puFourCC
,NULL
,fails
,"9. NtGdiDdQueryDirectDrawObject(NULL, ...);\0");
92 /* testing OsThunkDdQueryDirectDrawObject( hDirectDrawLocal, NULL, .... */
93 printf("testing DdQueryDirectDrawObject( hDD, NULL, ....)\n");
95 retValue
= OsThunkDdQueryDirectDrawObject( hDirectDrawLocal
, pHalInfo
,
96 pCallBackFlags
, puD3dCallbacks
,
97 puD3dDriverData
, puD3dBufferCallbacks
,
98 puD3dTextureFormats
, puNumHeaps
,
99 puvmList
, puNumFourCC
,
102 testing_noteq(retValue
,FALSE
,fails
,"1. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
103 testing_noteq(pHalInfo
,NULL
,fails
,"2. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
104 testing_noteq(pCallBackFlags
,NULL
,fails
,"3. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
105 testing_noteq(puD3dCallbacks
,NULL
,fails
,"4. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
106 testing_noteq(puD3dDriverData
,NULL
,fails
,"5. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
107 testing_noteq(puD3dBufferCallbacks
,NULL
,fails
,"6. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
108 testing_noteq(puD3dTextureFormats
,NULL
,fails
,"7. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
109 testing_noteq(puNumFourCC
,NULL
,fails
,"8. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
110 testing_noteq(puFourCC
,NULL
,fails
,"9. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, NULL, ...);\0");
112 /* testing OsThunkDdQueryDirectDrawObject( hDirectDrawLocal, pHalInfo, NULL, .... */
113 printf("testing DdQueryDirectDrawObject( hDD, pHalInfo, NULL, ....)\n");
116 retValue
= OsThunkDdQueryDirectDrawObject( hDirectDrawLocal
, pHalInfo
,
117 pCallBackFlags
, puD3dCallbacks
,
118 puD3dDriverData
, puD3dBufferCallbacks
,
119 puD3dTextureFormats
, puNumHeaps
,
120 puvmList
, puNumFourCC
,
123 testing_noteq(retValue
,FALSE
,fails
,"1. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
124 testing_eq(pHalInfo
,NULL
,fails
,"2. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
125 testing_noteq(pCallBackFlags
,NULL
,fails
,"3. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
126 testing_noteq(puD3dCallbacks
,NULL
,fails
,"4. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
127 testing_noteq(puD3dDriverData
,NULL
,fails
,"5. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
128 testing_noteq(puD3dBufferCallbacks
,NULL
,fails
,"6. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
129 testing_noteq(puD3dTextureFormats
,NULL
,fails
,"7. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
130 testing_noteq(puNumFourCC
,NULL
,fails
,"8. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
131 testing_noteq(puFourCC
,NULL
,fails
,"9. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, NULL, ...);\0");
133 if ((pHalInfo
->dwSize
!= sizeof(DD_HALINFO
)) &&
134 (pHalInfo
->dwSize
!= sizeof(DD_HALINFO_V4
)))
136 printf("10. 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, ...)");
145 /* testing OsThunkDdQueryDirectDrawObject( hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, .... */
146 printf("testing DdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, NULL, ....)\n");
149 pCallBackFlags
= CallBackFlags
;
151 RtlZeroMemory(pHalInfo
,sizeof(DD_HALINFO
));
153 retValue
= OsThunkDdQueryDirectDrawObject( hDirectDrawLocal
, pHalInfo
,
154 pCallBackFlags
, puD3dCallbacks
,
155 puD3dDriverData
, puD3dBufferCallbacks
,
156 puD3dTextureFormats
, puNumHeaps
,
157 puvmList
, puNumFourCC
,
160 testing_noteq(retValue
,FALSE
,fails
,"1. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
161 testing_eq(pHalInfo
,NULL
,fails
,"2. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
162 testing_eq(pCallBackFlags
,NULL
,fails
,"3. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
163 testing_noteq(puD3dCallbacks
,NULL
,fails
,"4. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
164 testing_noteq(puD3dDriverData
,NULL
,fails
,"5. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
165 testing_noteq(puD3dBufferCallbacks
,NULL
,fails
,"6. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
166 testing_noteq(puD3dTextureFormats
,NULL
,fails
,"7. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
167 testing_noteq(puNumFourCC
,NULL
,fails
,"8. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
168 testing_noteq(puFourCC
,NULL
,fails
,"9. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\0");
169 if ((pHalInfo
->dwSize
!= sizeof(DD_HALINFO
)) &&
170 (pHalInfo
->dwSize
!= sizeof(DD_HALINFO_V4
)))
172 printf("10. if this show for NT 2000/XP/2003 ignore it, NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...);\n");
176 if (dumping_on
== TRUE
)
178 dump_halinfo(pHalInfo
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...)");
179 dump_CallBackFlags(pCallBackFlags
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...)");
182 /* testing OsThunkDdQueryDirectDrawObject( hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, .... */
183 printf("testing DdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ....)\n");
186 pCallBackFlags
= CallBackFlags
;
187 puD3dCallbacks
= &D3dCallbacks
;
189 RtlZeroMemory(pHalInfo
,sizeof(DD_HALINFO
));
190 RtlZeroMemory(pCallBackFlags
,sizeof(DWORD
)*3);
192 retValue
= OsThunkDdQueryDirectDrawObject( hDirectDrawLocal
, pHalInfo
,
193 pCallBackFlags
, puD3dCallbacks
,
194 puD3dDriverData
, puD3dBufferCallbacks
,
195 puD3dTextureFormats
, puNumHeaps
,
196 puvmList
, puNumFourCC
,
199 testing_noteq(retValue
,FALSE
,fails
,"1. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
200 testing_eq(pHalInfo
,NULL
,fails
,"2. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
201 testing_eq(pCallBackFlags
,NULL
,fails
,"3. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
202 testing_noteq(puD3dCallbacks
->dwSize
,sizeof(D3DNTHAL_CALLBACKS
),fails
,"4. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
204 testing_noteq(puD3dDriverData
,NULL
,fails
,"5. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
205 testing_noteq(puD3dBufferCallbacks
,NULL
,fails
,"6. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
206 testing_noteq(puD3dTextureFormats
,NULL
,fails
,"7. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
207 testing_noteq(puNumFourCC
,NULL
,fails
,"8. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
208 testing_noteq(puFourCC
,NULL
,fails
,"9. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
209 if ((pHalInfo
->dwSize
!= sizeof(DD_HALINFO
)) &&
210 (pHalInfo
->dwSize
!= sizeof(DD_HALINFO_V4
)))
212 printf("10. if this show for NT 2000/XP/2003 ignore it, NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\n");
216 if (dumping_on
== TRUE
)
218 dump_halinfo(pHalInfo
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...)");
219 dump_CallBackFlags(pCallBackFlags
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...)");
220 /* FIXME dump puD3dCallbacks */
223 /* testing OsThunkDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, */
224 printf("testing DdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ....)\n");
227 pCallBackFlags
= CallBackFlags
;
228 puD3dCallbacks
= &D3dCallbacks
;
229 puD3dDriverData
= &D3dDriverData
;
231 RtlZeroMemory(pHalInfo
,sizeof(DD_HALINFO
));
232 RtlZeroMemory(pCallBackFlags
,sizeof(DWORD
)*3);
233 RtlZeroMemory(puD3dCallbacks
,sizeof(D3DNTHAL_CALLBACKS
));
235 retValue
= OsThunkDdQueryDirectDrawObject( hDirectDrawLocal
, pHalInfo
,
236 pCallBackFlags
, puD3dCallbacks
,
237 puD3dDriverData
, puD3dBufferCallbacks
,
238 puD3dTextureFormats
, puNumHeaps
,
239 puvmList
, puNumFourCC
,
242 testing_noteq(retValue
,FALSE
,fails
,"1. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
243 testing_eq(pHalInfo
,NULL
,fails
,"2. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
244 testing_eq(pCallBackFlags
,NULL
,fails
,"3. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
245 testing_noteq(puD3dCallbacks
->dwSize
,sizeof(D3DNTHAL_CALLBACKS
),fails
,"4. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
247 testing_noteq(puD3dDriverData
->dwSize
,sizeof(D3DNTHAL_GLOBALDRIVERDATA
),fails
,"5. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, NULL, ...);\0");
249 testing_noteq(puD3dBufferCallbacks
,NULL
,fails
,"6. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
250 testing_noteq(puD3dTextureFormats
,NULL
,fails
,"7. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
251 testing_noteq(puNumFourCC
,NULL
,fails
,"8. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
252 testing_noteq(puFourCC
,NULL
,fails
,"9. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\0");
253 if ((pHalInfo
->dwSize
!= sizeof(DD_HALINFO
)) &&
254 (pHalInfo
->dwSize
!= sizeof(DD_HALINFO_V4
)))
256 printf("10. if this show for NT 2000/XP/2003 ignore it, NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, NULL, ...);\n");
260 if (dumping_on
== TRUE
)
262 dump_halinfo(pHalInfo
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...)");
263 dump_CallBackFlags(pCallBackFlags
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...)");
264 /* FIXME dump puD3dCallbacks */
265 /* FIXME dump puD3dDriverData */
268 /* testing OsThunkDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, D3dBufferCallbacks, NULL, */
269 printf("testing DdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, D3dBufferCallbacks, NULL, ....)\n");
272 pCallBackFlags
= CallBackFlags
;
273 puD3dCallbacks
= &D3dCallbacks
;
274 puD3dDriverData
= &D3dDriverData
;
275 puD3dBufferCallbacks
= &D3dBufferCallbacks
;
277 RtlZeroMemory(pHalInfo
,sizeof(DD_HALINFO
));
278 RtlZeroMemory(pCallBackFlags
,sizeof(DWORD
)*3);
279 RtlZeroMemory(puD3dCallbacks
,sizeof(D3DNTHAL_CALLBACKS
));
280 RtlZeroMemory(puD3dDriverData
,sizeof(D3DNTHAL_CALLBACKS
));
282 retValue
= OsThunkDdQueryDirectDrawObject( hDirectDrawLocal
, pHalInfo
,
283 pCallBackFlags
, puD3dCallbacks
,
284 puD3dDriverData
, puD3dBufferCallbacks
,
285 puD3dTextureFormats
, puNumHeaps
,
286 puvmList
, puNumFourCC
,
289 testing_noteq(retValue
,FALSE
,fails
,"1. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\0");
290 testing_eq(pHalInfo
,NULL
,fails
,"2. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\0");
291 testing_eq(pCallBackFlags
,NULL
,fails
,"3. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\0");
292 testing_noteq(puD3dCallbacks
->dwSize
,sizeof(D3DNTHAL_CALLBACKS
),fails
,"4. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\0");
294 testing_noteq(puD3dDriverData
->dwSize
,sizeof(D3DNTHAL_GLOBALDRIVERDATA
),fails
,"5. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dBufferCallbacks, NULL, ...);\0");
296 testing_noteq(puD3dTextureFormats
,NULL
,fails
,"6. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\0");
297 testing_noteq(puNumFourCC
,NULL
,fails
,"7. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\0");
298 testing_noteq(puFourCC
,NULL
,fails
,"8. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\0");
299 if ((pHalInfo
->dwSize
!= sizeof(DD_HALINFO
)) &&
300 (pHalInfo
->dwSize
!= sizeof(DD_HALINFO_V4
)))
302 printf("9. if this show for NT 2000/XP/2003 ignore it, NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL, ...);\n");
306 if (puD3dBufferCallbacks
)
308 testing_noteq(puD3dBufferCallbacks
->dwSize
,sizeof(DD_D3DBUFCALLBACKS
),fails
,"11. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, NULL...);\0");
311 if (dumping_on
== TRUE
)
313 dump_halinfo(pHalInfo
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...)");
314 dump_CallBackFlags(pCallBackFlags
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...)");
315 /* FIXME dump puD3dCallbacks */
316 /* FIXME dump puD3dDriverData */
317 /* FIXME dump D3dBufferCallbacks */
321 /* testing OsThunkDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, D3dBufferCallbacks, puD3dTextureFormats, NULL, */
322 printf("testing DdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, D3dBufferCallbacks, puD3dTextureFormats, NULL, ....)\n");
325 pCallBackFlags
= CallBackFlags
;
326 puD3dCallbacks
= &D3dCallbacks
;
327 puD3dDriverData
= &D3dDriverData
;
328 puD3dBufferCallbacks
= &D3dBufferCallbacks
;
330 RtlZeroMemory(pHalInfo
,sizeof(DD_HALINFO
));
331 RtlZeroMemory(pCallBackFlags
,sizeof(DWORD
)*3);
332 RtlZeroMemory(puD3dCallbacks
,sizeof(D3DNTHAL_CALLBACKS
));
333 //RtlZeroMemory(puD3dDriverData,sizeof(D3DNTHAL_CALLBACKS));
334 RtlZeroMemory(&D3dBufferCallbacks
,sizeof(D3DNTHAL_CALLBACKS
));
338 puD3dTextureFormats
= malloc (puD3dDriverData
->dwNumTextureFormats
* sizeof(DDSURFACEDESC2
));
339 if (!puD3dTextureFormats
)
340 printf("Waring Out of memory\n");
342 RtlZeroMemory(puD3dTextureFormats
, puD3dDriverData
->dwNumTextureFormats
* sizeof(DDSURFACEDESC2
));
345 retValue
= OsThunkDdQueryDirectDrawObject( hDirectDrawLocal
, pHalInfo
,
346 pCallBackFlags
, puD3dCallbacks
,
347 puD3dDriverData
, puD3dBufferCallbacks
,
348 puD3dTextureFormats
, puNumHeaps
,
349 puvmList
, puNumFourCC
,
352 testing_noteq(retValue
,FALSE
,fails
,"1. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\0");
353 testing_eq(pHalInfo
,NULL
,fails
,"2. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\0");
354 testing_eq(pCallBackFlags
,NULL
,fails
,"3. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\0");
355 testing_noteq(puD3dCallbacks
->dwSize
,sizeof(D3DNTHAL_CALLBACKS
),fails
,"4. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\0");
357 testing_noteq(puD3dDriverData
->dwSize
,sizeof(D3DNTHAL_GLOBALDRIVERDATA
),fails
,"5. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\0");
359 testing_noteq(puNumFourCC
,NULL
,fails
,"6. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\0");
360 testing_noteq(puFourCC
,NULL
,fails
,"7. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\0");
361 if ((pHalInfo
->dwSize
!= sizeof(DD_HALINFO
)) &&
362 (pHalInfo
->dwSize
!= sizeof(DD_HALINFO_V4
)))
364 printf("8. if this show for NT 2000/XP/2003 ignore it, NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, ...);\n");
368 if (puD3dBufferCallbacks
)
370 testing_noteq(puD3dBufferCallbacks
->dwSize
,sizeof(DD_D3DBUFCALLBACKS
),fails
,"9. NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL...);\0");
373 if (puD3dTextureFormats
)
375 /* fixme test case for it */
378 if (dumping_on
== TRUE
)
380 dump_halinfo(pHalInfo
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...)");
381 dump_CallBackFlags(pCallBackFlags
,"NtGdiDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, NULL, ...)");
382 /* FIXME dump puD3dCallbacks */
383 /* FIXME dump puD3dDriverData */
384 /* FIXME dump D3dBufferCallbacks */
385 /* FIXME dump puD3dTextureFormats */
392 if (puD3dTextureFormats
)
393 free (puD3dTextureFormats
);
394 show_status(fails
, "NtGdiDdQueryDirectDrawObject\0");