AddPrinterDriver

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
);  

Parameters

pName

Pointer to a null-terminated string that specifies the name of the server on which the driver should be installed.

If pName is NULL, the driver will be installed locally.

Level

Specifies the version of the structure to which pDriverInfo points.

This value can be either 2 or 3.

pDriverInfo

Pointer to either a DRIVER_INFO_2 structure or a DRIVER_INFO_3 structure. If Level is 2, this parameter receives a DRIVER_INFO_2 structure. If Level is 3, this parameter receives a DRIVER_INFO_3 structure.

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.

Return Values

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.

Remarks

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.

See Also

DRIVER_INFO_2, DRIVER_INFO_3, EnumPrinterDrivers, GetPrinterDriverDirectory