次の方法で共有


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

重要

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

詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください。

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

Windows Vista より前では、アプリケーションは、DEVMODEW 構造体を使用してプリンター設定をプリンターに伝達していました。 Windows Vista では、印刷チケットと印刷機能のテクノロジによってプリンター設定を伝達されるようになり、プリンターとアプリケーション間でのプリンター設定の互換性が向上しました。

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

  • GDI ベースのプリンター ドライバーは、スプール ファイルからの EMF レコードの再生中にイメージのレンダリングを実行し、GDI レンダリング エンジンによって制御されます。 レンダリング処理中、GDI レンダリング エンジンは、適切な Windows 2000 以降のプリンター ドライバーを呼び出して支援を求めます。

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

Windows 2000 以降の GDI ベースのプリンター ドライバーは、次の操作を実行する必要があります。

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

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

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

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

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

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

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

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

Microsoft プロッター ドライバー

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

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

XPSDrv プリンター ドライバー

GDI プリンター ドライバー

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

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