EnumPrinterKey 函式
EnumPrinterKey函式會列舉指定印表機之指定索引鍵的子機碼。
印表機資料會儲存在登錄中。 列舉印表機資料時,請勿呼叫可能會變更資料的登錄函式。
語法
DWORD EnumPrinterKey(
_In_ HANDLE hPrinter,
_In_ LPCTSTR pKeyName,
_Out_ LPTSTR pSubkey,
_In_ DWORD cbSubkey,
_Out_ LPDWORD pcbSubkey
);
參數
-
hPrinter [in]
-
函式列舉子機碼之印表機的控制碼。 使用 OpenPrinter 或 AddPrinter 函式來擷取印表機控制碼。
-
pKeyName [in]
-
Null 終止字串的指標,指定要列舉之子機碼的索引鍵。 使用反斜線 '\' 字元做為分隔符號,以指定具有一或多個子機碼的路徑。 EnumPrinterKey 會列舉索引鍵的所有子機碼,但不會列舉這些子機碼的子機碼。
如果 pKeyName 是空字串 (「」) , EnumPrinterKey 會列舉印表機的最上層索引鍵。 如果 pKeyName 為 Null, EnumPrinterKey 會傳回ERROR_INVALID_PARAMETER。
-
pSubkey [out]
-
接收 Null 終止子機碼名稱陣列之緩衝區的指標。 陣列會以兩個 Null 字元終止。
-
cbSubkey [in]
-
pSubkey所指向緩衝區的大小,以位元組為單位。 如果您將 cbSubkey 設定為零, 則會傳 回所需的緩衝區大小。
-
apiSubkey [out]
-
變數的指標,接收 pSubkey 緩衝區中擷取的位元組數目。 如果 cbSubkey 指定的緩衝區大小太小,則函式會傳回ERROR_MORE_DATA,而 cbSubkey 表示所需的緩衝區大小。
傳回值
如果函式成功,傳回值會ERROR_SUCCESS。
如果函式失敗,則傳回值是系統錯誤碼。 如果 pKeyName 不存在,傳回值會ERROR_FILE_NOT_FOUND。
備註
注意
這是封鎖或同步函式,可能不會立即傳回。 此函式傳回的速度取決於執行時間因素,例如網路狀態、列印伺服器設定,以及撰寫應用程式時難以預測的印表機驅動程式實作因素。 從管理與使用者介面互動的執行緒呼叫此函式,可能會使應用程式看起來沒有回應。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限桌面應用程式] |
標頭 |
|
程式庫 |
|
DLL |
|
Unicode 與 ANSI 名稱 |
EnumPrinterKeyW (Unicode) 和 EnumPrinterKeyA (ANSI) |