drvResetPDEV 函数 (winddi.h)

DrvResetPDEV 函数允许图形驱动程序在 Win32 应用程序调用 ResetDC 时将驱动程序的状态从旧的 PDEV 结构传输到新的 PDEV 结构。

语法

BOOL DrvResetPDEV(
  DHPDEV dhpdevOld,
  DHPDEV dhpdevNew
);

参数

dhpdevOld

为原始设备 PDEV 结构提供调用方句柄。 此句柄以前由驱动程序作为 DrvEnablePDEV 的返回值提供。

dhpdevNew

为新的 PDEV 结构提供调用方句柄。

返回值

如果函数成功,则此返回值为 TRUE 。 否则为 FALSE,并记录错误代码。

注解

图形驱动程序的 DrvResetPDEV 函数应用于修改新 PDEV 结构的内容,具体取决于当前正在使用的旧 (的内容) PDEV 结构。

需要了解模式更改的 OpenGL 显示驱动程序应实现 DrvResetPDEV。 否则,所有其他显示驱动程序通常不需要实现此函数。

请注意,以下信息与打印机图形 DLL 相关。

由于应用程序的对 Win32 ResetDC 函数的调用,该函数又导致 GDI 调用驱动程序的 DrvEnablePDEV 以获取新的 PDEV 结构。 由于驱动程序可以在呈现打印作业期间修改 PDEV 结构的内容, 因此 DrvResetPDEV 函数允许驱动程序将这些修改从旧的 PDEV 结构传输到新结构。

打印机图形 DLL 可能想要添加到新 PDEV 结构中的信息类型示例是指向缓存字体文件的指针,或者指示下次调用 DrvStartDocDrvStartPage 时是否应 (或不应) 页面初始化的标志。

如果在呈现打印文档期间调用 ResetDC ,打印机图形 DLL 将接收以下调用序列:

    dhpdevNew = DrvEnablePDEV();
    DrvResetPDEV(dhpdevOld, dhpdevNew);
    DrvDisableSurface(dhpdevOld);
    DrvDisablePDEV(dhpdevOld);
    DrvEnableSurface(dhpdevNew);
    DrvStartDoc(dhpdevNew);

如果在文档之间调用 ResetDC ,则没有与 PDEV 关联的图面,因此只会进行以下调用序列:

    dhpdevNew = DrvEnablePDEV();
    DrvResetPDEV(dhpdevOld,dhpdevNew);
    DrvDisablePDEV(dhpdevOld);

要求

   
目标平台 台式机
标头 winddi.h (包括 Winddi.h)

另请参阅

DrvDisablePDEV

DrvDisableSurface

DrvEnablePDEV

DrvEnableSurface

DrvStartDoc

DrvStartPage