ExtDeviceMode 関数 (winspool.h)
ExtDeviceMode 関数は、16 ビット アプリケーションとの互換性のためにのみ提供されます。 この要件のないプリンター ドライバーでは、代わりに DocumentProperties 関数を使用する必要があります。これは、Microsoft Windows SDKドキュメントで説明されています。
ExtDeviceMode 関数は、特定のグラフィックス ドライバーのプリンター初期化情報を取得または変更するか、指定されたプリンターのドライバー指定のプリンター構成プロパティ シートを表示します。
構文
LONG ExtDeviceMode(
[in, optional] HWND hWnd,
[in, optional] HANDLE hInst,
[in, out] LPDEVMODEA pDevModeOutput,
[in, optional] LPSTR pDeviceName,
[in, optional] LPSTR pPort,
[in, optional] LPDEVMODEA pDevModeInput,
[in, optional] LPSTR pProfile,
DWORD fMode
);
パラメーター
[in, optional] hWnd
printer-configuration プロパティ シートの親ウィンドウへのハンドル。
[in, optional] hInst
使用されていません。 デバイス ドライバーのモジュール インスタンスを処理します。
[in, out] pDevModeOutput
pDevModeInput パラメーターによって指されるバッファーに指定されたプリンター構成データを受け取る DEVMODE 構造体へのポインター。
[in, optional] pDeviceName
プリンター構成プロパティ シートが表示されるデバイスの名前を含む NULL で終わる文字列へのポインター。
[in, optional] pPort
LPT1 など、デバイスが接続されているポートの名前を含む NULL で終わる文字列へのポインター。
[in, optional] pDevModeInput
オペレーティング システムがプロパティ シート フィールドの初期化に使用する DEVMODE 構造体へのポインター。
このパラメーターは、 fMode パラメーターで DM_IN_BUFFER フラグが設定されている場合にのみ使用されます。 DM_IN_BUFFERが設定されていない場合、オペレーティング システムはプリンターの既定の DEVMODE 構造体を使用します。
[in, optional] pProfile
使用されていません。 初期化情報を記録して読み取る初期化ファイルの名前を含む NULL で終わる文字列へのポインター。
fMode
関数が実行する操作を指定します。 このパラメーターが 0 の場合、 ExtDeviceMode 関数はプリンター ドライバーの DEVMODE 構造体に必要なバイト数を返します。 それ以外の場合は、このパラメーターを次のフラグ値の 1 つ以上に設定できます。
フラグ | 説明 |
---|---|
DM_COPY | ドライバーの現在の設定を 、pDevModeOutput パラメーターが指す DEVMODE 構造体に書き込みます。 呼び出し元のアプリケーションは、情報を格納するのに十分な大きさのバッファーを割り当てる必要があります。 このフラグが設定されていない場合は、 pDevModeOutputに NULL を指定できます。 |
DM_IN_BUFFER | プリンター ドライバーの現在の印刷設定を 、pDevModeInput パラメーターが指す DEVMODE 構造体の設定とマージします。 これは、プロンプト、コピー、または更新の前に発生します。 関数は、DEVMODE 構造体の dmFields メンバーによって指定されたメンバーに対してのみ構造体を更新します。 マージ中に競合が発生した場合、 pDevModeInput が指す DEVMODE 構造体の設定は、プリンター ドライバーの現在の印刷設定をオーバーライドします。 |
DM_UPDATE | ユーザーがプリンターのプロパティを変更できるようにプロパティ シートを表示し、ドライバーの現在の "ユーザーごと" 設定をレジストリ内のユーザーのハイブに書き込みます。 |
戻り値
wMode パラメーターが 0 の場合、プリンター ドライバーの初期化データを格納するために必要な DEVMODE 構造体のサイズ (バイト単位) が返されます。 プリンター ドライバーが構造体にプライベート データを追加する場合、この値は DEVMODE 構造体のサイズよりも大きくなる可能性があることに注意してください。 関数が初期化ダイアログ ボックスを表示する場合、戻り値は、ユーザーが選択したボタンに応じて IDOK または IDCANCEL になります。 関数がダイアログ ボックスを表示せず、成功した場合、戻り値は IDOK です。 関数が失敗した場合、戻り値は 0 未満です。
注釈
ExtDeviceMode 関数は DocumentProperties 関数 (Windows SDKドキュメントで説明) を呼び出して、ユーザーが用紙サイズ、用紙の向き、出力品質などのプリンター オプションを選択できるようにするプロパティ シートを表示します。 Windows 3.x および Windows 9x 用に作成されたプリンター ドライバーでは、この関数が使用されます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | winspool.h (Winspool.h を含む) |
Library | Winspool.lib |
[DLL] | WinSpool.drv |