DrvResetPDEV 函数 (winddi.h)

当 Win32 应用程序调用 ResetDC 时,DrvResetPDEV 函数允许图形驱动程序将驱动程序的状态从旧 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 结构传输到新的 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