EngControlSprites-Funktion (winddi.h)
Die EngControlSprites-Funktion reißt Sprites auf dem angegebenen WNDOBJ-Bereich ab oder reißt sie neu.
Syntax
ENGAPI BOOL EngControlSprites(
WNDOBJ *pwo,
FLONG fl
);
Parameter
pwo
Zeiger auf die WNDOBJ-Struktur , auf der die Sprites erstellt oder abgerissen werden.
fl
Dieser Parameter kann einer der folgenden Werte sein:
ECS_TEARDOWN
Fordert an, dass GDI abreißt und den Spriteeffekt eines beliebigen Sprites entfernt, der den WNDOBJ-Bereich überlappt. Mit anderen Worten, GDI wiederholt den Sprite mit einem neutralisierten Effekt, sodass der Sprite auf dem Bildschirm nicht sichtbar ist. GDI stellt den Bereich unter dem Sprite wieder her, indem sofort DrvCopyBits aufgerufen wird.
ECS_REDRAW
Fordert, dass GDI neu zeichnet und alle Sprites wiederherstellen, die den WNDOBJ-Bereich überlappen. GDI wird direkt auf dem Bildschirm angezeigt, indem Es DrvCopyBits aufruft.
Rückgabewert
EngControlSprites gibt TRUE zurück, wenn der angeforderte Vorgang erfolgreich abgeschlossen wurde. Andernfalls wird FALSE zurückgegeben.
Hinweise
Der Aufruf von ECS_TEARDOWN kann dauerhaft sein. Beispielsweise kann der Treiber EngControlSprites einmal mit ECS_TEARDOWN aufrufen, sobald er den WNDOBJ erstellt hat, und es werden keine Sprites über dem Fenster gezeichnet.
Der Treiber kann EngControlSprites mit ECS_REDRAW mehrmals aufrufen, ohne zwischenrufe mit ECS_TEARDOWN zu tätigen, um jederzeit die Neulackierung eines Sprites zu erzwingen.
ECS_TEARDOWN erzwingt immer eine sofortige Neuaufwen von Sprites auf dem WNDOBJ-Bereich. GDI speichert die Bits unter den Sprites, indem DrvCopyBits aufgerufen wird, um sie vom Bildschirm zu kopieren, und zusammengesetzt die Sprites dann auf dem Bildschirm, indem DrvCopyBits aufgerufen wird. Dies kann verwendet werden, damit Sprites in einen Backpuffer zusammengesetzt werden können, bevor ein Swappufferbefehl an die Hardware gesendet wird (über DrvSwapBuffers oder einen anderen Treiberaustauschpuffermechanismus). Dies ermöglicht ein nahtloses Kompositing von Sprites, ohne zu blinken, wenn das Fenster doppelt puffert.
ECS_TEARDOWN wird nie dazu führen, dass eine WOC_SPRITE_NO_OVERLAP Nachricht gesendet wird, und ebenso ECS_REDRAW niemals dazu führen, dass eine WOC_SPRITE_OVERLAP Nachricht gesendet wird.
EngControlSprites können auch dann aufgerufen werden, wenn derzeit keine Sprites den WNDOBJ-Bereich überlappen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows 2000 und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform | Universell |
Header | winddi.h (einschließlich Winddi.h) |
Bibliothek | Win32k.lib |
DLL | Win32k.sys |