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構造体の lParamInit メンバーに含まれています)。

戻り値

pPSUIInfoNULL の場合、lParam ->fMode が 0 または lParam ->pdmOutNULL の場合、この関数はプリンターの DEVMODEW 構造体のサイズ (バイト単位) を返す必要があります。 それ以外の場合、関数の戻り値は PFNPROPSHEETUI 関数型の ReturnValue セクションで説明したものと同じです。 詳細については、「解説」を参照してください。

解説

すべてのプリンター インターフェイス DLL は、PFNPROPSHEETUI 関数型を使用して定義されている DrvDocumentPropertySheets 関数を提供する必要があります。 この関数の目的は、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 メンバーが 0 の場合、または同じ構造体の pdmOut メンバーが NULL の場合、この関数は DOCUMENTPROPERTYHEADER 構造体の cbOut メンバー内の、パブリックおよびプライベート構造体メンバーを含むプリンターの DEVMODEW 構造体の合計サイズのみを返す必要があります。
  • DOCUMENTPROPERTYHEADER 構造体の fMode メンバーが 0 でない場合、関数は fMode フラグで示される操作を実行する必要があります。 設定できるフラグは、DM_IN_BUFFER (またはDM_MODIFY)、DM_OUT_BUFFER (またはDM_COPY) だけです。

要件

   
対象プラットフォーム デスクトップ
Header winddiui.h (Winddiui.h を含む)

こちらもご覧ください

DOCUMENTPROPERTYHEADER

DrvDevicePropertySheets

IPrintOemUI::D ocumentPropertySheets