add Makefile.
[gd/win32-spoolss/.git] / AbortPrinter.c
1 /******************************************************************
2  * SPOOLSS regression testing code for Samba print servers
3  *
4  *****************************************************************/
5
6 #include <windows.h>
7 #include <stdio.h>
8
9
10 int main (int argc, char* argv[])
11 {
12
13         HANDLE  printer;
14         LPVOID lpMsgBuf;
15
16
17         if (argc < 2)
18         {
19                 fprintf (stderr, "useage: %s <printername>\n", argv[0]);
20                 exit (-1);
21         }
22         if (strcmp(argv[1], "NULL") == 0)
23         {
24                 argv[1] = NULL;
25                 printf ("Calling AbortPrinter() on local machine\n");
26         }
27
28         if (!OpenPrinter (argv[1], &printer, NULL))
29         {
30                 fprintf (stderr, "Unable to open %s!\n", argv[1]);
31                 exit (-1);
32         }
33         else
34         {
35                 printf ("Printer [%s] opened successfully.\n\n", argv[1]);
36         }
37
38
39         if (!AbortPrinter (printer))
40         {
41                 FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |
42                         FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(),
43                         MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
44                         (LPTSTR) &lpMsgBuf, 0, NULL);
45                 printf ("ERROR : %s\n", (char*)lpMsgBuf);
46                 LocalFree (lpMsgBuf);
47         }
48         else
49         {
50                 printf ("AbortPrinter called successfully for [%s]\n", argv[1]);
51         }
52
53
54         if (!ClosePrinter(printer))
55         {
56                 fprintf (stderr, "Error closing printer!\n");
57                 exit (-1);
58         }
59         else
60         {
61                 printf ("Printer [%s] closed successfully.\n", argv[1]);
62         }
63
64         return 0;
65
66 }