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

调用方提供的指向缓冲区的指针,该指针足够大,足以包含 cPatterns 数量的 HSURF 类型图柄。 图柄表示表面填充图案。

cjGdiInfo

调用方提供的值,表示 pGdiInfo 指向的结构的大小。

pGdiInfo

调用方提供的指向 GDIINFO 结构的指针。

cjDevInfo

调用方提供的值,表示 pDevInfo 指向的结构的大小。

pDevInfo

调用方提供的指向 DEVINFO 结构的指针。

pded

调用方提供的指向 DRVENABLEDATA 结构的指针,该结构包含打印机驱动程序的图形 DDI 挂钩函数的地址。 有关更多信息,请参见下面的“备注”部分。

[out] pDevOem

接收指向专用 PDEV 结构的方法提供的指针。 (有关详细信息,请参阅以下“备注”部分。)

返回值

方法必须返回以下值之一。

返回代码 说明
S_OK
操作成功。
E_FAIL
操作失败
 

如果操作失败,方法应调用 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 起使用。

phsurfPatternspGdiInfopDevInfo 参数值所指向的结构与 Unidrv 的 DrvEnablePDEV 函数接收的结构相同。 呈现插件可以根据需要修改结构内容。 它可以通过获取 HSURF 类型的表面手柄并将其放置在 phsurfPatterns 指向的缓冲区中来提供表面填充图案。 DrvEnablePDEV 的说明中列出了填充模式类型和句柄顺序。

pded 指向的 DRVENABLEDATA 结构包含 Unidrv 打印机图形 DLL 提供的图形 DDI 函数的地址。 允许在插件中为这些图形 DDI 函数提供自定义挂钩函数。 DRVENABLEDATA 结构的内容使自定义挂钩函数能够调用回驱动程序的图形 DDI 函数。 有关详细信息,请参阅 自定义图形 DDI 函数

要求

要求
目标平台 桌面
标头 prcomoem.h (包括 Prcomoem.h)