次の方法で共有


ドライバー提供のプロパティ シート ページを置換する

重要

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

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

IPrintCoreUI2 COM インターフェイスには、コア ドライバーの標準 UI ページを完全に置き換える場合に、Windows XP 以降のバージョンの Windows オペレーティング システムで実行されている Pscript5 UI プラグインで使用する必要がある 4 つのメソッドが用意されています。 (コア ドライバーという用語は、Unidrv または Pscript5 プリンター ドライバーを指します)。これらのメソッドは次のとおりです。

IPrintCoreUI2::EnumConstrainedOptions

IPrintCoreUI2::GetOptions

IPrintCoreUI2::SetOptions

IPrintCoreUI2::WhyConstrained

これらのメソッドは、UI プラグインの IPrintOemUI::DocumentPropertySheets および IPrintOemUI::DevicePropertySheets メソッドとそのプロパティ シート コールバック ルーチンの実行中にのみサポートされます。 UI プラグインでは、独自のユーザー インターフェイスを表示するために、これらのメソッドがサポートされています。 サポートされていない場合、これらのメソッドは E_NOTIMPL を返します。

コア ドライバーは、DrvDocumentPropertySheetsDrvDevicePropertySheets の 2 つの状況で独自のプロパティ シート UI を表示します。 最初のメソッドは、ドキュメントにのみ適用されるプロパティ (ドキュメント固定プロパティ) を表示し、2 番目のメソッドはデバイスに適用されるプロパティ (デバイス固定またはプリンター固定プロパティ) を表示します。

コア ドライバーは、処理するプロパティ シートの種類 (つまり、ドキュメント固定またはプリンター固定モード) を記憶します。 コア ドライバーは、その状態情報を UI インスタンス用に作成する構造体 (OEMUIOBJ 構造体) に保存します。 コア ドライバーはプラグインのインターフェイス メソッドを呼び出すときに、OEMUIOBJ 構造体へのポインターを渡します。これにより、プラグインが IPrintCoreUI2::EnumConstrainedOptionsIPrintCoreUI2::GetOptionsIPrintCoreUI2::SetOptions、または IPrintCoreUI2::WhyConstrained からコア ドライバーにコールバックすると、これらのメソッドはポインターをコア ドライバーに返し、モードを決定できるようになります。

IPrintCoreUI2::EnumConstrainedOptionsIPrintCoreUI2::SetOptionsIPrintCoreUI2::WhyConstrained の場合、IPrintOemUI::D ocumentPropertySheets またはそのプロパティ シート コールバック ルーチンの実行中にはドキュメント固定機能のみがサポートされ、IPrintOemUI::DevicePropertySheets またはそのプロパティ シート コールバック ルーチンの実行中はプリンター固定機能のみがサポートされます。 IPrintCoreUI2::SetOptions の場合、固定が現在の固定モードと一致しない機能は無視する必要があります。 IPrintCoreUI2::EnumConstrainedOptions または IPrintCoreUI2::WhyConstrained が、現在の固定モードと一致しない機能に対して呼び出された場合、メソッドは E_INVALIDARG を返す必要があります。

IPrintCoreUI2::GetOptions の場合、ドキュメント固定モード (つまり、IPrintOemUI::DocumentPropertySheets またはそのプロパティ シートコールバック ルーチンが実行されている場合) ではドキュメント固定機能とプリンター固定機能の両方がサポートされますが、プリンター固定モード (IPrintOemUI::DevicePropertySheets またはそのプロパティ シートコールバック ルーチンが実行されている場合) ではプリンター固定機能のみがサポートされます 。