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