描述
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]处理该函数检索配置数据的打印机。使用OpenPrinter或AddPrinter功能来检索打印机句柄。
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检索由SetPrinterDataEx和SetPrinterData功能设置的打印机配置数据。
引用文件 #INCLUDE Once
WinSpool.inc(包括Windows.inc)