從外掛程式存取印表機驅動程式介面
重要
新式列印平臺是 Windows 與印表機通訊的慣用方法。 我們建議您使用Microsoft的 IPP 收件匣類別驅動程式,以及列印支援應用程式 (PSA),自定義 Windows 10 和 11 中的列印體驗,以進行印表機裝置開發。
如需詳細資訊,請參閱 新式列印平臺 和 列印支援應用程式設計指南。
如果外掛程式呼叫屬於驅動程式提供的 IPrintOemDriverUI、IPrintCoreHelperPS、IPrintCoreHelperUni、IPrintCoreUI2、IPrintOemDriverUni、IPrintOemDriverPS 或 IPrintCorePS2 COM 介面的方法,則必須從驅動程式取得介面指標,如下所示:
外掛程式必須實作 IPrintOemUI、IPrintOemUI2、IPrintOemUni、IPrintOemUni2、IPrintOemPS 或 IPrintOemPS2 介面的 PublishDriverInterface 方法。
當驅動程式 (Unidrv 或 Pscript5) 呼叫外掛程式的 PublishDriverInterface 方法時,它會提供 IPrintOemDriverUI、IPrintCoreUI2、IPrintOemDriverUni、IPrintOemDriverPS 或 IPrintCorePS2 實例的 IUnknown 介面指標。
外掛程式必須使用 IUnknown 介面指標來呼叫 IUnknown::QueryInterface,並指定介面標識符,代表 IPrintOemDriverUI、IPrintCoreUI2、IPrintOemDriverUni、IPrintOemDriverPS 或 IPrintCorePS2 介面的所需版本。 (如需詳細資訊,請參閱 印表機驅動程式的介面識別碼。)
如果外掛程式指定介面標識符,代表驅動程式支援的介面版本,QueryInterface 會傳回 IPrintOemDriverUI、IPrintCoreUI2、IPrintOemDriverUni、IPrintOemDriverPS 或 IPrintCorePS2 介面的指標。 請注意,驅動程式會在將介面指標傳回外掛程式之前,先呼叫介面的 AddRef 方法(如 Windows SDK 檔中所述)。 外掛程式應該儲存此指標,以供稍後用來呼叫介面方法。
當不再需要 IPrintOemDriverUI、IPrintCoreUI2、IPrintOemDriverUni、IPrintOemDriverPS 或 IPrintCorePS2 介面指標時,插件必須呼叫介面的 Release 方法(如 Windows SDK 檔中所述)。
若要讓外掛程式使用新的 Windows Vista IPrintCoreHelperPS 或 IPrintCoreHelperUni 介面,外掛程式必須在其 IPrintOemUI::GetInfo、IPrintOemPS::GetInfo 或 IPrintOemUni::GetInfo 方法中新增OEMGI_GETREQUESTEDHELPERINTERFACES支援。