PFND3DDDI_DESTROYCONTEXTCB Rückruffunktion (d3dumddi.h)
Die pfnDestroyContextCb--Funktion der D3D-Laufzeit zerstört einen Kontext, der über einen Aufruf der pfnCreateContextCb--Funktion erstellt wurde.
Syntax
PFND3DDDI_DESTROYCONTEXTCB Pfnd3dddiDestroycontextcb;
HRESULT Pfnd3dddiDestroycontextcb(
HANDLE hDevice,
const D3DDDICB_DESTROYCONTEXT *unnamedParam2
)
{...}
Parameter
hDevice
[in] Behandeln eines Anzeigegeräts (d. a. des Grafikkontexts).
unnamedParam2
[in] Zeigen Sie auf eine D3DDDICB_DESTROYCONTEXT Struktur, die den zu zerstörenden Kontext identifiziert.
Rückgabewert
pfnDestroyContextCb gibt ein HRESULT zurück, um den Erfolg oder Fehler der Kontextlöschanforderung anzugeben. Zu den allgemeinen Rückgabewerten gehören:
Rückgabecode | Beschreibung |
---|---|
S_OK | Der Kontext wurde erfolgreich zerstört. |
E_INVALIDARG | Parameter wurden überprüft und ermittelt, dass sie falsch sind. |
Bemerkungen
Wenn der angegebene Kontext die aktuell in die Warteschlange eingereihte Arbeit nicht abgeschlossen hat, wird die pfnDestroyContextCb Funktionsblöcke blockiert, bis der Kontext seine Arbeit beendet und dann zurückgibt.
pfnDestroyContextCb gibt einen Fehler zurück, wenn der Kontext, der derzeit zerstört werden soll, ein Synchronisierungsobjekt besitzt.
Informationen dazu, wie der Treiber pfnDestroyContextCb ab Direct3D Version 11 aufruft, finden Sie unter Änderungen von Direct3D 10.
Das folgende Codebeispiel zeigt, wie der Standardkontext für ein Anzeigegerät zerstört wird.
if (m_d3dCallbacks.pfnDestroyContextCb) {
D3DDDICB_DESTROYCONTEXT DestroyContext;
DestroyContext.hContext = m_sContexts[MULTI_ENGINE_NODE_3D].hContext;
m_d3dCallbacks.pfnDestroyContextCb(m_hD3D, &DestroyContext);
m_sContexts[MULTI_ENGINE_NODE_3D].hContext = NULL;
}
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista (WDDM 1.0) |
Zielplattform- | Desktop |
Header- | d3dumddi.h (include D3dumddi.h) |