カスタマイズされたドライバー コンポーネントをインストールする

重要

プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。

詳細については、プリントサポートアプリデザインガイド.

Microsoft のプリンター ドライバー用にカスタマイズされたコンポーネントを提供する場合は、コンポーネントをインストールするための.ini ファイルも提供する必要があります。 (プリンターが ntprint.inf でサポートされていない場合は、プリンター INF ファイルも指定する必要があります)。

.ini ファイルには OEMFiles セクションが含まれている必要があります。 このセクションでは、カスタマイズされた各コンポーネントについて、次のいずれかのエントリを使用して説明します。

  • OEMDriverFilen

    レンダリング プラグインに名前を付けます。

  • OEMConfigFilen

    ユーザー インターフェイス プラグインに名前を付けます。

ここで n は、インストーラーがファイルをインストールする順序を指定します。 n に指定する数値は、両方の種類のプラグインで 1 から始まる連続している必要があります。

たとえば、2 つのレンダリング プラグインと 1 つのユーザー インターフェイス プラグインを提供していて、プリンター モデルが XYZ の場合、.ini ファイルは次のように表示されることがあります。

[OEMFiles]
OEMDriverFile1=XYZDRV1.DLL
OEMConfigFile1=XYZUI1.DLL
OEMDriverFile2=XYZDRV2.DLL

等号 (=) の前後にスペースを使用することはできません。 ファイル名にパス指定を含めることはできません。

この例では、2 つのレンダリング プラグインが指定されています。 OEMDriverFilen の nn 値に基づいて、xyzdrv2.dll より先に xyzdrv1.dll がインストールされます。 Unidrv ドライバーと Pscript5 ドライバーは、インストールされている順序にプラグインを呼び出すので、後でドライバーがこれらのプラグインが提供するグラフィックス DDI フック関数や COM メソッドを呼び出す必要がある場合、xyzdrv2.dll より先に xyzdrv1.dll が呼び出されます。

.ini ファイル名には、プリンターの製品名が反映されている必要があります。 .ini ファイル名は、名前の競合を回避するために、他のプリンターの .ini ファイルの名前とは異なる必要があります。 レンダリング プラグインまたはユーザー インターフェイス プラグインを Windows NT 4.0 に再移植する場合は、.ini ファイル名が .gpd または .ppd ファイル名と一致している必要があります。 (つまり、xyz.ini xyz.gpd または xyz.ppd に使用する必要があります)。この制限は、Windows 2000 以降のバージョンの Windows オペレーティング システムには適用されません。

.ini ファイルには ANSI テキストまたは Unicode テキストを含めることができますが、Unicode テキストをお勧めします。 .ini ファイル内では、シャープ記号 (#) で始まる行はコメントです。

詳細については、「INF ファイルの一般的なガイドライン」と「 Unidrv ミニドライバーをインストールする」を参照してください。

プリンター INF ファイルを指定する場合、カスタマイズされたコンポーネントをインストールして登録する便利な方法は、コンポーネント をプリンター ドライバーの依存ファイル にすることです。 さらに、関連付けられている .inf ファイルを依存ファイルとしてインストールできます。 プリンター ドライバーの依存ファイルの詳細については、プリンター INF ファイル エントリを参照してください。

または、コンポーネントをポート モニターやステータス アプリケーションなどの別の印刷コンポーネントの依存ファイルにすることで、カスタマイズされたコンポーネントをインストールすることもできます。 ただし、ポイント アンド プリント操作ではドライバーとドライバーに依存するファイルのみがクライアントにインストールされるため、この方法では問題が発生する可能性があります。 カスタマイズされたコンポーネントがプリンター ドライバーの依存ファイルとして表示されない場合は、ポイント アンド プリント操作の一部としてではなく、何らかの方法でコンポーネントをクライアントにインストールする必要があります。