add SetPrinterDataExW.exe.
[gd/win32-spoolss/.git] / DocPrinter.c
1 /******************************************************************
2  * SPOOLSS regression testing code for Samba print servers
3  *
4  *****************************************************************/
5
6 #include <windows.h>
7 #include <stdio.h>
8 #include <string.h>
9 #include <stdlib.h>
10 #include "printlib.h"
11
12
13 int main (int argc, char* argv[])
14 {
15
16         HANDLE  printer;
17         DOC_INFO_1      buffer;
18
19
20         if (argc < 2)
21         {
22                 fprintf (stderr, "useage: %s <printername>\n", argv[0]);
23                 exit (-1);
24         }
25
26         if (!OpenPrinter (argv[1], &printer, NULL))
27         {
28                 fprintf (stderr, "Unable to open %s!\n", argv[1]);
29                 exit (-1);
30         }
31         else
32         {
33                 printf ("Printer [%s] opened successfully.\n\n", argv[1]);
34         }
35
36         buffer.pDocName         = _strdup("Testing StartDocPrinter");
37         buffer.pDatatype        = _strdup("RAW");
38         buffer.pOutputFile      = NULL;
39
40         printf ("Attempting to call StartDocPrinter() using DOC_INFO_1 :\n");
41         print_doc_info_1 (&buffer);
42         printf ("\n");
43
44         if (StartDocPrinter (printer, 1, (LPBYTE)&buffer))
45                 printf ("Document spooled sucessfully\n");
46         else
47                 PrintLastError();
48         printf ("\n");
49
50
51         printf ("Attempting to call EndDocPrinter\n");
52         if (EndDocPrinter (printer))
53                 printf ("Document removed from spool sucessfully\n");
54         else
55                 PrintLastError();
56         printf ("\n");
57
58
59
60         if (!ClosePrinter(printer))
61         {
62                 fprintf (stderr, "Error closing printer!\n");
63                 exit (-1);
64         }
65         else
66         {
67                 printf ("Printer [%s] closed successfully.\n", argv[1]);
68         }
69
70         return 0;
71
72 }