描述
GetPrinterDriver功能检索指定打印机的驱动程序数据。如果驱动程序未安装在本地计算机上,则GetPrinterDriver安装。
C++ 语法
BOOL GetPrinterDriver( __in HANDLE hPrinter, __in LPTSTR pEnvironment, __in DWORD Level, __out LPBYTE pDriverInfo, __in DWORD cbBuf, __out LPDWORD pcbNeeded ); |
PowerBASIC 语法
FUNCTION GetPrinterDriverA ( _ BYVAL hPrinter AS DWORD, _ BYREF pEnvironment AS ASCIIZ, _ BYVAL Level AS DWORD, _ BYREF pDriverInfo AS ANY, _ BYVAL cbBuf AS DWORD, _ BYREF pcbNeeded AS DWORD _ ) AS LONG |
Unicode版本:
FUNCTION GetPrinterW ( _ BYVAL hPrinter AS DWORD, _ BYREF pEnvironment AS WSTRINGZ, _ BYVAL Level AS DWORD, _ BYREF pDriverInfo AS ANY, _ BYVAL cbBuf AS DWORD, _ BYREF pcbNeeded AS DWORD _ ) AS LONG |
参数
hPrinter
[in]处理该函数检索信息的打印机。使用OpenPrinter或AddPrinter功能来检索打印机句柄。
pEnvironment
[in]指向指定环境的空终止字符串的指针(例如,Windows NT x86,Windows IA64,Windows x64,Windows NT R4000,Windows NT Alpha_AXP,Windows 4.0或Windows NT PowerPC)。如果此参数为NULL,则使用调用应用程序和客户机(而不是目标应用程序和打印服务器)的当前环境。
注意Windows IA64在Windows XP,Windows XP 64位版本,Windows Server 2003和更高版本中可用。Windows XP Service Pack 2(SP2),Windows XP Professional x64 Edition,Windows Server 2003 Service Pack 1(SP1)和更高版本中提供Windows x64。
Level
[in]指定在pDriverInfo缓冲区中返回的打印机驱动程序结构。此参数可以是以下值之一。
值 |
含义 |
1 |
DRIVER_INFO_1 |
2 |
DRIVER_INFO_2 |
3 |
Windows 95/98 / Me,Windows NT4.0及更高版本:DRIVER_INFO_3 |
4 |
Windows 2000 / XP / Vista / Windows 7:DRIVER_INFO_4 |
5 |
Windows 2000 / XP / Vista / Windows 7:DRIVER_INFO_5 |
6 |
Windows Me,Windows 2000 / XP / Vista / Windows 7:DRIVER_INFO_6 |
pDriverInfo
[out]指向缓冲区的指针,该缓冲区接收由Level指定的包含有关驱动程序信息的结构。缓冲区必须足够大以存储由结构成员指向的字符串。
要确定所需的缓冲区大小,请调用GetPrinterDriver,将cbBuf设置为零。GetPrinterDriver失败,GetLastError返回ERROR_INSUFFICIENT_BUFFER,pcbNeeded参数返回保存结构数组及其数据所需的缓冲区大小(以字节为单位)。
cbBuf
[in]指定pDriverInfo指向的数组的大小(以字节为单位)。
pcbNeeded
[out]指向如果函数成功则接收复制字节数的值的指针,如果cbBuf太小则需要的字节数。
返回值
如果函数成功,则返回值为非零值。
如果函数失败,返回值为零。
Windows 95/98 / Me:对于不存在的驱动程序,函数返回ERROR_INVALID_NAMES。
Windows NT / 2000 / XP / Vista / Windows 7:对于不存在的驱动程序,函数返回ERROR_UNKNOWN_PRINTER_DRIVER。
备注
DRIVER_INFO_2,DRIVER_INFO_3,DRIVER_INFO_4,DRIVER_INFO_5和DRIVER_INFO_6结构包含pDriverPath成员中的打印机驱动程序的文件名或完整路径和文件名。一个应用程序可以通过调用LoadLibrary功能并提供路径和文件名作为单个参数来使用路径和文件名加载打印机驱动程序。
引用文件 #INCLUDE Once
WinSpool.inc(包括Windows.inc)