IPrintOemUni::EnablePDEV 方法 (prcomoem.h)
方法 IPrintOemUni::EnablePDEV
可讓 Unidrv 的轉譯外掛程式建立自己的 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 結構的方法提供指標。 (如需詳細資訊,請參閱下列一節。)
傳回值
方法必須傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
作業成功。 |
|
作業失敗 |
如果作業失敗,方法應該呼叫 SetLastError 來設定錯誤碼。
備註
Unidrv 的轉譯外掛程式必須實 IPrintOemUni::EnablePDEV
作 方法。
方法 IPrintOemUni::EnablePDEV
會執行與印表機圖形 DLL 所匯出之 DrvEnablePDEV 函式相同的作業類型。 其目的是允許轉譯外掛程式建立自己的 PDEV 結構。 (如需 PDEV 結構的詳細資訊,請參閱 自定義 PDEV 結構。)
如果您提供導出 IPrintOemUni::EnablePDEV
方法的轉譯外掛程式,Undrv 的印表機圖形 DLL 會從其 DrvEnablePDEV 函式內呼叫 方法。
方法 IPrintOemUni::EnablePDEV
應該配置其私人 PDEV 結構的實例、初始化它,並將其位址傳回為方法的 pDevOem 參數。 其他外掛程式方法會接收位址做為 DEVOBJ 結構的 pdevOEM 成員。
DEVOBJ 結構的 pdevOEM 成員不會與 方法搭配 IPrintOemUni::EnablePDEV
使用。
phsurfPatterns、pGdiInfo 和 pDevInfo 參數值所指向的結構與 Unidrv 的 DrvEnablePDEV 函式所接收的結構相同。 轉譯外掛程式可以視需要修改結構內容。 它可藉由取得 HSURF 類型的表面控點,並將其放在 phsurfPatterns 所指向的緩衝區中,以提供表面填滿圖樣。 填滿模式類型和句柄順序會列在 DrvEnablePDEV的描述中。
pded 所指向的DRVENABLEDATA結構包含提供 Unidrv 印表機圖形 DLL 的圖形 DDI 函式位址。 您可以針對這些圖形 DDI 函式,在外掛程式中提供自定義的勾點函式。 DRVENABLEDATA 結構的內容可讓您的自定義勾點函式回呼驅動程式的圖形 DDI 函式。 如需詳細資訊,請參閱 自定義圖形 DDI 函式。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | prcomoem.h (包括 Prcomoem.h) |