プラグインからプリンター ドライバー インターフェイスにアクセスする

重要

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

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

プラグインが、ドライバー提供の IPrintOemDriverUIIPrintCoreHelperPSIPrintCoreHelperUniIPrintCoreUI2IPrintOemDriverUniIPrintOemDriverPS、または IPrintCorePS2 COM インターフェイスに属するメソッドを呼び出す場合は、次のようにドライバーからインターフェイス ポインターを取得する必要があります。

  1. プラグインは、IPrintOemUI、IPrintOemUI2、IPrintOemUni、IPrintOemUni2、IPrintOemPS、または IPrintOemPS2 インターフェイスの PublishDriverInterface メソッドを実装する必要があります。

  2. ドライバー (Unidrv または Pscript5) がプラグインの PublishDriverInterface メソッドを呼び出すと、IPrintOemDriverUI、IPrintCoreUI2IPrintOemDriverUniIPrintOemDriverPS、または IPrintCorePS2 インスタンスの IUnknown インターフェイスへのポインターが提供されます。

  3. プラグインは IUnknown::QueryInterface を呼び出すために IUnknown インターフェイス ポインターを使用する必要があり、IPrintOemDriverUIIPrintCoreUI2IPrintOemDriverUniIPrintOemDriverPS、または IPrintCorePS2 インターフェイスの目的のバージョンを表すインターフェイス識別子を指定します。 (詳細については、「プリンター ドライバーのインターフェイス識別子」をご参照ください。

  4. プラグインがドライバーでサポートされているインターフェイス バージョンを表すインターフェイス識別子を指定する場合、QueryInterface は IPrintOemDriverUIIPrintCoreUI2IPrintOemDriverUniIPrintOemDriverPS、または IPrintCorePS2 インターフェイスへのポインターを返します。 ドライバーは、プラグインへのインターフェイス ポインターを返す前に、インターフェイスの AddRef メソッド (Windows SDK ドキュメントで説明) を呼び出します。 プラグインは、後でインターフェイス メソッドを呼び出すためにこのポインターを使用するために、このポインターを保存する必要があります。

  5. IPrintOemDriverUIIPrintCoreUI2IPrintOemDriverUniIPrintOemDriverPS、または IPrintCorePS2 インターフェイス ポインターが不要になった場合、プラグインはインターフェイスの Release メソッドを呼び出す必要があります (Windows SDK ドキュメントで説明)。

プラグインで新しい Windows Vista IPrintCoreHelperPS または IPrintCoreHelperUni インターフェイスを使用するには、プラグインの IPrintOemUI::GetInfoIPrintOemPS::GetInfo、または IPrintOemUni::GetInfo メソッドでOEMGI_GETREQUESTEDHELPERINTERFACESのサポートを追加する必要があります。