WNDOBJ-Struktur (winddi.h)
Mit der WNDOBJ-Struktur kann der Treiber die Änderungen an der Position, Größe und sichtbaren Clientregion eines Fensters nachverfolgen.
Syntax
typedef struct _WNDOBJ {
CLIPOBJ coClient;
PVOID pvConsumer;
RECTL rclClient;
SURFOBJ *psoOwner;
} WNDOBJ, *PWNDOBJ;
Member
coClient
Gibt eine CLIPOBJ-Struktur an, die den Clientbereich des Fensters beschreibt. Wenn iDComplexity DC_RECT ist und der linke Rand in rclBounds größer oder gleich dem rechten Rand ist oder der obere Rand größer oder gleich dem unteren Rand ist, ist der Clientbereich unsichtbar.
pvConsumer
Zeiger auf einen vom Treiber definierten Wert, der diese bestimmte WNDOBJ-Struktur identifiziert. Dieser Wert kann durch Aufrufen der WNDOBJ_vSetConsumer-Funktion festgelegt werden.
rclClient
Gibt eine RECTL-Struktur an, die den Clientbereich des Fensters in Bildschirmkoordinaten beschreibt. Dieses Rechteck ist exklusiv unten rechts, was bedeutet, dass die unteren und rechten Ränder dieser Region nicht enthalten sind.
psoOwner
Zeiger auf die SURFOBJ-Struktur , die beim Erstellen dieses WNDOBJ an EngCreateWnd übergeben wurde.
Hinweise
Die sichtbare Clientregion kann durch Aufrufen der Funktionen WNDOBJ_cEnumStart und WNDOBJ_bEnum aufgelistet werden.
Ein Treiber kann seine eigenen Daten einem WNDOBJ zuordnen, indem er die WNDOBJ_vSetConsumer-Funktion aufruft.
Als Accelerator kann der Treiber auf öffentliche Mitglieder des WNDOBJ zugreifen. Diese öffentlichen Member bleiben garantiert nur im Kontext der Treiberrückrufroutine, die GDI in der EngCreateWnd-Funktion bereitgestellt wird, oder der Funktionen, in denen ein WNDOBJ angegeben wird, unverändert.
Der Treiber sollte den SURFOBJ verwenden, auf den psoOwner verweist, um den treiberspezifischen Zustand abzurufen, der für den WNDOBJ relevant ist, z. B. den PDEV-Handle des Treibers, anstatt globale Variablen beizubehalten.
Anforderungen
Anforderung | Wert |
---|---|
Header | winddi.h (einschließlich Winddi.h) |