Partager via


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)

Voir aussi

CLIPOBJ

EngCreateWnd

SURFOBJ

WNDOBJCHANGEPROC

WNDOBJ_bEnum

WNDOBJ_cEnumStart

WNDOBJ_vSetConsumer