Freigeben über


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)

Siehe auch

D3DDDICB_DESTROYCONTEXT

pfnCreateContextCb