IPrintTicketProvider::ConvertPrintTicketToDevMode()の留意点

概要
この資料では、IPrintTicketProvider::ConvertPrintTicketToDevMode() に通知される PrintTicket の留意点について説明します。
詳細
XPS Doucment には、必ず一つ以上の PrintTicket が含まれています。しかしながら、PrintTicket では、Empty PrintTicket の利用が許容されており、Feature が含まれていない PrintTicket を持つ XPS Document が存在します。
このような Empty PrintTicket しか持たない XPS Document の印刷を行う場合、IPrintTicketProvider::ConvertPrintTicketToDevMode() に Empty PrintTicket が通知されることがあり、DEVMODE 構造体の変換元となる PrintTicket の Feature が取得できません。
解決方法
Empty PrintTicket が IPrintTicketProvider::ConvertPrintTicketToDevMode() に通知された場合、プリンタ ドライバ毎に任意の判断基準を設けて、その基準に基づき DEVMODE 構造体に設定する値を決定する必要があります。
一般的な判定基準としては、プリント キューに設定されているユーザ毎のデフォルト DEVMODE 構造体である PRINTER_INFO_9 構造体の DEVMODE 構造体を利用します。また、PRINTER_INFO_9 構造体が設定されていない場合は、プリント キューのデフォルト DEVMODE 構造体が設定されている PRINTER_INFO_8 構造体を利用します。
なお、PRINTER_INFO_2 構造体に設定されている DEVMODE 構造体は、ユーザ毎のデフォルト DEVMODE 構造体の取得を試行し、取得できない場合にプリント キューのデフォルト DEVMODE 構造体を取得するため、一般的な判断基準で実装する場合、PRINTER_INFO_2 構造体を利用すれば処理が簡略化できます。
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

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

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

  • KB2920249
フィードバック