勇芳软件工作室.汉化:  Printing > Print Spooler API > Print Spooler API Reference > Print Spooler API Functions >

EnumPrinterDataEx

Previous pageReturn to chapter overviewNext page

描述

 

EnumPrinterDataEx函数枚举指定打印机和键的所有值名称和数据。

 

打印机数据存储在注册表中。在枚举打印机数据时,不要调用可能更改数据的注册表功能。

 

C++ 语法

 

DWORD EnumPrinterDataEx(

__in  HANDLE hPrinter,

__in  LPCTSTR pKeyName,

__out LPBYTE pEnumValues,

__in  DWORD cbEnumValues,

__out LPDWORD pcbEnumValues,

__out LPDWORD pnEnumValues

);

 

PowerBASIC 语法

 

FUNCTION EnumPrinterDataExA ( _

BYVAL hPrinter AS DWORD, _

BYREF pKeyName AS ASCIIZ, _

BYREF pEnumValues AS ANY, _

BYVAL cbEnumValues AS DWORD, _

BYREF pcbEnumValues AS DWORD, _

BYREF pnEnumValues AS DWORD _

) AS LONG

 

Unicode版本:

 

FUNCTION EnumPrinterDataExW ( _

BYVAL hPrinter AS DWORD, _

BYREF pKeyName AS WSTRINGZ, _

BYREF pEnumValues AS ANY, _

BYVAL cbEnumValues AS DWORD, _

BYREF pcbEnumValues AS DWORD, _

BYREF pnEnumValues AS DWORD _

) AS LONG

 

参数

 

hPrinter

 

[in]处理该函数检索配置数据的打印机。使用OpenPrinterAddPrinter功能来检索打印机句柄。

 

pKeyName

 

[in]指向指定包含要枚举的值的键的以空值终止的字符串的指针。使用反斜杠(\\)字符作为分隔符来指定具有一个或多个子项的路径。EnumPrinterDataEx枚举键的所有值,但不枚举指定键的子项的值。使用EnumPrinterKey函数枚举子项。

 

如果pKeyName为NULL或空字符串,则EnumPrinterDataEx返回ERROR_INVALID_PARAMETER。

 

pEnumValues

 

[out]指向接收PRINTER_ENUM_VALUES结构数组的缓冲区的指针。每个结构包含值下的值的名称,类型,数据和大小。

 

cbEnumValues

 

[in]指定pcbEnumValues指向的缓冲区的大小(以字节为单位)。如果将cbEnumValues设置为零,则pcbEnumValues参数返回所需的缓冲区大小。

 

pcbEnumValues

 

[out]指向接收所检索配置数据大小(以字节为单位)的变量的指针。如果cbEnumValues指定的缓冲区大小太小,则函数返回ERROR_MORE_DATA,pcbEnumValues表示所需的缓冲区大小。

 

pnEnumValues

 

[out]指向pEnumValues中返回的PRINTER_ENUM_VALUES结构数的变量的指针。

 

返回值

 

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

 

如果函数失败,则返回值是系统错误代码。

 

备注

 

EnumPrinterDataEx检索由SetPrinterDataExSetPrinterData功能设置的打印机配置数据。

 

引用文件 #INCLUDE Once

 

WinSpool.inc(包括Windows.inc)