EnumPrinterDrivers功能列举了指定打印机服务器上安装的所有打印机驱动程序。
BOOL EnumPrinterDrivers(
LPTSTR 【PNAME】, | //指向服务器名称的指针 |
LPTSTR 【pEnvironment】, | //指向环境名称的指针 |
DWORD 【水平】, | //结构级别 |
LPBYTE 【pDriverInfo】, | //指向结构数组的指针 |
DWORD 【cbBuf】, | //数组的大小(以字节为单位) |
LPDWORD 【pcbNeeded】, | //指向复制的字节数(或必需) |
LPDWORD 【pcReturned】 | //指向DRIVER_INFO号的指针。结构 |
); |
参数
【PNAME】
指向以空值终止的字符串,指定要列举打印机驱动程序的服务器的名称。
如果【PNAME】为NULL,则该函数枚举本地计算机的打印机驱动程序。
【pEnvironment】
指向指定环境的以空值终止的字符串的指针。例如,“Windows NT x86”指定在Intel 80386或80486处理器上运行的Windows NT。如果此参数为NULL,则该函数使用调用者/客户端(而不是目标/服务器)的当前环境。
【水平】
指定【pDriverInfo】指向的结构类型。该值必须为1,2或3。
【pDriverInfo】
指向接收DRIVER_INFO_1,DRIVER_INFO_2或DRIVER_INFO_3结构数组的缓冲区。每个结构包含描述可用打印机驱动程序的数据。
【cbBuf】
指定【pDriverInfo.】指向的缓冲区的大小(以字节为单位)
【pcbNeeded】
指向函数设置为枚举打印机驱动程序的数据大小(以字节为单位)的值。如果【cbBuf】小于此值,EnumPrinterDrivers将失败,并且【pcbNeeded】指向的变量表示所需的缓冲区大小。如果【cbBuf】等于或大于此值,则【pcbNeeded】指向的变量表示存储在缓冲区中的字节数。
【pcReturned】
指向一个值,指定其存储到【pDriverInfo.】指向的缓冲区中的结构数量这是指定打印服务器上安装的打印机驱动程序的数量。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
也可以看看
AddPrinterDriver, DRIVER_INFO_1, DRIVER_INFO_2, DRIVER_INFO_3, GetPrinterDriver