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の
MSPLOT プロッター ドライバーのサンプル の