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