1 /******************************************************************
2 * SPOOLSS regression testing code for Samba print servers
4 *****************************************************************/
10 int main (int argc, char* argv[])
14 DWORD returned, needed, i;
15 PFORM_INFO_1 buffer1 = NULL;
19 fprintf (stderr, "useage: %s <printername>\n", argv[0]);
23 /* open the printer */
24 if (!OpenPrinter (argv[1], &printer, NULL))
26 fprintf (stderr, "Unable to open %s!\n", argv[1]);
31 printf ("Printer [%s] opened successfully.\n\n", argv[1]);
35 EnumForms(printer, 1, (LPBYTE)buffer1, 0, &needed, &returned);
36 if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)
38 fprintf (stderr, "Error getting form information for [%s] using NULL buffer.\n", argv[1]);
42 if ((buffer1 = (PFORM_INFO_1)malloc(needed)) == NULL)
44 fprintf (stderr, "Unable to malloc memory for FORM_INFO_1 buffer!\n");
47 if (!EnumForms(printer, 1, (LPBYTE)buffer1, needed, &needed, &returned))
49 fprintf (stderr, "Error getting form information for [%s].\nSize of buffer = %d\n",
54 printf ("Form Info Level 1:\n");
55 for (i=0; i<returned; i++)
57 print_form_info_1 (&buffer1[i]);
63 /* close the printer */
64 if (!ClosePrinter(printer))
66 fprintf (stderr, "Error closing printer!\n");
71 printf ("Printer [%s] closed successfully.\n", argv[1]);