DdResetVisrgn 函数 (ddrawgdi.h)

[此函数可能会随每个操作系统修订版而更改。 请改用 Microsoft DirectDraw 和 Microsoft Direct3DAPI;这些 API 将应用程序与此类操作系统更改隔离开来,并隐藏与显示驱动程序直接交互时涉及的许多其他困难。]

NtGdiDdResetVisrgn 函数的包装器,在桌面上的窗口的剪辑区域上启用及时的用户模式信息。

GdiEntry6 定义为此函数的别名。

语法

BOOL DdResetVisrgn(
  LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
  HWND                      hWnd
);

参数

pSurfaceLocal

指向属于要为其重置剪辑的 DirectDraw 设备的任何图面的用户模式对象的指针。 有关详细信息,请参阅 DDK 文档。

hWnd

保留。

返回值

如果成功,此函数返回 TRUE;否则返回 FALSE

注解

从用户模式线程的角度来看,剪辑可以异步更改。 DirectDraw 和 Windows 图形设备接口的内核模式部分 (GDI) 维护计数器,只要整个桌面的剪辑列表发生更改,计数器就会递增。 对此函数的调用记录此计数器以及系统上每个现有 DirectDraw 主图面。

以后,当 IDirectDrawSurface7::Blt 或 IDirectDrawSurface7::Lock 操作修改这些主图面之一时, (请参阅 DDK 文档) ,将用图面记录的计数器与全局计数器进行比较。 如果这些值不同,则会将错误代码DDERR_VISRGNCHANGED返回到用户模式代码。 然后,用户模式代码将重新查询桌面的当前剪辑,调用 NtGdiDdResetVisrgn,然后重新尝试应用于主图面的 IDirectDrawSurface7::Blt,同时遵循新的剪辑。 最终,用户模式代码采样的剪辑将与内核模式拥有的当前剪辑相同,并且将允许 IDirectDrawSurface7::Blt 继续。

建议应用程序使用 IDirectDrawClipper 接口或 IDirect3DDevice8::P resent 方法来处理异步剪辑更改。 这些构造以与操作系统无关的自动化方式实现异步剪辑。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 ddrawgdi.h

另请参阅

图形低级别客户端支持