Share via


PrintCapabilities スキーマとドキュメントの構築

このトピックは最新ではありません。 最新の情報については、「 印刷スキーマの仕様」を参照してください。

現在の 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 スキーマは、一般に、コンテンツ、共有 Feature、Option、ScoredProperty、および Value インスタンスで相互にミラーします。 このような共有コンテンツは、常に最新の状態に保つ必要があります。 たとえば、PrintCapabilities スキーマの PageMediaSize 機能で変更を行った場合、PrintTicket スキーマでも同じ変更を行う必要があります。

印刷スキーマの仕様