1 /******************************************************************
2 * SPOOLSS regression testing code for Samba print servers
4 *****************************************************************/
10 int main (int argc, char* argv[])
12 DWORD needed, returned;
19 fprintf (stderr, "useage: %s <printername> [level]\n", argv[0]);
24 level = atoi(argv[2]);
27 /* open the printer */
28 if (!OpenPrinter (argv[1], &printer, NULL))
30 fprintf (stderr, "Unable to open %s!\n", argv[1]);
35 printf ("Printer [%s] opened successfully.\n\n", argv[1]);
38 needed = returned = 0;
39 GetPrinter(printer, level, buffer, 0, &needed);
40 if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)
43 fprintf (stderr, "Error GetPrinter Info Level %d for [%s] using NULL buffer.\n", level, argv[1]);
45 printf ("Info level %d returned no information\n", level);
49 if ((buffer = malloc(needed)) == NULL)
51 fprintf (stderr, "Unable to malloc memory for buffer!\n");
54 if (!GetPrinter(printer, level, buffer, needed, &returned))
56 fprintf (stderr, "Error enumerating printers Info Level %d for [%s].\nSize of buffer = %d\n",
57 level, argv[1], needed);
60 print_printer_info_bylevel(level, buffer, 1);
64 /* close the printer */
65 if (!ClosePrinter(printer))
67 fprintf (stderr, "Error closing printer!\n");
72 printf ("Printer [%s] closed successfully.\n", argv[1]);