Поделиться через


Структура 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)

См. также раздел

CLIPOBJ

EngCreateWnd

SURFOBJ

WNDOBJCHANGEPROC

WNDOBJ_bEnum

WNDOBJ_cEnumStart

WNDOBJ_vSetConsumer