WNDOBJ_cEnumStart 函数 (winddi.h)

WNDOBJ_cEnumStart 函数是一个回调函数,用于设置窗口可见区域中矩形枚举的参数。

语法

ENGAPI ULONG WNDOBJ_cEnumStart(
  WNDOBJ *pwo,
  ULONG  iType,
  ULONG  iDirection,
  ULONG  cLimit
);

参数

pwo

指向由调用 EngCreateWnd 创建的 WNDOBJ 结构的指针。

iType

指定要由 WNDOBJ_bEnum返回的结构的类型。 此参数可以CT_RECTANGLES,这意味着区域将枚举为矩形列表。

iDirection

确定矩形的返回顺序。 当在同一图面上执行重叠 的 DrvBitBlt 时,此顺序可能至关重要。 如果顺序与设备驱动程序无关,则应指定CD_ANY。 这允许 GDI 针对复杂区域优化其枚举。 此参数可能是以下值之一:

含义
CD_ANY 任何方便 GDI 的订单。
CD_LEFTDOWN 从右到左,从上到下。
CD_LEFTUP 从右到左,从下到上。
CD_LEFTWARDS 从左到右,未定义垂直方向。
CD_RIGHTDOWN 从左到右,从上到下。
CD_RIGHTUP 从左到右,从下到上。
CD_UPWARDS 从下到上,未定义水平方向。

cLimit

指示驱动程序对缓存感兴趣的对象数。 这仅用于决定何时停止计算矩形计数,而 GDI 正在计算此函数的返回值。 如果 cLimit 为零,则不进行计数。

返回值

返回值是将枚举的对象数的计数,前提是此值小于或等于 cLimit。 如果计数大于 cLimit,则返回值为0xFFFFFFFF。

注解

可以通过再次调用此函数来重启枚举。

仅调用WNDOBJ_cEnumStart:

  • EngCreateWnd 函数中提供给 GDI 的驱动程序回调函数的上下文中,或给定 WNDOBJ 的图形 DDI 函数。
  • 当调用线程具有设备锁定时,以确保不会发生任何客户端区域更改。

要求

要求
最低受支持的客户端 适用于 Windows 2000 及更高版本的 Windows 操作系统。
目标平台 通用
标头 winddi.h (包括 Winddi.h)
Library Win32k.lib
DLL Win32k.sys

另请参阅

DrvBitBlt

EngCreateWnd

EngLockDriverObj

WNDOBJ

WNDOBJ_bEnum