1 /******************************************************************
\r
2 * SPOOLSS regression testing code for Samba print servers
\r
4 *****************************************************************/
\r
10 #include "printlib.h"
\r
13 int main (int argc, char* argv[])
\r
15 PRINTER_INFO_2 buffer;
\r
21 fprintf (stderr, "useage: %s <servername> <printername> <sharename> <port name>\n", argv[0]);
\r
25 memset(&buffer, 0 , sizeof(buffer));
\r
27 buffer.pServerName = strdup (argv[1]);
\r
28 buffer.pPrinterName = strdup (argv[2]);
\r
29 buffer.pShareName = strdup (argv[3]);
\r
30 buffer.pPortName = strdup (argv[4]);
\r
31 buffer.pDriverName = strdup ("Apple LaserWriter II NTX v51.8");
\r
32 buffer.pPrintProcessor = strdup ("winprint");
\r
33 buffer.pDatatype = strdup ("RAW");
\r
34 buffer.Attributes = PRINTER_ATTRIBUTE_SHARED;
\r
35 buffer.pSecurityDescriptor = NULL;
\r
38 printf ("Attempting to add printer [%s] on server [%s]\n",
\r
39 buffer.pPrinterName, buffer.pServerName);
\r
40 printf ("\nPrinter Info 1:\n");
\r
41 print_printer_info_2 (&buffer);
\r
44 printer = AddPrinter (buffer.pServerName, 2, (LPBYTE)(&buffer));
\r
45 if ( printer == NULL)
\r
47 FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |
\r
48 FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(),
\r
49 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
\r
50 (LPTSTR) &lpMsgBuf, 0, NULL);
\r
51 printf ("ERROR : %s\n", (char*)lpMsgBuf);
\r
52 LocalFree (lpMsgBuf);
\r
56 printf ("Printer [%s] added successfully on server [%s]!\n",
\r
57 buffer.pPrinterName, buffer.pServerName);
\r
58 if (!ClosePrinter (printer))
\r
59 fprintf (stderr, "Error closing printer handle!\n");
\r
61 printf ("Printer handle closed successfully.\n");
\r