動的生成プリンター コマンド

重要

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

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

Unidrv ミニドライバーの GPD ファイルでプリンター コマンドを指定するたびに、次の 2 つの方法のいずれかを使用できます。

  • GPD ファイルにコマンド文字列を配置します。

    コマンド文字列を GPD ファイルに配置すると、Unidrv は適切なタイミングでコマンドを印刷スプーラーに送信します。 これらのコマンド文字列には、コマンドを送信する前に Unidrv が評価する標準変数を含めることができます。

  • コールバック関数を提供します。

    コールバック関数を指定する場合、Unidrv はコマンドの送信時に関数を呼び出し、関数は印刷スプーラーにコマンドを送信する役割を担います。 これにより、コマンド文字列を動的に生成し、プリンターに送信するコードを含めることができます。

GPD ファイルにコマンド文字列を配置するには、コマンドの *Command エントリ内に *Cmd 属性を含める必要があります。

コマンド文字列を動的に生成するコードを提供するには、次の操作を行う必要があります。

  • IPrintOemUni::CommandCallback メソッドを実装するレンダリング プラグインを提供します。

  • GPDファイルの*Commandエントリ内に*CallbackIDコマンド属性を含み、任意で*Params属性を含みます。

Unidrv は、プリンター コマンドを発行する準備ができたら、ミニドライバー データベースをチェックして、コマンドが *Cmd 属性または *CallbackID 属性で指定されているかどうかを判断します。 前者の場合、Unidrv はコマンド文字列を印刷スプーラーに送信します。 後者の場合、Unidrv は IPrintOemUni::CommandCallback メソッドを呼び出し、*CallbackID 値と *Params 値を入力引数として渡します。