EnumForms 函式
EnumForms函式會列舉指定印表機所支援的表單。
語法
BOOL EnumForms(
_In_ HANDLE hPrinter,
_In_ DWORD Level,
_Out_ LPBYTE pForm,
_In_ DWORD cbBuf,
_Out_ LPDWORD pcbNeeded,
_Out_ LPDWORD pcReturned
);
參數
-
hPrinter [in]
-
應該列舉表單的印表機控制碼。 使用 OpenPrinter 或 AddPrinter 函式來擷取印表機控制碼。
-
層級 [in]
-
指定 pForm 指向的結構版本。 此值必須是 1 或 2。
-
pForm [out]
-
一或多個FORM_INFO_1結構的 指標 ,或指向一或多個 FORM_INFO_2 結構。 所有結構都會有相同的層級。
-
cbBuf [in]
-
指定 pForm 指向之緩衝區的大小,以位元組為單位。
-
azureNeeded [out]
-
變數的指標,這個變數會接收 pForm 指向的陣列中複製的位元組數目,如果作業成功 () ,或因為 cbBuf 太小而太小,則為所需的位元組數目,或因為 cbBuf 太小而) (所需的位元組數目。
-
pcReturned [out]
-
變數的指標,該變數會接收 pForm 指向的陣列中複製的結構數目。
傳回值
如果函式成功,則傳回值是非零值。
如果此函式失敗,則傳回值為零。
備註
注意
這是封鎖或同步函式,可能不會立即傳回。 此函式傳回的速度取決於執行時間因素,例如網路狀態、列印伺服器組態,以及難以在撰寫應用程式時預測的印表機驅動程式實作因素。 從管理與使用者介面互動的執行緒呼叫此函式,可能會讓應用程式看起來沒有回應。
如果呼叫端是遠端的,而 Level為 2,則傳回之FORM_INFO_2結構的StringType值一律會STRING_LANGPAIR。
在 Windows Vista 中,當hPrinter參考遠端列印伺服器或列印伺服器所裝載的印表機時,EnumForms所傳回的表單資料會從本機快取擷取,而且遠端列印伺服器上至少有一個開啟的印表機連線。 在所有其他組態中,表單資料會從遠端列印伺服器查詢。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限傳統型應用程式] |
標頭 |
|
程式庫 |
|
DLL |
|
Unicode 與 ANSI 名稱 |
EnumFormsW (Unicode) 和 EnumFormsA (ANSI) |