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 |