次の方法で共有


プリンター ドライバーのアーキテクチャ

重要

Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。

詳細については、「 印刷サポート アプリ v1 および v2 の設計ガイド」を参照してください。

印刷ジョブは、Microsoft Win32 GDI または Windows Presentation Foundation (WPF) 関数の呼び出しによってアプリケーションによって作成されます。 Win32 関数は、アプリケーション データを EMF レコードとしてスプールして後で EMF 印刷プロセッサで再生できるようにすることも、ドキュメント ページごとに印刷可能なイメージをすぐにレンダリングすることもできます。 WPF 関数は、アプリケーション データを XPS スプール ファイルとしてスプールします。

印刷チケットおよび印刷機能テクノロジは、プリンター設定を通信して、プリンターとアプリケーション間でプリンター設定の互換性を高めます。

イメージのレンダリングは、すぐに実行されるか、印刷処理中に実行されるかに関係なく、印刷ドライバーで実行されます。

  • GDI ベースのプリンター ドライバーは、スプール ファイルからの EMF レコードの再生中にイメージのレンダリングを実行し、GDI レンダリング エンジンによって制御されます。 レンダリング操作中に、GDI レンダリング エンジンは、サポートのために適切なプリンター ドライバーを呼び出します。

  • XPSDrv 印刷ドライバーは、一連の処理フィルターを使用して、プリンターに出力するための XPS スプール ファイルの内容を処理します。

GDI ベースのプリンター ドライバーは、次の条件を満たす必要があります。

  • GDI でサポートされないプリンター固有の描画機能を提供することで、GDI による印刷ジョブのレンダリングを支援する。

  • レンダリングされたイメージのデータ ストリームを印刷スプーラーに送信する。

  • プリンターと印刷ドキュメントに関連付けられている変更可能な構成パラメーター (選択されている給紙トレイと排紙トレイ、印刷部数、イメージの解像度と向きなど) に対するユーザー インターフェイスを提供する。

XPSDrv プリンター ドライバーは、GDI ベースのドライバーと同じユーザー インターフェイスの役割を持ち、印刷ジョブ データの処理とプリンターへのデータの送信も担当します。 ただし、XPSDrv プリンター ドライバーでは、GDI を使用してプリンター用のページ イメージをレンダリングする必要はありません。

プリンター ドライバーは、ドライバーの描画操作とユーザー インターフェイス操作を個別の DLL に分割する一連の プリンター ドライバー コンポーネント で構成されます。 XPSDrv プリンター ドライバーは、構成、描画機能、レンダリング機能が別個のオブジェクトに分離されたコンポーネントで構成されています。

このセクションは、オペレーティング システムがサポートするプリンター ドライバーのさまざまな種類を理解するのに役立ちますが、次の 3 つのプリンター ドライバーがオペレーティング システムに付属していることも忘れないでください。

Microsoft ユニバーサル プリンター ドライバー

Microsoft PostScript プリンター ドライバー

Microsoft プロッター ドライバー

これら 3 つのドライバーは、エンドユーザーが現在購入できるほとんどの印刷デバイスをサポートしています。 印刷デバイスが Microsoft によって提供される適切なドライバーと互換性がない場合に限り、自分でプリンター ドライバーを記述する必要があります。 Microsoft が提供するドライバーのいずれかにプリンター データ ファイルを追加するだけで、ほとんどの新しいプリンターをサポートできます。 新しいドライバーを必要とする可能性があるデバイスには、独自のコマンド シーケンスによって制御されるハードウェア描画アクセラレータを含むデバイスが含まれます。

このセクションには、Windows 印刷アーキテクチャについて説明する次のトピックが含まれています。

XPSDrv プリンター ドライバー

GDI プリンター ドライバー

印刷チケットと印刷機能のテクノロジ

64 ビット プリンター ドライバーの作成