IPrintOemPS::EnablePDEV 方法 (prcomoem.h)

方法 IPrintOemPS::EnablePDEV 可讓 Pscript5 的轉譯外掛程式建立自己的 PDEV 結構。

語法

HRESULT EnablePDEV(
        PDEVOBJ       pdevobj,
        PWSTR         pPrinterName,
        ULONG         cPatterns,
        HSURF         *phsurfPatterns,
        ULONG         cjGdiInfo,
        GDIINFO       *pGdiInfo,
        ULONG         cjDevInfo,
        DEVINFO       *pDevInfo,
        DRVENABLEDATA *pded,
  [out] OUT PDEVOEM   *pDevOem
);

參數

pdevobj

呼叫端提供的 DEVOBJ 結構指標。

pPrinterName

呼叫端提供的文字字串指標,代表印表機的邏輯位址。

cPatterns

呼叫端提供的值,代表 phsurfPatterns 所指向之緩衝區中包含的 HSURF 型面控點數目。

phsurfPatterns

呼叫端提供的緩衝區指標夠大,足以包含 HSURF 型別表面控點的 cPatterns 數目。 控點代表表面填滿圖樣。

cjGdiInfo

呼叫端提供的值,代表 pGdiInfo 所指向之結構的大小。

pGdiInfo

呼叫端提供的 GDIINFO 結構的指標。

cjDevInfo

呼叫端提供的值,代表 pDevInfo 所指向之結構的大小。

pDevInfo

呼叫端提供的 DEVINFO 結構的指標。

pded

呼叫端提供的 DRVENABLEDATA 結構的指標,其中包含印表機驅動程序圖形 DDI 勾點函式的位址。 如需詳細資訊,請參閱接下來的<備註>一節。

[out] pDevOem

接收私用 PDEV 結構的方法提供指標。 (如需詳細資訊,請參閱下列一節。)

傳回值

方法必須傳回下列其中一個值。

傳回碼 描述
S_OK
作業成功。
E_FAIL
作業失敗
E_NOTIMPL
此方法尚未實作。
 

如果作業失敗,方法應該呼叫 SetLastError 來設定錯誤碼。

備註

方法 IPrintOemPS::EnablePDEV 會執行與印表機圖形 DLL 所匯出之 DrvEnablePDEV 函式相同的作業類型。 其目的是允許轉譯外掛程式建立自己的 PDEV 結構。 (如需 PDEV 結構的詳細資訊,請參閱 自定義 PDEV 結構。)

如果您提供導出 IPrintOemPS::EnablePDEV 方法的轉譯外掛程式,Pscript5 的印表機圖形 DLL 會從其 DrvEnablePDEV 函式內呼叫 方法。

方法 IPrintOemPS::EnablePDEV 應該配置其私人 PDEV 結構的實例、初始化它,並將其位址傳回為方法的 pDevOem 參數。 其他外掛程式方法會接收位址做為 DEVOBJ 結構的 pdevOEM 成員。

DEVOBJ 結構的 pdevOEM 成員不會與 方法搭配 IPrintOemPS::EnablePDEV 使用。

phsurfPatternspGdiInfo 和 pDevInfo 參數值所指向的結構與 Pscript5 的 DrvEnablePDEV 函式所接收的結構相同。 轉譯外掛程式可以視需要修改結構內容。 它可藉由取得 HSURF 類型的表面控點,並將其放在 phsurfPatterns 所指向的緩衝區中,以提供表面填滿圖樣。 填滿模式類型和句柄順序會列在 DrvEnablePDEV的描述中。

pded 所指向的DRVENABLEDATA結構包含 Pscript5 印表機圖形 DLL 所提供的圖形 DDI 函式位址。 您可以針對這些圖形 DDI 函式,在外掛程式中提供自定義的勾點函式。 DRVENABLEDATA 結構的內容可讓您的自定義勾點函式回呼驅動程式的圖形 DDI 函式。 如需詳細資訊,請參閱 自定義圖形 DDI 函式

規格需求

需求
目標平台 桌面
標頭 prcomoem.h (包括 Prcomoem.h)