Структура 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
Указатель на структуру SURFOBJ , переданную в EngCreateWnd при создании этого WNDOBJ.
Комментарии
Видимый клиентский регион можно перечислить, вызвав функции WNDOBJ_cEnumStart и WNDOBJ_bEnum .
Драйвер может связать свои данные с WNDOBJ, вызвав функцию WNDOBJ_vSetConsumer .
В качестве ускорителя драйвер может получить доступ к открытым членам WNDOBJ. Эти открытые члены гарантированно останутся неизменными только в контексте подпрограммы обратного вызова драйвера, предоставляемой GDI в функции EngCreateWnd , или функций, для которых задан WNDOBJ.
Драйвер должен использовать surfOBJ, на который указывает psoOwner , чтобы получить состояние конкретного драйвера, соответствующее WNDOBJ, например дескриптор PDEV драйвера, а не поддерживать глобальные переменные.
Требования
Требование | Значение |
---|---|
Заголовок | winddi.h (включая Winddi.h) |