add SetPrinterDataExW.exe.
[gd/win32-spoolss/.git] / DeletePrinter.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
23         if (!OpenPrinter (argv[1], &printer, NULL))
24         {
25                 fprintf (stderr, "Unable to open %s!\n", argv[1]);
26                 exit (-1);
27         }
28         else
29         {
30                 printf ("Printer [%s] opened successfully.\n\n", argv[1]);
31         }
32
33         if (!DeletePrinter(printer))
34         {
35                 FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |
36                         FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(),
37                         MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
38                         (LPTSTR) &lpMsgBuf, 0, NULL);
39                 printf ("ERROR : %s\n", (char*)lpMsgBuf);
40                 LocalFree (lpMsgBuf);
41
42                 if (!ClosePrinter(printer))
43                 {
44                         fprintf (stderr, "Error closing printer!\n");
45                         exit (-1);
46                 }
47                 else
48                 {
49                         printf ("Printer [%s] closed successfully.\n", argv[1]);
50                 }
51
52         }
53         else
54         {
55                 printf ("Printer [%s] deleted successfully.\n", argv[1]);
56         }
57
58         return 0;
59
60 }