このトピックは最新ではありません。 最新の情報については、「印刷スキーマ仕様」を参照してください。
現在の Win32 DevCaps 関数 (GetDeviceCaps や DeviceCapabilities など、どちらも Microsoft Platform Software Development Kit (SDK) のドキュメントで説明) では、印刷デバイスの機能とプロパティに関して、ドライバー以外のコンポーネントが取得できる情報の種類が厳しく制限されています。 印刷プロセッサの機能の公開はサポートされておらず、標準以外の機能を列挙する方法もありません。 したがって、ドライバー以外のコンポーネントが完全なユーザー インターフェイスを構築する方法はありません。 さらに、クライアントまたはアプリケーションは、Win32 DevCaps 関数によって提供される機能を超えて、デバイスの機能を完全に決定したり、キューを印刷したりすることはできません。 現在の関数は拡張可能ではないため、デバイスは新しいプロパティや機能を発行できません。
PrintCapabilities スキーマは、これらの関数によって提供される機能のスーパーセットを提供することで、Win32 DevCaps 関数の制限の多くを排除することを目的としています。 さらに多くの機能が必要な場合、PrintCapabilities ドキュメントのプロバイダーは、印刷スキーマ フレームワークの制約内で、プライベートに定義された要素インスタンスを追加することで、印刷スキーマ キーワードを拡張できます。 XML をインターチェンジのメディアとして依存しているため、PrintCapabilities ドキュメントのすべてのコンシューマーは、ドキュメント内のすべてのデータに制限なくアクセスでき、オペレーティング システムのバージョンが異なることがあります。 このセクションでは、PrintCapabilities スキーマとその使用方法について説明します。
このセクションの対象ユーザーには、次のグループが含まれます。
PrintTicket/PrintCapabilities プロバイダー インターフェイスの実装者
PrintCapabilities のコンシューマー
PrintTicket/PrintCapabilities プロバイダー インターフェイスのクライアント
前の一覧の最初のカテゴリは、このセクションの残りの部分では PrintCapabilities プロバイダーと呼ばれます。 2 番目と 3 番目のカテゴリは、PrintCapabilities コンシューマーと呼ばれます。
印刷スキーマと PrintTicket スキーマとの関係
PrintCapabilities スキーマと PrintTicket スキーマは、どちらも印刷スキーマの特殊な部分です。 印刷スキーマのこれらのサブセットの主な構造上の違いは、PrintCapabilities スキーマには PrintTicket スキーマに含まれていない Property インスタンスと ParameterDef インスタンスが含まれているのに対し、PrintTicket スキーマには PrintCapabilities スキーマに含まれていない Property インスタンスと ParameterInit インスタンスが含まれていることです。 これらの違いを除き、PrintCapabilities スキーマと PrintTicket スキーマは、通常、コンテンツ、共有機能、オプション、ScoredProperty、および Value インスタンスで相互にミラー化されます。 このような共有コンテンツは、-date up-to保持する必要があります。 たとえば、PrintCapabilities スキーマの PageMediaSize 機能に変更を加えた場合、PrintTicket スキーマでも同じ変更を行う必要があります。
関連トピック