drvDocumentPropertySheets 函式 (winddiui.h)

印表機介面 DLL 的 DrvDocumentPropertySheets 函 式負責建立描述列印文件屬性的屬性表頁面。

語法

LONG DrvDocumentPropertySheets(
  [in, optional] PPROPSHEETUI_INFO pPSUIInfo,
                 LPARAM            lParam
);

參數

[in, optional] pPSUIInfo

呼叫端提供的 PROPSHEETUI_INFO 結構的指標。 可以是 NULL (請參閱下列一節) 。

lParam

呼叫端提供的整數值,取決於PROPSHEETUI_INFO結構 之 Reason 成員的內容,如下表所列。

原因值 lParam 的定義
PROPSHEETUI_REASON_INIT DOCUMENTPROPERTYHEADER 結構的指標。
所有其他原因值 如需 PFNPROPSHEETUI 函式類型,請參閱 lParam 參數的描述。 (DOCUMENTPROPERTYHEADER 結構的位址包含在 PROPSHEETUI_INFO structure.) 的 lParamInit 成員中

傳回值

如果 pPSUIInfoNULL,而且如果 lParam ->fMode 為零或 lParam ->pdmOutNULL,則此函式應傳回印表機 DEVMODEW 結構的大小,以位元組為單位。 否則,函式的傳回值與 PFNPROPSHEETUI 函式類型的 ReturnValue 區段中所述的值相同。 如需詳細資訊,請參閱<備註>一節。

備註

所有 印表機介面 DLL 都必須提供 DrvDocumentPropertySheets 函式,此函式是使用 PFNPROPSHEETUI 函式類型所定義。 函式的目的是呼叫 CPSUI 所提供的 ComPropSheet 函式,以指定包含列印文件使用者可修改屬性的屬性頁。

如果 為 pPSUIInfo 參數收到的值不是 NULL,則 NT 型作業系統列印多任務緩衝處理器會透過 CPSUI 間接呼叫函式。 適用的規則如下:

  • 函式應該如 PFNPROPSHEETUI 函式類型所述執行作業。

  • DOCUMENTPROPERTYHEADER 結構的 fMode 成員中的旗標會指出要顯示的屬性表頁面,以及是否應該允許使用者修改檔的屬性。 可能設定的唯一旗標是DM_IN_PROMPT (或DM_PROMPT) 、DM_ADVANCED、DM_NOPERMISSION和DM_OUT_BUFFER (或DM_COPY) 。

如果 為 pPSUIInfo 參數收到的值為 NULL,列印後台處理程式會直接呼叫函式,而不需要通過 CPSUI。 在此情況下, lParam 參數包含 DOCUMENTPROPERTYHEADER 結構的位址,並適用下列規則:

  • 如果 DOCUMENTPROPERTYHEADER 結構的 fMode 成員為零,或相同結構的 pdmOut 成員為 NULL,則函式應該只會傳回印表機 DEVMODEW 結構的總大小,包括 DOCUMENTPROPERTYHEADER 結構的 cbOut 成員中的公用和私用結構成員。

  • 如果 DOCUMENTPROPERTYHEADER 結構的 fMode 成員不是零,函式應該執行 fMode 旗標所指示的作業。 可能設定的唯一旗標是DM_IN_BUFFER (或DM_MODIFY) ,以及DM_OUT_BUFFER (或DM_COPY) 。

規格需求

需求
目標平台 桌面
標頭 winddiui.h (包含Winddiui.h)

另請參閱

DOCUMENTPROPERTYHEADER

DrvDevicePropertySheets

IPrintOemUI::D ocumentPropertySheets