1 /******************************************************************
\r
2 * SPOOLSS regression testing code for Samba print servers
\r
4 *****************************************************************/
\r
8 #include "printlib.h"
\r
11 int main (int argc, char* argv[])
\r
16 PFORM_INFO_1 buffer1 = NULL;
\r
21 fprintf (stderr, "useage: %s <printername> <form>\n", argv[0]);
\r
25 /* open the printer */
\r
26 if (!OpenPrinter (argv[1], &printer, NULL))
\r
28 fprintf (stderr, "Unable to open %s!\n", argv[1]);
\r
33 printf ("Printer [%s] opened successfully.\n\n", argv[1]);
\r
37 GetForm(printer, argv[2], 1, (LPBYTE)buffer1, 0, &needed);
\r
38 if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)
\r
40 fprintf (stderr, "Error getting form information for [%s] using NULL buffer.\n", argv[2]);
\r
44 if ((buffer1 = (LPBYTE)malloc(needed)) == NULL)
\r
46 fprintf (stderr, "Unable to malloc memory for FORM_INFO_1 buffer!\n");
\r
49 if (!GetForm(printer, argv[2], 1, (LPBYTE)buffer1, needed, &needed))
\r
51 fprintf (stderr, "Error getting form information for [%2].\nSize of buffer = %d\n",
\r
56 printf ("Form Info Level 1:\n");
\r
57 print_form_info_1 (buffer1);
\r
60 buffer1->Size.cx *= 2;
\r
61 buffer1->Size.cy *= 3;
\r
63 if (SetForm(printer, argv[2], 1, (LPBYTE)buffer1))
\r
65 printf ("Form [%s] updated successfully. Size(2x X 3y)\n", argv[2]);
\r
69 FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |
\r
70 FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(),
\r
71 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
\r
72 (LPTSTR) &lpMsgBuf, 0, NULL);
\r
73 printf ("ERROR : %s\n", (char*)lpMsgBuf);
\r
74 LocalFree (lpMsgBuf);
\r
81 /* close the printer */
\r
82 if (!ClosePrinter(printer))
\r
84 fprintf (stderr, "Error closing printer!\n");
\r
89 printf ("Printer [%s] closed successfully.\n", argv[1]);
\r