勇芳软件工作室.汉化:  Printing > Print Spooler API > Printer Driver Installation >

GetPrinterDriver

Previous pageReturn to chapter overviewNext page

描述

 

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]处理该函数检索信息的打印机。使用OpenPrinterAddPrinter功能来检索打印机句柄。

 

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_2DRIVER_INFO_3DRIVER_INFO_4DRIVER_INFO_5DRIVER_INFO_6结构包含pDriverPath成员中的打印机驱动程序的文件名或完整路径和文件名。一个应用程序可以通过调用LoadLibrary功能并提供路径和文件名作为单个参数来使用路径和文件名加载打印机驱动程序。

 

引用文件 #INCLUDE Once

 

WinSpool.inc(包括Windows.inc)