Win 32 アプリケーションと印刷チケットの互換性
重要
Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。
詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください。
Microsoft Win32 ベースのアプリケーションと GDI ベースの印刷ドライバーで印刷チケットを使用する場合は、次の互換性シナリオを考慮する必要があります。
XPSDrv 印刷ドライバーに印刷する Win32 ベースのアプリケーション
印刷チケット ドキュメントを認識していない Win32 ベースのアプリケーションが XPSDrv 印刷ドライバーに出力される場合、GDI から XPS への変換モジュールは、Win32 ベースのアプリケーションが行う DDI 呼び出しから XPS スプール ファイルを作成します。 Windows Vista 印刷サポートでは、Win32 ベースのアプリケーションが使用する DEVMODE 構造体に基づく印刷チケットも作成され、ドキュメント用に作成された XPS スプール ファイルに挿入されます。 GDI から XPS への変換では、DEVMODE 構造体のパブリック部分のみを変換できます。 変換により、適切な XML バイナリ エンコードを使用して、プライベート DEVMODE がバイナリ ラージ オブジェクト (BLOB) として印刷チケットに埋め込まれます。 DEVMODEW から印刷チケットへの変換では、印刷チケットから DEVMODEW 構造体のプライベート部分にバイナリ BLOB を復元できます。
XPSDrv 印刷ドライバーでは、Win32 ベースのアプリケーションから送信されるドキュメントは、両方のドキュメントが XPS スプール ファイル形式でスプールされているため、Windows Presentation Foundation (WPF) アプリケーションから送信されるドキュメントと異なります。
GDI ベースの印刷ドライバーに印刷する WPF アプリケーション
WPF アプリケーションが印刷チケットを含むドキュメントを、印刷チケットをサポートしていない GDI ベースの印刷ドライバーに印刷する場合、Windows Vista 印刷サポートは、WPF アプリケーションが EMF ファイルに渡す XPS ドキュメントを変換し、各印刷チケットを DEVMODE 構造体に変換します。
GDI 印刷ドライバーでは、WPF アプリケーションからの印刷ジョブは、Win32 アプリケーションが送信する印刷ジョブと異なります。