Structure WNDOBJ (winddi.h)
La structure WNDOBJ permet au pilote de suivre la position, la taille et les modifications de région client visibles d’une fenêtre.
Syntaxe
typedef struct _WNDOBJ {
CLIPOBJ coClient;
PVOID pvConsumer;
RECTL rclClient;
SURFOBJ *psoOwner;
} WNDOBJ, *PWNDOBJ;
Membres
coClient
Spécifie une structure CLIPOBJ qui décrit la région cliente de la fenêtre. Si iDComplexity est DC_RECT et que le bord gauche dans rclBounds est supérieur ou égal au bord droit, ou si le bord supérieur est supérieur ou égal au bord inférieur, la région cliente est invisible.
pvConsumer
Pointeur vers une valeur définie par le pilote qui identifie cette structure WNDOBJ particulière. Cette valeur peut être définie en appelant la fonction WNDOBJ_vSetConsumer .
rclClient
Spécifie une structure RECTL qui décrit la zone cliente de la fenêtre dans les coordonnées de l’écran. Ce rectangle est exclusif en bas à droite, ce qui signifie que les bords inférieur et droit de cette région ne sont pas inclus.
psoOwner
Pointeur vers la structure SURFOBJ qui a été passée à EngCreateWnd lors de la création de ce WNDOBJ.
Remarques
La région cliente visible peut être énumérée en appelant les fonctions WNDOBJ_cEnumStart et WNDOBJ_bEnum .
Un pilote peut associer ses propres données à un WNDOBJ en appelant la fonction WNDOBJ_vSetConsumer .
En tant qu’accélérateur, le pilote peut accéder aux membres publics de la WNDOBJ. Il est garanti que ces membres publics restent inchangés uniquement dans le contexte de la routine de rappel du pilote fournie à GDI dans la fonction EngCreateWnd ou dans les fonctions où un WNDOBJ est donné.
Le pilote doit utiliser le SURFOBJ vers lequel pointe psoOwner pour récupérer l’état spécifique du pilote pertinent pour le WNDOBJ, tel que le handle PDEV du pilote, plutôt que de gérer des variables globales.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | winddi.h (inclure Winddi.h) |