DrvDocumentPropertySheets 関数 (winddiui.h)
プリンター インターフェイス DLL の DrvDocumentPropertySheets 関数は、印刷ドキュメントのプロパティを記述するプロパティ シート ページを作成します。
構文
LONG DrvDocumentPropertySheets(
[in, optional] PPROPSHEETUI_INFO pPSUIInfo,
LPARAM lParam
);
パラメーター
[in, optional] pPSUIInfo
PROPSHEETUI_INFO構造体への呼び出し元から指定されたポインター。 NULL を指定できます (次の「備考」セクションを参照してください)。
lParam
次の表に示すように、PROPSHEETUI_INFO構造体の Reason メンバーの内容に依存する呼び出し元から指定された整数値。
Reason 値 | lParam の定義 |
---|---|
PROPSHEETUI_REASON_INIT | DOCUMENTPROPERTYHEADER 構造体へのポインター。 |
その他すべての理由値 | PFNPROPSHEETUI 関数型の lParam パラメーターの説明を参照してください。 (DOCUMENTPROPERTYHEADER 構造体のアドレスは、PROPSHEETUI_INFO構造体の lParamInit メンバーに含まれています)。 |
戻り値
pPSUIInfo が NULL の場合、lParam ->fMode が 0 または lParam ->pdmOut が NULL の場合、この関数はプリンターの 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 を含む) |