The AddPrinterDriver function installs a local or remote printer driver and links the configuration, data, and driver files.
BOOL AddPrinterDriver(
LPTSTR pName, // pointer to server name
DWORD Level, // printer info. structure level
LPBYTE pDriverInfo // pointer to printer info. structure
);
If pName is NULL, the driver will be installed locally.
This value can be either 2 or 3.
If the pEnvironment member of the structure pointed to by pDriverInfo is NULL, the current environment of the caller/client (not of the destination/server) is used.
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Before an application calls the AddPrinterDriver function, all files required by the driver must be copied to the system's printer-driver directory. An application can retrieve the name of this directory by calling the GetPrinterDriverDirectory function.
An application can determine which printer drivers are currently installed by calling the EnumPrinterDrivers function.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in winspool.h.
Import Library: Use winspool.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT.
Printing and Print Spooler Overview, Printing and Print Spooler Functions, DRIVER_INFO_2, DRIVER_INFO_3, EnumPrinterDrivers, GetPrinterDriverDirectory