1 /******************************************************************
\r
2 * SPOOLSS regression testing code for Samba print servers
\r
4 *****************************************************************/
\r
9 #include "printlib.h"
\r
11 int main (int argc, char* argv[])
\r
17 LPTSTR buffer = NULL;
\r
22 fprintf (stderr, "useage: %s <printername>\n", argv[0]);
\r
26 /* open the server */
\r
27 if (!OpenPrinter (argv[1], &printer, NULL))
\r
30 printf ("Printer [%s] opened successfully.\n\n", argv[1]);
\r
33 status = EnumPrinterKey(printer, "", buffer, 0, &returned);
\r
34 if (status == ERROR_MORE_DATA)
\r
36 if ((buffer = (LPTSTR)malloc(returned)) == NULL)
\r
38 fprintf (stderr, "Unable to malloc enough space for [%d] bytes\n", returned);
\r
42 status = EnumPrinterKey(printer, "", buffer, returned, &returned);
\r
43 if (status == ERROR_SUCCESS)
\r
47 printf ("Enumurated Key Values : [%d]\n", returned);
\r
52 printf ("\t%s\n", p);
\r
53 for (; *p; p=CharNext(p));
\r
61 else if (status != ERROR_SUCCESS)
\r
64 printf ("No data!\n");
\r
67 status = EnumPrinterKey(printer, "PrinterDriverData", buffer, 0, &returned);
\r
68 if (status == ERROR_MORE_DATA)
\r
70 if ((buffer = (LPTSTR)malloc(returned)) == NULL)
\r
72 fprintf (stderr, "Unable to malloc enough space for [%d] bytes\n", returned);
\r
76 status = EnumPrinterKey(printer, "PrinterDriverData", buffer, returned, &returned);
\r
77 if (status == ERROR_SUCCESS)
\r
81 printf ("Enumurated Key Values : [%d]\n", returned);
\r
86 printf ("\t%s\n", p);
\r
87 for (p = buffer; *p; p=CharNext(p));
\r
95 else if (status != ERROR_SUCCESS)
\r
98 printf ("No data!\n");
\r
105 /* close the server */
\r
106 if (!ClosePrinter(printer))
\r
109 printf ("Printer [%s] closed successfully.\n", argv[1]);
\r