プラグインからプリンター ドライバー インターフェイスにアクセスする
重要
Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。
詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください 。
プラグインが、ドライバー提供の IPrintOemDriverUI、IPrintCoreHelperPS、IPrintCoreHelperUni、IPrintCoreUI2、IPrintOemDriverUni、IPrintOemDriverPS、または IPrintCorePS2 COM インターフェイスに属するメソッドを呼び出す場合は、次のようにドライバーからインターフェイス ポインターを取得する必要があります。
プラグインは、IPrintOemUI、IPrintOemUI2、IPrintOemUni、IPrintOemUni2、IPrintOemPS、または IPrintOemPS2 インターフェイスの PublishDriverInterface メソッドを実装する必要があります。
ドライバー (Unidrv または Pscript5) がプラグインの PublishDriverInterface メソッドを呼び出すと、IPrintOemDriverUI、IPrintCoreUI2、IPrintOemDriverUni、IPrintOemDriverPS、または IPrintCorePS2 インスタンスの IUnknown インターフェイスへのポインターが提供されます。
プラグインは IUnknown::QueryInterface を呼び出すために IUnknown インターフェイス ポインターを使用する必要があり、IPrintOemDriverUI、IPrintCoreUI2、IPrintOemDriverUni、IPrintOemDriverPS、または IPrintCorePS2 インターフェイスの目的のバージョンを表すインターフェイス識別子を指定します。 (詳細については、「プリンター ドライバーのインターフェイス識別子」をご参照ください。
プラグインがドライバーでサポートされているインターフェイス バージョンを表すインターフェイス識別子を指定する場合、QueryInterface は IPrintOemDriverUI、IPrintCoreUI2、IPrintOemDriverUni、IPrintOemDriverPS、または IPrintCorePS2 インターフェイスへのポインターを返します。 ドライバーは、プラグインへのインターフェイス ポインターを返す前に、インターフェイスの AddRef メソッド (Windows SDK ドキュメントで説明) を呼び出します。 プラグインは、後でインターフェイス メソッドを呼び出すためにこのポインターを使用するために、このポインターを保存する必要があります。
IPrintOemDriverUI、IPrintCoreUI2、IPrintOemDriverUni、IPrintOemDriverPS、または IPrintCorePS2 インターフェイス ポインターが不要になった場合、プラグインはインターフェイスの Release メソッドを呼び出す必要があります (Windows SDK ドキュメントで説明)。
プラグインで新しい Windows Vista IPrintCoreHelperPS または IPrintCoreHelperUni インターフェイスを使用するには、プラグインの IPrintOemUI::GetInfo、IPrintOemPS::GetInfo、または IPrintOemUni::GetInfo メソッドでOEMGI_GETREQUESTEDHELPERINTERFACESのサポートを追加する必要があります。