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