描述
EnumPrinterKey函数枚举指定打印机的指定键的子项。
打印机数据存储在注册表中。在枚举打印机数据时,不要调用可能更改数据的注册表功能。
C++ 语法
DWORD EnumPrinterKey( __in HANDLE hPrinter, __in LPCTSTR pKeyName, __out LPTSTR pSubkey, __in DWORD cbSubkey, __out LPDWORD pcbSubkey ); |
PowerBASIC 语法
FUNCTION EnumPrinterKeyA ( _ BYVAL hPrinter AS DWORD, _ BYREF pKeyName AS ASCIIZ, _ BYREF pSubkey AS ASCIIZ, _ BYVAL cbSubkey AS DWORD, _ BYREF pcbSubkey AS DWORD _ ) AS LONG |
Unicode版本:
FUNCTION EnumPrinterKeyW ( _ BYVAL hPrinter AS DWORD, _ BYREF pKeyName AS WSTRINGZ, _ BYREF pSubkey AS WSTRINGZ, _ BYVAL cbSubkey AS DWORD, _ BYREF pcbSubkey AS DWORD _ ) AS LONG |
参数
hPrinter
[in]处理函数枚举子项的打印机。使用OpenPrinter或AddPrinter功能来检索打印机句柄。
pKeyName
[in]指向指定包含要枚举的子项的键的以空值终止的字符串的指针。使用反斜杠“\\”字符作为分隔符来指定具有一个或多个子项的路径。EnumPrinterKey枚举密钥的所有子项,但不枚举这些子项的子项。
如果pKeyName为空字符串(“”),则EnumPrinterKey列举打印机的顶级密钥。如果pKeyName为NULL,则EnumPrinterKey返回ERROR_INVALID_PARAMETER。
pSubkey
[out]指向接收一个以零结尾的子项名称数组的缓冲区的指针。数组由两个空字符终止。
cbSubkey
[in]指定由pSubkey指向的缓冲区的大小(以字节为单位)。如果将cbSubkey设置为零,则pcbSubkey参数返回所需的缓冲区大小。
pcbSubkey
[out]指向接收在pSubkey缓冲区中检索到的字节数的变量的指针。如果cbSubkey指定的缓冲区大小太小,则函数返回ERROR_MORE_DATA,pcbSubkey指示所需的缓冲区大小。
返回值
如果函数成功,则返回值为非零值。
如果函数失败,返回值为零。
引用文件 #INCLUDE Once
WinSpool.inc(包括Windows.inc)