1 /******************************************************************
\r
2 * SPOOLSS regression testing code for Samba print servers
\r
4 *****************************************************************/
\r
8 #include "printlib.h"
\r
10 int main (int argc, char* argv[])
\r
14 PRINTER_DEFAULTS defaults;
\r
15 PPRINTER_INFO_2 buffer2 = NULL;
\r
16 DWORD needed, returned;
\r
18 memset(&defaults, 0x0, sizeof(PRINTER_DEFAULTS));
\r
19 defaults.pDatatype = strdup("RAW");
\r
23 fprintf (stderr, "useage: %s <printername>\n", argv[0]);
\r
27 if (!OpenPrinter (argv[1], &printer, NULL))
\r
33 printf ("Printer [%s] opened successfully.\n\n", argv[1]);
\r
36 needed = returned = 0;
\r
37 GetPrinter(printer, 2, (LPBYTE)buffer2, 0, &needed);
\r
38 if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)
\r
41 fprintf (stderr, "Error GetPrinter Info Level 2 for [%s] using NULL buffer.\n", argv[1]);
\r
43 printf ("Info level 2 returned no information\n");
\r
48 if ((buffer2 = (LPBYTE)malloc(needed*2)) == NULL)
\r
50 fprintf (stderr, "Unable to malloc memory for buffer!\n");
\r
54 if (!GetPrinter(printer, 2, (LPBYTE)buffer2, needed, &returned))
\r
56 fprintf (stderr, "Error getting printers Info Level 2 for [%s].\nSize of buffer = 0x%x [0x%x]\n",
\r
57 argv[1], needed, returned);
\r
63 defaults.pDevMode = buffer2->pDevMode;
\r
64 if (!ResetPrinter(printer, &defaults))
\r
68 if (!ClosePrinter(printer))
\r
71 printf ("Printer [%s] closed successfully.\n", argv[1]);
\r