次の方法で共有


DOCUMENTPROPERTYHEADER 構造体 (winddiui.h)

DOCUMENTPROPERTYHEADER 構造体は、プリンター インターフェイス DLL の DrvDocumentPropertySheets 関数への入力パラメーターとして使用されます。

構文

typedef struct _DOCUMENTPROPERTYHEADER {
  WORD     cbSize;
  WORD     Reserved;
  HANDLE   hPrinter;
  LPTSTR   pszPrinterName;
  PDEVMODE pdmIn;
  PDEVMODE pdmOut;
  DWORD    cbOut;
  DWORD    fMode;
} DOCUMENTPROPERTYHEADER, *PDOCUMENTPROPERTYHEADER;

メンバーズ

cbSize

DOCUMENTPROPERTYHEADER 構造体のサイズ (バイト単位)。

Reserved

引っ込み思案。 0 にする必要があります。

hPrinter

プリンター ハンドル。

pszPrinterName

プリンターの名前を表す NULL で終わる文字列へのポインター。

pdmIn

DrvDocumentPropertySheets 関数がプリンター インターフェイス DLL の内部 DEVMODEW 構造体にコピーする必要がある入力 DEVMODEW 構造体へのポインター (該当する場合、プロパティ シートが表示される前)。 fMode でDM_IN_BUFFERまたはDM_MODIFY設定されていない場合、このポインターは NULL

pdmOut

DrvDocumentPropertySheets 関数がプリンター インターフェイス DLL の内部 DEVMODEW コンテンツをコピーする必要がある DEVMODEW 構造体 出力へのポインター (該当する場合、プロパティ シートが表示された後)。 fMode でDM_OUT_BUFFERまたはDM_COPY設定されていない場合、このポインターは NULL

cbOut

pdmOut ポイント バッファーのサイズをバイト単位で指定します。 詳細については、次の「解説」セクションを参照してください。

fMode

次の表に示すビット フラグの 1 つ以上。 (フラグは、Wingdi.h および Winddiui.h ヘッダー ファイルで定義されています)。

定義
フラグが設定されていません (つまり、fMode 0)。 DrvDocumentPropertySheets 関数は、すべてのパブリック メンバーとプライベート メンバーを含む DEVMODEW 構造体のサイズ (バイト単位) を、cbOut メンバーで返す必要があります。
DM_ADVANCED 設定した場合、DrvDocumentPropertySheets 関数は、詳細ドキュメント ページのみを作成する必要があります。 設定しない場合、DrvDocumentPropertySheets 関数は、PageSetup ドキュメント ページと詳細ドキュメント ページの両方を作成する必要があります。 (COMPROPSHEETUI 構造体の pDlgPage メンバーの説明を参照してください)。
DM_IN_BUFFERまたはDM_MODIFY 呼び出し元は pdmIn で DEVMODEW 構造体ポインター指定しており、DrvDocumentPropertySheets 関数は、指定された DEVMODEW の内容を反映するように内部 DEVMODEW 構造体を更新する必要があります。
DM_IN_PROMPTまたはDM_PROMPT DrvDocumentPropertySheets 関数は、そのプロパティ シート ページを作成する必要があります。 (DrvDocumentPropertySheets 関数の pPSUIInfo パラメーターが NULL 場合、このフラグは設定されません。
DM_NOPERMISSION プリンター インターフェイス DLL の _CPSUICALLBACK型指定コールバックでは、表示されるプロパティ シート ページのプロパティをユーザーが変更できないようにする必要があります。
DM_OUT_BUFFERまたはDM_COPY 呼び出し元は、pdmOutで DEVMODEW 構造体ポインターを指定しました。DrvDocumentPropertySheets 関数は、その内部 DEVMODEW 構造体の内容を指定された DEVMODEW にコピーする必要があります。
DM_PROMPT_NON_MODAL DrvDocumentPropertySheets 関数は、プロパティ シート ページを作成し、非モーダル UI を起動する必要があります。 (DrvDocumentPropertySheets 関数の pPSUIInfo パラメーターが NULL 場合、このフラグは設定されません。
DM_USER_DEFAULT 使用されません。
DM_OUT_DEFAULTまたはDM_UPDATE 使用されません。

備考

cbOut メンバーの入力値が、pdmOut メンバーが指すバッファーのサイズと必ずしも等しいとは限りません。 たとえば、DrvDocumentPropertySheets 関数の pPSUInfo パラメーターが NULL 場合、および DOCUMENTPROPERTYHEADER 構造体の fMode メンバーのいずれかが 0 の場合、 または、同じ構造体の pdmOut メンバーが NULL 場合、ドライバーは、プリンターの DEVMODEW 構造体 (パブリックおよびプライベート構造体メンバーを含む) の合計サイズを cbOut メンバーに書き込む必要があります。 このような場合、ドライバーは、cbOut メンバーを "書き込み専用" メンバーとして扱う必要があります。 したがって、ドライバーは、DrvDocumentPropertySheets 関数が呼び出された場合、pdmOut メンバーが指すバッファーのサイズとして cbOut メンバーを 使用しないでください。 Windows Driver Kit (WDK) に付属する "プロッター" サンプルは、cbOut メンバーを正しく使用する方法を示しています。

必要条件

要件 価値
ヘッダー winddiui.h (Winddiui.h を含む)

関連項目

COMPROPSHEETUIする

DEVMODEW

DrvDocumentPropertySheets

MSPLOT プロッター ドライバーのサンプル