以 COM 為基礎的轉譯外掛程式
重要
新式列印平臺是 Windows 與印表機通訊的慣用方法。 我們建議您使用Microsoft的 IPP 收件匣類別驅動程式,以及列印支援應用程式 (PSA),自定義 Windows 10 和 11 中的列印體驗,以進行印表機裝置開發。
如需詳細資訊,請參閱 新式列印平臺 和 列印支援應用程式設計指南。
若要提供自定義的勾點函式,您的 COM 型轉譯外掛程式必須實作 IPrintOemUni::EnableDriver 或 IPrintOemPS::EnableDriver 方法,以 DRVENABLEDATA 結構填入每個勾點函式的位址。
COM 型轉譯外掛程式只有在 Unidrv 或 Pscript5 驅動程式定義函式時,才能攔截圖形 DDI 函式。 如需這類函式的清單,請參閱 IPrintOemUni::EnableDriver 或 IPrintOemPS::EnableDriver。
如果您提供特定的自定義勾點函式,該函式會先佔驅動程式的對等圖形 DDI 函式。 當您設計自定義的勾點函式時,您有下列選項:
勾點函式可以在內部完全處理圖形 DDI 作業。
勾點函式可以回呼印表機驅動程式的對等圖形 DDI 函式。
藉由回呼回驅動程式的圖形 DDI 函式,勾點函式可以執行函式自變數的前置處理或後置處理,但仍允許驅動程式實際執行圖形 DDI 作業。 轉譯外掛程式 IPrintOemUni::EnablePDEV 或 IPrintOemPS::EnablePDEV 方法的其中一個輸入自變數是 DRVENABLEDATA 結構,其中包含驅動程式圖形 DDI 函式的指標。 如果您想要回呼這些函式,您應該儲存此結構的內容。
您可能需要提供 自訂的 PDEV 結構。 您可以從圖形 DDI 攔截函式中參考這個結構,透過 每個攔截函式接收做為輸入的 SURFOBJ 結構指標。 具體來說,SURFOBJ 結構的 dhpdev 成員指向 DEVOBJ 結構,而 DEVOBJ 結構的 pdevOEM 成員指向您的自定義 PDEV 結構。