1 /******************************************************************
\r
2 * SPOOLSS regression testing code for Samba print servers
\r
4 *****************************************************************/
\r
9 #include "printlib.h"
\r
12 #define ENUM_KEY_NAME "PrinterDriverData"
\r
14 int main (int argc, char* argv[])
\r
18 DWORD i, status, needed, returned;
\r
19 PRINTER_ENUM_VALUES *buffer = NULL;
\r
24 fprintf (stderr, "useage: %s <printername>\n", argv[0]);
\r
28 /* open the server */
\r
29 if (!OpenPrinter (argv[1], &printer, NULL))
\r
32 printf ("Printer [%s] opened successfully.\n\n", argv[1]);
\r
35 needed = returned = 0;
\r
36 status = EnumPrinterDataEx(printer, ENUM_KEY_NAME, (LPBYTE)buffer, 0, &needed, &returned);
\r
37 if (status == ERROR_MORE_DATA)
\r
39 if ((buffer = malloc(needed)) == NULL)
\r
41 fprintf (stderr, "Unable to malloc enough space for [%d] bytes\n", needed);
\r
45 status = EnumPrinterDataEx(printer, ENUM_KEY_NAME, (LPBYTE)buffer, needed, &needed, &returned);
\r
46 if (status == ERROR_SUCCESS)
\r
48 printf ("Printer Enum Values :\n");
\r
49 for (i=0; i<returned; i++)
\r
51 print_printer_enum_values (&buffer[i]);
\r
57 else if (status != ERROR_SUCCESS)
\r
61 /* close the server */
\r
62 if (!ClosePrinter(printer))
\r
65 printf ("Printer [%s] closed successfully.\n", argv[1]);
\r