取代驅動程式提供的屬性表頁面
重要
新式列印平臺是 Windows 與印表機通訊的慣用方法。 我們建議您使用Microsoft的 IPP 收件匣類別驅動程式,以及列印支援應用程式 (PSA),自定義 Windows 10 和 11 中的列印體驗,以進行印表機裝置開發。
如需詳細資訊,請參閱 新式列印平臺 和 列印支援應用程式設計指南。
IPrintCoreUI2 COM 介面提供四種方法,讓 Pscript5 UI 外掛程式在 Windows XP 和更新版本的 Windows 操作系統上執行時,必須使用它想要完全取代核心驅動程式的標準 UI 頁面。 (核心驅動程式一詞是指 Unidrv 或 Pscript5 印表機驅動程式。這些方法如下所示:
IPrintCoreUI2::EnumConstrainedOptions
只有在執行 UI 外掛程式的 IPrintOemUI::D ocumentPropertySheets 和 IPrintOemUI::D evicePropertySheets 方法及其屬性表回呼例程時,才支持這些方法。 UI 外掛程式支援這些方法來顯示自己的使用者介面。 不支援時,這些方法會傳回E_NOTIMPL。
核心驅動程式會在兩種情況下顯示自己的屬性表 UI:適用於DrvDocumentPropertySheets和DrvDevicePropertySheets。 第一個方法會顯示只套用至檔的屬性(檔黏性屬性),而第二種方法則顯示套用至裝置的屬性(裝置或印表機黏性屬性)。
核心驅動程式會記住它處理的屬性表類型(因此,模式 -- 檔案黏性或印表機黏性)。 核心驅動程式會將該狀態資訊儲存在為UI實例建立的結構中( OEMUIOBJ 結構)。 當核心驅動程式呼叫外掛程式的介面方法時, 它會將指標傳遞至 OEMUIOBJ 結構,讓外掛程式從 IPrintCoreUI2::EnumConstrainedOptions、IPrintCoreUI2::GetOptions、IPrintCoreUI2::SetOptions 或 IPrintCoreUI2::WhyConstrained 呼叫核心驅動程式時,這些方法會將指標傳回核心驅動程式,然後能夠判斷模式。
針對 IPrintCoreUI2::EnumConstrainedOptions, IPrintCoreUI2::SetOptions 和 IPrintCoreUI2::WhyConstrained,在 IPrintOemUI::D ocumentPropertySheets 或其屬性表回呼例程執行期間僅支持檔黏性功能,而且在執行 IPrintOemUI::D evicePropertySheets 或其屬性表回呼例程期間僅支援印表機黏性功能。 針對 IPrintCoreUI2::SetOptions,應該忽略黏性不符合目前黏性模式的任何功能。 當 IPrintCoreUI2::EnumConstrainedOptions 或 IPrintCoreUI2::WhyConstrained 針對黏性不符合目前黏性模式的功能呼叫時,方法應該會傳回E_INVALIDARG。
針對 IPrintCoreUI2::GetOptions,檔黏性和印表機黏性功能都支援在檔黏模式中(也就是說,當 IPrintOemUI::D ocumentPropertySheets 或其屬性表回呼例程正在執行時),但列印機黏性模式僅支援印表機黏性功能(IPrintOemUI::D evicePropertySheets 或其屬性表回呼例程正在執行時)。