DrvResetPDEV-Funktion (winddi.h)
Die DrvResetPDEV-Funktion ermöglicht es einem Grafiktreiber, den Zustand des Treibers von einer alten PDEV-Struktur in eine neue PDEV-Struktur zu übertragen, wenn eine Win32-Anwendung ResetDC aufruft.
Syntax
BOOL DrvResetPDEV(
DHPDEV dhpdevOld,
DHPDEV dhpdevNew
);
Parameter
dhpdevOld
Vom Aufrufer bereitgestelltes Handle für die PDEV-Struktur des ursprünglichen Geräts. Dieses Handle wurde zuvor vom Treiber als Rückgabewert für DrvEnablePDEV bereitgestellt.
dhpdevNew
Vom Aufrufer bereitgestelltes Handle für die neue PDEV-Struktur.
Rückgabewert
Dieser Rückgabewert ist TRUE , wenn die Funktion erfolgreich ist. Andernfalls ist er FALSE, und ein Fehlercode wird protokolliert.
Hinweise
Die DrvResetPDEV-Funktion eines Grafiktreibers sollte verwendet werden, um den Inhalt einer neuen PDEV-Struktur basierend auf dem Inhalt der alten (derzeit verwendeten) PDEV-Struktur zu ändern.
OpenGL-Anzeigetreiber, die über Modusänderungen bescheid wissen müssen, sollten DrvResetPDEV implementieren. Andernfalls müssen alle anderen Anzeigetreiber diese Funktion in der Regel nicht implementieren.
Hinweis Die folgenden Informationen beziehen sich auf Druckergrafik-DLLs.
Die Funktion wird als Ergebnis des Aufrufs einer Anwendung an die Win32 ResetDC-Funktion aufgerufen, was wiederum bewirkt, dass GDI die DrvEnablePDEV des Treibers aufruft, um eine neue PDEV-Struktur zu erhalten. Da der Treiber den Inhalt einer PDEV-Struktur während des Renderns eines Druckauftrags ändern kann, ermöglicht die DrvResetPDEV-Funktion dem Treiber, diese Änderungen von der alten PDEV-Struktur in die neue zu übertragen.Beispiele für die Arten von Informationen, die eine Druckergrafik-DLL der neuen PDEV-Struktur hinzufügen kann, sind Zeiger auf zwischengespeicherte Schriftartdateien oder Flags, die angeben, ob die Seiteninitialisierung beim nächsten Aufruf von DrvStartDoc oder DrvStartPage erfolgen soll (oder nicht).
Wenn ResetDC während des Renderns eines Druckdokuments aufgerufen wird, empfängt die Druckergrafik-DLL die folgende Sequenz von Aufrufen:
dhpdevNew = DrvEnablePDEV();
DrvResetPDEV(dhpdevOld, dhpdevNew);
DrvDisableSurface(dhpdevOld);
DrvDisablePDEV(dhpdevOld);
DrvEnableSurface(dhpdevNew);
DrvStartDoc(dhpdevNew);
Wenn ResetDC zwischen Dokumenten aufgerufen wird, ist dem PDEV keine Oberfläche zugeordnet, sodass nur die folgende Sequenz von Aufrufen erfolgt:
dhpdevNew = DrvEnablePDEV();
DrvResetPDEV(dhpdevOld,dhpdevNew);
DrvDisablePDEV(dhpdevOld);
Anforderungen
Zielplattform | Desktop |
Kopfzeile | winddi.h (einschließlich Winddi.h) |