DEVMODE 構造体の dmFields について

概要
この技術情報では、プリンタ ドライバが  DM_COPIES フラグを未サポートにした場合の留意点について記述します。
現象
複数の DEVMODE 構造体が割り当てられた拡張メタファイル (NT EMF) の印刷では、2 つめ以降の DEVMODE 構造体が反映されないことがあります。
標準のプリントプロセッサ(WinPrint)では、 拡張メタファイル (NT EMF) の印刷において、プリンタ デバイスが、1 部以上の部数をサポートしていることを前提としています。この前提において、dmFields に DM_COPIES フラグが設定されていない DEVMODE 構造体を検知した場合、標準のプリント プロセッサ (WinPrint) は、リカバリー処理として最初に検知した DEVMODE 構造体に対して部数の設定を行ったデバイス コンテキストを使用します。
このリカバリーに伴い 2 つめ以降の DEVMODE 構造体を使用しているデバイス コンテキストがリセットされ、2 ページ目以降のページがアプリケーションが指定した DEVMODE 構造体とは異なる設定で印刷されることがあります。
解決方法
プリンタ ドライバは、DEVMODE 構造体の dmFields に DM_COPIES フラグを設定することを推奨します。この設定により、標準のプリントプロセッサ (WinPrint) のリカバリー処理が実施されないため、アプリケーションが指定した DEVMODE 構造体の設定で印刷されます。
詳細
プリンタ デバイスが、2 部以上の複数部数をサポートしていない場合、プリンタ ドライバの Interface DLL の DrvDeviceCapabilities 関数で DC_COPIES の問い合わせに対して常に 1 を通知します。この通知を行うとアプリケーションは、プリンタ デバイスの最大部数を把握することができます。
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2953316 - 最終更新日: 09/29/2016 15:41:00 - リビジョン: 3.0

Microsoft Windows Driver Kit, Windows Driver Kit 8.1, Windows Driver Kit 8.0, Windows Driver Kit 7.0

  • kbinfo KB2953316
フィードバック