1 2 3 /* All testcase are base how windows 2000 sp4 acting */ 4 5 6 #include <stdio.h> 7 /* SDK/DDK/NDK Headers. */ 8 #include <windows.h> 9 #include <wingdi.h> 10 #include <winddi.h> 11 #include <d3dnthal.h> 12 #include <dll/directx/d3d8thk.h> 13 #include "test.h" 14 15 BOOL dumping_on =FALSE; 16 FILE *fs_file; 17 18 /* we using d3d8thk.dll it is doing the real syscall in windows 2000 19 * in ReactOS and Windows XP and higher d3d8thk.dll it linking to 20 * gdi32.dll instead doing syscall, gdi32.dll export DdEntry1-56 21 * and doing the syscall direcly. I did forget about it, This 22 * test program are now working on any Windows and ReactOS 23 * that got d3d8thk.dll 24 */ 25 26 int main(int argc, char **argv) 27 { 28 HANDLE hDirectDrawLocal; 29 30 if (argc == 2) 31 { 32 if (stricmp(argv[1],"-dump")==0) 33 { 34 dumping_on = TRUE; 35 } 36 37 if ( (stricmp(argv[1],"-help")==0) || 38 (stricmp(argv[1],"-?")==0) || 39 (stricmp(argv[1],"/help")==0) || 40 (stricmp(argv[1],"/?")==0) ) 41 { 42 printf("the %s support follow param \n",argv[0]); 43 printf("-dump : It dump all data it resvie to screen \n"); 44 printf("-dumpfile filename : It dump all data it resvie to file \n"); 45 printf("\nrember u can only use one of them at time \n"); 46 exit(1); 47 } 48 } 49 50 if (argc == 3) 51 { 52 if (stricmp(argv[1],"-dumpfile")==0) 53 { 54 /* create or over write a file in binary mode, and redirect printf to the file */ 55 if ( (fs_file = freopen(argv[2], "wb", stdout)) != NULL) 56 { 57 dumping_on = TRUE; 58 } 59 } 60 } 61 62 hDirectDrawLocal = test_NtGdiDdCreateDirectDrawObject(); 63 64 test_NtGdiDdQueryDirectDrawObject(hDirectDrawLocal); 65 66 test_NtGdiDdGetScanLine(hDirectDrawLocal); 67 68 test_NtGdiDdWaitForVerticalBlank(hDirectDrawLocal); 69 70 test_NtGdiDdCanCreateSurface(hDirectDrawLocal); 71 72 test_NtGdiDdDeleteDirectDrawObject(hDirectDrawLocal); 73 74 if (fs_file != NULL) 75 { 76 fclose(fs_file); 77 } 78 return 0; 79 } 80 81 82 83 84 85 86 87 88 89 90 91 92