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 结构的方法提供的指针。 (有关详细信息,请参阅以下备注部分。
返回值
该方法必须返回以下值之一。
返回代码 | 描述 |
---|---|
|
作成功。 |
|
作失败 |
如果作失败,该方法应调用 SetLastError 来设置错误代码。
言论
Unidrv 的呈现插件必须实现 IPrintOemUni::EnablePDEV
方法。
IPrintOemUni::EnablePDEV
方法执行与打印机图形 DLL 导出的 DrvEnablePDEV 函数相同的作类型。 其用途是允许呈现插件创建自己的 PDEV 结构。 (有关 PDEV 结构的详细信息,请参阅 自定义 PDEV 结构。)
如果提供导出 IPrintOemUni::EnablePDEV
方法的呈现插件,Undrv 的打印机图形 DLL 将从其 DrvEnablePDEV 函数中调用该方法。
IPrintOemUni::EnablePDEV
方法应分配其专用 PDEV 结构的实例,对其进行初始化,并将其地址作为方法的 pDevOem 参数返回。 其他插件方法接收地址作为 pdevOEMDEVOBJ 结构的成员。
DEVOBJ 结构的 pdevOEM 成员不与 IPrintOemUni::EnablePDEV
方法一起使用。
phsurfPatterns、pGdiInfo所指向的结构,pDevInfo 参数值与 Unidrv DrvEnablePDEV 函数接收的结构相同。 呈现插件可以根据需要修改结构内容。 它可以通过获取 HSURF 类型的表面手柄并将其放置在 phsurfPatterns指向的缓冲区中来提供表面填充图案。 填充模式类型和句柄顺序列在 DrvEnablePDEV的说明中。
pded 指向的 DRVENABLEDATA 结构包含提供的 Unidrv 打印机图形 DLL 提供的图形 DDI 函数的地址。 你可以为这些图形 DDI 函数提供插件中的自定义挂钩函数。 DRVENABLEDATA 结构的内容使自定义挂钩函数能够回调驱动程序的图形 DDI 函数。 有关详细信息,请参阅 自定义图形 DDI 函数。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (include Prcomoem.h) |