共用方式為


從外掛程式存取印表機驅動程式介面

重要

新式列印平臺是 Windows 與印表機通訊的慣用方法。 我們建議您使用Microsoft的 IPP 收件匣類別驅動程式,以及列印支援應用程式 (PSA),自定義 Windows 10 和 11 中的列印體驗,以進行印表機裝置開發。

如需詳細資訊,請參閱 新式列印平臺列印支援應用程式設計指南

如果外掛程式呼叫屬於驅動程式提供的 IPrintOemDriverUI、IPrintCoreHelperPSIPrintCoreHelperUni、IPrintCoreUI2、IPrintOemDriverUniIPrintOemDriverPS 或 IPrintCorePS2 COM 介面的方法,則必須從驅動程式取得介面指標,如下所示:

  1. 外掛程式必須實作 IPrintOemUI、IPrintOemUI2、IPrintOemUni、IPrintOemUni2、IPrintOemPS 或 IPrintOemPS2 介面的 PublishDriverInterface 方法。

  2. 當驅動程式 (Unidrv 或 Pscript5) 呼叫外掛程式的 PublishDriverInterface 方法時,它會提供 IPrintOemDriverUI、IPrintCoreUI2、IPrintOemDriverUniIPrintOemDriverPS 或 IPrintCorePS2 實例的 IUnknown 介面指標。

  3. 外掛程式必須使用 IUnknown 介面指標來呼叫 IUnknown::QueryInterface,並指定介面標識符,代表 IPrintOemDriverUI、IPrintCoreUI2、IPrintOemDriverUni、IPrintOemDriverPS 或 IPrintCorePS2 介面的所需版本。 (如需詳細資訊,請參閱 印表機驅動程式的介面識別碼。)

  4. 如果外掛程式指定介面標識符,代表驅動程式支援的介面版本,QueryInterface 會傳回 IPrintOemDriverUI、IPrintCoreUI2、IPrintOemDriverUniIPrintOemDriverPS 或 IPrintCorePS2 介面的指標。 請注意,驅動程式會在將介面指標傳回外掛程式之前,先呼叫介面的 AddRef 方法(如 Windows SDK 檔中所述)。 外掛程式應該儲存此指標,以供稍後用來呼叫介面方法。

  5. 當不再需要 IPrintOemDriverUIIPrintCoreUI2、IPrintOemDriverUniIPrintOemDriverPS 或 IPrintCorePS2 介面指標時,插件必須呼叫介面的 Release 方法(如 Windows SDK 檔中所述)。

若要讓外掛程式使用新的 Windows Vista IPrintCoreHelperPS 或 IPrintCoreHelperUni 介面,外掛程式必須在其 IPrintOemUI::GetInfo、IPrintOemPS::GetInfo IPrintOemUni::GetInfo 方法中新增OEMGI_GETREQUESTEDHELPERINTERFACES支援。