EnumPrinterDrivers
The EnumPrinterDrivers function enumerates all of the printer drivers installed on the specified printer server.
BOOL EnumPrinterDrivers(
LPTSTR pName, // pointer to server name
LPTSTR pEnvironment, // pointer to environment name
DWORD Level, // structure level
LPBYTE pDriverInfo, // pointer to an array of structures
DWORD cbBuf, // size, in bytes, of array
LPDWORD pcbNeeded, // pointer to number of bytes copied (or
// required)
LPDWORD pcReturned // pointer to number of DRIVER_INFO.
// structures
);
Parameters
-
pName
-
Pointer to a null-terminated string that specifies the name of the server on which the printer drivers should be enumerated.
If pName is NULL, the function enumerates the local machine's printer drivers.
-
pEnvironment
-
Pointer to a null-terminated string that specifies the environment (for example, "Windows NT x86", "Windows NT R4000", "Windows NT Alpha_AXP", or "Windows 4.0"). If this parameter is NULL, the function uses the current environment of the caller/client (not of the destination/server).
-
Level
-
Specifies the type of structures pointed to by pDriverInfo. This value must be 1, 2, or 3.
-
pDriverInfo
-
Pointer to a buffer that receives an array of DRIVER_INFO_1, DRIVER_INFO_2, or DRIVER_INFO_3 structures. Each structure contains data that describes an available printer driver.
-
cbBuf
-
Specifies the size, in bytes, of the buffer pointed to by pDriverInfo.
-
pcbNeeded
-
Pointer to a value that the function sets to the size in bytes of the data that enumerates the printer drivers. If cbBuf is smaller than this value, EnumPrinterDrivers fails, and the variable pointed to by pcbNeeded represents the required buffer size. If cbBuf is equal to or greater than this value, the variable pointed to by pcbNeeded represents the number of bytes stored into the buffer.
-
pcReturned
-
Pointer to a value that specifies the number of structures that it stores into the buffer pointed to by pDriverInfo. This is the number of printer drivers installed on the specified print server.
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.
QuickInfo
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.
See Also
Printing and Print Spooler Overview, Printing and Print Spooler Functions, AddPrinterDriver, DRIVER_INFO_1, DRIVER_INFO_2, DRIVER_INFO_3, GetPrinterDriver