Freigeben über


DdResetVisrgn-Funktion (ddrawgdi.h)

[Diese Funktion kann sich mit jeder Betriebssystemrevision ändern. Verwenden Sie stattdessen die Microsoft DirectDraw- und Microsoft Direct3DAPIs. diese APIs isolieren Anwendungen vor solchen Betriebssystemänderungen und verbergen viele andere Schwierigkeiten, die bei der direkten Interaktion mit Anzeigetreibern auftreten.]

Wrapper für die NtGdiDdResetVisrgn-Funktion und aktiviert zeitnahe Benutzermodusinformationen im Abschneidebereich für Fenster auf dem Desktop.

GdiEntry6 ist als Alias für diese Funktion definiert.

Syntax

BOOL DdResetVisrgn(
  LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
  HWND                      hWnd
);

Parameter

pSurfaceLocal

Zeiger auf das Benutzermodusobjekt einer beliebigen Oberfläche, die zum DirectDraw-Gerät gehört, für das das Ausschneiden zurückgesetzt werden soll. Weitere Informationen finden Sie in der DDK-Dokumentation.

hWnd

Reserviert.

Rückgabewert

Bei erfolgreicher Ausführung gibt diese Funktion TRUE zurück. Andernfalls wird FALSE zurückgegeben.

Hinweise

Das Clipping kann sich asynchron aus sicht von Benutzermodusthreads ändern. Die Kernelmodusteile von DirectDraw und Windows Graphics Device Interface (GDI) verwalten einen Zähler, der bei jeder Änderung der Abschneideliste für den gesamten Desktop inkrementiert wird. Ein Aufruf dieser Funktion zeichnet diesen Leistungsindikator mit jeder vorhandenen primären DirectDraw-Oberfläche im System auf.

Zu jedem späteren Zeitpunkt, wenn eine dieser primären Oberflächen durch einen IDirectDrawSurface7::Blt - oder IDirectDrawSurface7::Lock-Vorgang geändert wird (siehe DDK-Dokumentation), wird der mit der Oberfläche aufgezeichnete Zähler mit dem globalen Zähler verglichen. Wenn diese Werte unterschiedlich sind, wird ein Fehlercode DDERR_VISRGNCHANGED an den Benutzermoduscode zurückgegeben. Der Benutzermoduscode fragt dann den aktuellen Clipping für den Desktop erneut ab, ruft NtGdiDdResetVisrgn auf, und probieren Sie den auf die primäre Oberfläche angewendeten IDirectDrawSurface7::Blt erneut aus, wobei der neue Clipping berücksichtigt wird. Schließlich ist das Clipping, das vom Benutzermoduscode erfasst wurde, identisch mit dem aktuellen Clipping im Kernelmodus, und IDirectDrawSurface7::Blt darf fortgesetzt werden.

Anwendungen wird empfohlen, die IDirectDrawClipper-Schnittstelle oder die IDirect3DDevice8::P resent-Methode zu verwenden, um asynchrone Clippingänderungen zu verarbeiten. Diese Konstrukte implementieren asynchrones Ausschneiden auf automatisierte und betriebssystemunabhängige Weise.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ddrawgdi.h

Weitere Informationen

Low-Level-Clientunterstützung für Grafiken