add SetPrinterDataExW.exe.
[gd/win32-spoolss/.git] / AddPrinterDriverEx.c
1 /******************************************************************
2  * SPOOLSS regression testing code for Samba print servers
3  *
4  *****************************************************************/
5
6 #include <windows.h>
7 #include <stdio.h>
8 #include "printlib.h"
9
10 /* we assume the necessary driver files are already uploaded
11    on the server.  We also only exercise The info level 6
12    since that is the one used by the Win2k Add Printer Wizard */
13 int main (int argc, char* argv[])
14 {
15         DRIVER_INFO_6   buffer;
16         BYTE                    pDependentFiles[] = { "PSCRIPT.HLP\0PSCRPTUI.DLL\0PSCRIPT.DLL\0LWNTX518.PPD\0\0" };
17
18         if (argc < 2)
19         {
20                 fprintf (stderr, "useage: %s <servername>\n", argv[0]);
21                 exit (-1);
22         }
23
24         /* we'll use the Apple LaserWriter II NTX v51.8 driver
25            for simplcity */
26         memset( &buffer, 0, sizeof(DRIVER_INFO_6) );
27
28         buffer.cVersion                 = 0;
29         buffer.pEnvironment             = _strdup("Windows NT x86");
30         buffer.pName                    = _strdup("Apple LaserWriter II NTX v51.8");
31         buffer.pDriverPath              = _strdup("pscript.dll");
32         buffer.pDataFile                = _strdup("lwntx518.ppd");
33         buffer.pConfigFile              = _strdup("pscriptui.dll");
34         buffer.pDependentFiles          = (LPSTR)pDependentFiles;
35         buffer.pHelpFile                = _strdup("pscript.hlp");
36         buffer.pDefaultDataType         = _strdup("RAW");
37
38         printf ("Attempting to add Driver Info Level 6 :\n");
39         print_driver_info_6 (&buffer);
40         printf ("\n");
41
42
43         if (!AddPrinterDriverEx(argv[1], 6, (LPBYTE)&buffer, APD_COPY_ALL_FILES))
44                 PrintLastError();
45         else
46                 printf ("Printer Driver installed successfully\n");
47
48         if (!AddPrinterDriver(argv[1], 6, (LPBYTE)&buffer))
49                 PrintLastError();
50         else
51                 printf ("Printer Driver installed successfully\n");
52
53
54         return 0;
55
56 }