拡張可能なアーキテクチャ
重要
Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。
詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください 。
アーキテクチャ全体の拡張性により、モジュール方式で差別化された機能を簡単に追加できます。 XPS 印刷パス内のアップグレードされたコンポーネントと新しいコンポーネントはそれぞれ、次の方法でベンダーの拡張性を実現するように設計されています。
印刷スキーマは拡張性を有効にし、必要なデバイス機能を公開するように定期的に更新されます。
XPSDrv ドライバーが使用する新しいフィルター パイプラインは、モジュール式の拡張可能なアーキテクチャを前提にして、単独で、またはアトミックな方法で動作して目的の効果を生成できるモジュール化された機能を提供できるようにします。
フィルター パイプラインは、直接消費とスケーラブルな消費の概念をサポートするようにも構築されています:
直接消費とは、デバイスがホストの支援なしに XPS ドキュメントまたは XPS スプール ファイルを使用できることを意味します。 Windows ベースのコンピューターからの出力の場合は、構成モジュールと null フィルター パイプラインで構成される XPSDrv ドライバーを指定する必要があります。 構成モジュールはデバイスを表し、デバイスの機能をアプリケーションに対して表しますが、ドライバー内のスプール ファイルは処理しません。 XPS スプール ファイルはプリンターに直接配信されるため、プリンターは文書全体を処理します。
スケーラブルな消費は、ホストで一部またはすべての処理を実行できる XPSDrv ドライバーを表します。 ホストとデバイスの処理の間の分割を選択できるため、デバイスの機能、コスト、ターゲット市場に基づいてトレードオフを行うことができます。 スケーラブルな消費により、XPS の実装方法に大きな柔軟性があります。
XPS 印刷パスを利用するには、XPSDrv ドライバーを指定する必要があります。 XPSDrv ドライバーは、ホスト ベースの N アップ、透かし、レンダリング関数などのドライバー機能を提供するフィルター パイプラインです。 グラフィックス処理はレンダリング フィルターで実行され、新しいスプール ファイル形式で表されるビジュアルに対して実行されます。 この種類の処理は、GDI ベースのドライバーでレンダリング操作を行う方法とは根本的に異なります。
フィルター パイプラインのモジュール構造は、関数固有のフィルターを開発するためのフレームワークを提供します。 自己完結型フィルターで構成されるフィルター パイプラインを作成できます。 これらのフィルターが適切に含まれている場合は、ドライバーが異なるので、異なるパイプラインでフィルターを再利用できるため、XPSDrv 開発への投資を最適化できます。
Windows Vista より前のバージョンの Windows オペレーティング システムでは、プリンター の構成とコントロール用のプリンター インターフェイス DLL と、印刷する実際のドキュメント コンテンツを処理およびレンダリングするためのプリンター グラフィックス DLL がプリンター ドライバーに必要でした。 Windows Vista のプリンター ドライバーには、以前のバージョンのプリンター ドライバーと同じ機能が必要です。 XPSDrv ドライバーは、印刷チケットと印刷機能テクノロジを使用して、デバイスやアプリケーションと通信します。 Windows Vista 印刷の拡張 PrintTicket および印刷機能を提供するインターフェイスを追加する必要があります。