9 HANDLE hFile
= INVALID_HANDLE_VALUE
;
10 HANDLE hPrinter
= NULL
;
14 hFile
= CreateFileW(L
"testfile", GENERIC_READ
, 0, NULL
, OPEN_EXISTING
, 0, NULL
);
15 if (hFile
== INVALID_HANDLE_VALUE
)
17 printf("CreateFileW failed, last error is %lu!\n", GetLastError());
21 if (!ReadFile(hFile
, Buffer
, sizeof(Buffer
), &dwRead
, NULL
))
23 printf("ReadFile failed, last error is %lu!\n", GetLastError());
27 if (!OpenPrinterW(L
"Dummy Printer On LPT1", &hPrinter
, NULL
))
29 printf("OpenPrinterW failed, last error is %lu!\n", GetLastError());
33 ZeroMemory(&docInfo
, sizeof(docInfo
));
34 docInfo
.pDocName
= L
"winspool_print";
36 if (!StartDocPrinterW(hPrinter
, 1, (LPBYTE
)&docInfo
))
38 printf("StartDocPrinterW failed, last error is %lu!\n", GetLastError());
42 if (!StartPagePrinter(hPrinter
))
44 printf("StartPagePrinter failed, last error is %lu!\n", GetLastError());
48 if (!WritePrinter(hPrinter
, Buffer
, dwRead
, &dwWritten
))
50 printf("WritePrinter failed, last error is %lu!\n", GetLastError());
54 if (!EndPagePrinter(hPrinter
))
56 printf("EndPagePrinter failed, last error is %lu!\n", GetLastError());
60 if (!EndDocPrinter(hPrinter
))
62 printf("EndDocPrinter failed, last error is %lu!\n", GetLastError());
69 if (hFile
!= INVALID_HANDLE_VALUE
)
73 ClosePrinter(hPrinter
);