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