WNDOBJ 结构 (winddi.h)
WNDOBJ 结构允许驱动程序跟踪窗口的位置、大小和可见客户端区域更改。
语法
typedef struct _WNDOBJ {
CLIPOBJ coClient;
PVOID pvConsumer;
RECTL rclClient;
SURFOBJ *psoOwner;
} WNDOBJ, *PWNDOBJ;
成员
coClient
指定描述窗口客户端区域的 CLIPOBJ 结构。 如果 iDComplexity 为DC_RECT并且 rclBounds 中的左边缘大于或等于右边缘,或者上边缘大于或等于底部边缘,则客户端区域不可见。
pvConsumer
指向驱动程序定义的值的指针,该值标识此特定 WNDOBJ 结构。 可以通过调用 WNDOBJ_vSetConsumer 函数来设置此值。
rclClient
指定一个 RECTL 结构,该结构以屏幕坐标描述窗口的工作区。 此矩形是右下角独占的,这意味着不包括该区域的下边缘和右侧边缘。
psoOwner
指向在创建此 WNDOBJ 时传递给 EngCreateWnd 的 SURFOBJ 结构的指针。
注解
可以通过调用 WNDOBJ_cEnumStart 和 WNDOBJ_bEnum 函数来枚举可见的客户端区域。
驱动程序可以通过调用 WNDOBJ_vSetConsumer 函数将其自己的数据与 WNDOBJ 关联。
作为加速器,驱动程序可以访问 WNDOBJ 的公共成员。 保证这些公共成员仅在 EngCreateWnd 函数中提供给 GDI 的驱动程序回调例程的上下文中或给定 WNDOBJ 的函数中保持不变。
驱动程序应使用 psoOwner 指向的 SURFOBJ 来检索与 WNDOBJ 相关的特定于驱动程序的状态(例如驱动程序的 PDEV 句柄),而不是维护全局变量。
要求
要求 | 值 |
---|---|
Header | winddi.h (包括 Winddi.h) |