このトピックは最新ではありません。 最新の情報については、「印刷スキーマ仕様」を参照してください。
DEVMODE 構造体を使用してデバイス構成情報を指定する現在の方法には、いくつかの制限があります。 まず、DEVMODE 構造体はバイナリ構造であり、異なるバージョンの問題につながる可能性があります。 2 つ目は、存在しないパブリック部分と、ドライバーによってのみアクセスできるプライベート部分に分割され、その後、作成された特定のドライバーによってのみアクセスできます。 PrintTicket 形式は、XML ベースの印刷スキーマ フレームワークを使用して構成情報を表し、DEVMODE 構造体のこれらの欠点を排除します。
PrintTicket スキーマは、前述の 2 つの問題のそれぞれに対処します。 まず、PrintTicket スキーマは XML ベースのテキスト ファイルであるため、拡張性とバージョン管理に関する問題は解消されます。 次に、構成情報はすべてのクライアントで使用できます。つまり、任意のクライアントまたはプロバイダーが PrintTicket に含まれる情報を格納および取得できます。 オプションは、印刷スキーマ フレームワークと派生 PrintCapabilities ドキュメントで使用されるのと同じ手法を使用して説明します。 このため、PrintTicket は、実現するオプション定義モデルの移植性に関する潜在的な利点をすべて提供します。 詳細については、「印刷スキーマ フレームワークの」を参照してください。 このセクションの対象ユーザーには、次のグループが含まれます。
PrintTicket/PrintCapabilities プロバイダー インターフェイスの実装者
PrintTicket のコンシューマー
PrintTicket/PrintCapabilities プロバイダー インターフェイスのクライアント
前の一覧の最初のカテゴリのメンバーは、このセクションの残りの部分で PrintTicket プロバイダーと呼ばれます。 最後の 2 つのカテゴリのメンバーは、PrintTicket コンシューマーと呼ばれます。
印刷スキーマと PrintCapabilities スキーマとの関係
PrintTicket スキーマと PrintCapabilities スキーマは、どちらも印刷スキーマの特殊な部分です。 印刷スキーマのこれらのサブセットの主な構造上の違いは、PrintTicket スキーマには、PrintCapabilities スキーマに含まれていない Property インスタンスと ParameterInit インスタンスが含まれているのに対し、PrintCapabilities スキーマには PrintTicket スキーマに含まれていない Property インスタンスと ParameterDef インスタンスが含まれていることです。 これらの違いを除き、PrintCapabilities スキーマと PrintTicket スキーマは、通常、コンテンツ、共有機能、オプション、ScoredProperty、および Value インスタンスで相互にミラー化されます。 このような共有コンテンツは、-date up-to保持する必要があります。 たとえば、PrintCapabilities スキーマの MediaSize 機能で変更を行った場合、PrintTicket スキーマでも同じ変更を行う必要があります。
関連トピック