UWP デバイス アプリのプリンター拡張機能ライブラリの概要
このトピックでは、プリンター拡張機能ライブラリについて説明します。デバイスの製造元はこのライブラリを使用すると、プリンター用の UWP デバイス アプリを作成しやすくなります。 プリンター拡張機能ライブラリは、印刷設定と印刷通知のサンプルとジョブ管理とプリンター メンテナンスのサンプルに含まれています。
概要
v4 プリンター ドライバー アーキテクチャの概要設計目標は、Microsoft Store アプリのユーザー インターフェイスに組み込みのサポートを提供することでした。 プリンターへのアクセスを提供するために、v4 印刷ドライバーは COM ベースのプリンター拡張インターフェイスを公開します。
UWP デバイス アプリからこれらのインターフェイスにアクセスするには、Microsoft Store デバイス アプリのプリンター サンプルに含まれているプリンター拡張機能ライブラリを使用できます。 プリンター拡張機能ライブラリは、COM インターフェイス PrinterExtensionLib
の COM 実装をラップします。 これにより、プリンター拡張機能と UWP デバイス アプリ間のコード共有が可能になります。
PrinterExtensionLibrary
プリンターのサンプルに含まれている PrinterExtensionLibrary プロジェクト内には、2 つの C# ファイルがあります。 これらのファイルは PrinterExtensionLib の内容をラップします。 ただし、プリンター拡張機能と UWP デバイス アプリ間のコード共有を有効にするために、このレイヤーにクラスを追加することができます。
PrinterExtensionTypes.cs は、COM PrinterExtensionLib API をラップする便利な列挙型、定数、およびインターフェイスの数を指定します。
PrinterExtensionAdapters.cs は、COM PrinterExtensionLib API をラップするために使用される構築可能なクラスをすべて指定します。
このプロジェクトを拡張するには、プリンター拡張機能や UWP デバイス アプリの作成に必要な、一般的なモデル レイヤー コードを記述する任意の必要な C# ファイルを使用します。 ただし、既存のクラスを更新することは、サンプルの更新で利用可能になったバグ修正プログラムの組み込むをさらに困難なものにするため、お勧めしません。
DeviceAppForPrintersLibrary
DeviceAppForPrintersLibrary という名前の追加プロジェクトは、UWP デバイス アプリからプリンターにアクセスするために使用できる C# アプリのヘルパー クラスとメソッドを提供します。
PrinterExtensionHelperLibrary
C# インターフェイス、クラス、メソッドを JavaScript でサポートされているものに変換するために、このプロジェクトでは WinMD ファイルが作成されます。 WinMD ファイルは、WINDOWS ランタイム API を指定します。 さらに、このライブラリを使用すると、さまざまなアクティブ化コンテキストの解析や通知用のトースト UI の作成など、Microsoft Store デバイス アプリに固有の便利なオブジェクトを公開できます。
PrintHelperClass.cs には、アプリ内の JavaScript レイヤーに公開する PrinterExtensionLibrary 名前空間が含まれています。 PrintTicket と Bidi に関わる便利なメソッドもいくつか含まれています。
PrinterNotificationHelper.cs は、通知用のトースト UI を表示する方法を示します。
PrinterExtensionHelperLibrary アセンブリの出力の種類は、[プロジェクトのプロパティ] ウィンドウの [アプリケーション] ページで指定します。
関連トピック
プリンター拡張機能インターフェイス (v4 プリンター ドライバー)