AdvancedDocumentProperties 函式

AdvancedDocumentProperties函式會顯示指定印表機的印表機組態對話方塊,允許使用者設定該印表機。

此函式是 DocumentProperties 函式的特殊案例。 如需詳細資訊,請參閱一節。

語法

LONG AdvancedDocumentProperties(
  _In_  HWND     hWnd,
  _In_  HANDLE   hPrinter,
  _In_  LPTSTR   pDeviceName,
  _Out_ PDEVMODE pDevModeOutput,
  _In_  PDEVMODE pDevModeInput
);

參數

hWnd [in]

印表機組態對話方塊之父視窗的控制碼。

hPrinter [in]

印表機物件的控制碼。 使用 OpenPrinterAddPrinter 函式來擷取印表機控制碼。

pDeviceName [in]

Null 終止字串的指標,指定應該顯示印表機組態對話方塊的裝置名稱。

pDevModeOutput [out]

DEVMODE結構的指標,其中包含使用者指定的組態資料。

pDevModeInput [in]

DEVMODE結構的指標,其中包含用來初始化印表機組態對話方塊控制項的組態資料。

傳回值

如果具有這些參數的 DocumentProperties 函式成功, AdvancedDocumentProperties 的傳回值為 1。 否則,傳回值為零。

備註

注意

這是封鎖或同步函式,可能不會立即傳回。 此函式傳回的速度取決於執行時間因素,例如網路狀態、列印伺服器組態,以及難以在撰寫應用程式時預測的印表機驅動程式實作因素。 從管理與使用者介面互動的執行緒呼叫此函式,可能會讓應用程式看起來沒有回應。

此函式只能顯示印表機組態對話方塊,讓使用者可以加以設定。 如需更多控制權,請使用 DocumentProperties。 此函式的輸入參數會直接傳遞至 DocumentProperties並將 fMode 值設定為 DM_IN_BUFFER |DM_IN_PROMPT |DM_OUT_BUFFER。 不同于 DocumentProperties,此函式只會傳回 1 或 0。 因此,您無法藉由將pDevMode設定為零來判斷DEVMODE的必要大小。

應用程式可以呼叫 GetPrinter 函式,然後檢查PRINTER_INFO_2結構的pPrinterName成員,以取得pDeviceName參數所指向的名稱。

規格需求

需求
最低支援的用戶端
Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Winspool.h (包含 Windows.h)
程式庫
Winspool.lib
DLL
Winspool.drv
Unicode 與 ANSI 名稱
AdvancedDocumentPropertiesW (Unicode) 和 AdvancedDocumentPropertiesA (ANSI)

另請參閱

列印

列印多工緩衝處理器 API 函式

AddPrinter

DEVMODE

DocumentProperties

GetPrinter

OpenPrinter

PRINTER_INFO_2