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

GetPrinterDriver2 (Vista)

Previous pageReturn to chapter overviewNext page

描述

 

GetPrinterDriver2功能检索指定打印机的驱动程序数据。如果驱动程序未安装在本地计算机上,则GetPrinterDriver2将安装并显示任何用户界面到指定的窗口。

 

C++ 语法

 

BOOL GetPrinterDriver2(

__in_opt HWND hWnd,

__in     HANDLE hPrinter,

__in_opt LPTSTR pEnvironment,

__in     DWORD Level,

__out    LPBYTE pDriverInfo,

__in     DWORD cbBuf,

__out    LPDWORD pcbNeeded

);

 

PowerBASIC 语法

 

FUNCTION GetPrinterDriver2A ( _

BYVAL hWnd AS DWORD, _

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 GetPrinterDriver2W ( _

BYVAL hPrinter AS DWORD, _

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

 

参数

 

hWnd

 

[in, optional]处理将用作驱动程序在安装过程中显示的任何用户界面(如对话框)的父窗口的窗口。如果此参数的值为NULL,则驱动程序的用户界面在安装过程中仍将显示给用户,但不会有父窗口。

 

hPrinter

 

[in]处理应检索驱动程序数据的打印机。使用OpenPrinterAddPrinter功能来检索打印机句柄。

 

pEnvironment

 

[in]指向指定环境的空终止字符串的指针(例如,Windows NT x86,Windows IA64或Windows x64)。如果此参数为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

DRIVER_INFO_3

4

DRIVER_INFO_4

5

DRIVER_INFO_5

6

DRIVER_INFO_6

8

DRIVER_INFO_8

 

pDriverInfo

 

[out]指向缓冲区的指针,该缓冲区接收包含水平指定的驱动程序信息的结构。缓冲区必须足够大以存储由结构成员指向的字符串。

 

要确定所需的缓冲区大小,请将cbBuf设置为零调用GetPrinterDriver2.GetPrinterDriver2失败,GetLastError返回ERROR_INSUFFICIENT_BUFFER,pcbNeeded参数返回保存结构数组及其数据所需的缓冲区大小(以字节为单位)。

 

cbBuf

 

[in]指定pDriverInfo点数组的大小(以字节为单位)。

 

pcbNeeded

 

[out]指向如果函数成功则接收复制字节数的值的指针,如果cbBuf太小则需要的字节数。

 

返回值

 

如果函数成功,则返回值为非零值。

 

如果函数失败,返回值为零。要获得退货状态,请调用GetLastError.

 

备注

 

DRIVER_INFO_2DRIVER_INFO_3DRIVER_INFO_4DRIVER_INFO_5DRIVER_INFO_6DRIVER_INFO_8结构包含pDriverPath成员中的打印机驱动程序的文件名或完整路径和文件名。一个应用程序可以通过调用LoadLibrary函数并提供路径和文件名作为单个参数来使用路径和文件名加载打印机驱动程序。

 

此函数的ANSI版本GetPrinterDriver2A不受支持,并返回ERROR_NOT_SUPPORTED。

 

引用文件 #INCLUDE Once

 

WinSpool.inc(包括Windows.inc)