Freigeben über


PFND3DDDI_UNLOCKASYNC Rückruffunktion (d3dumddi.h)

Die UnlockAsync--Funktion entsperrt eine Ressource oder eine Oberfläche innerhalb der Ressource, die die zuvor gesperrte LockAsync-Funktion.

Syntax

PFND3DDDI_UNLOCKASYNC Pfnd3dddiUnlockasync;

HRESULT Pfnd3dddiUnlockasync(
  HANDLE hDevice,
  const D3DDDIARG_UNLOCKASYNC *unnamedParam2
)
{...}

Parameter

hDevice

Ein Handle für ein Anzeigegerät (d. a. den Grafikkontext).

unnamedParam2

pData- [in]

Ein Zeiger auf eine D3DDDIARG_UNLOCKASYNC Struktur, die die Zusperrung der Ressource oder Oberfläche innerhalb der Ressource beschreibt.

Rückgabewert

UnlockAsync- gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
S_OK Die Ressource wurde erfolgreich entsperrt.
E_OUTOFMEMORY UnlockAsync konnte den erforderlichen Speicher für den Abschluss nicht zuordnen.
E_INVALIDARG Die ressource, die D3DDDIARG_UNLOCKASYNC beschreibt, wurde nicht durch einen vorherigen Aufruf der LockAsync--Funktion des Treibers gesperrt.

Bemerkungen

Ein Anzeigetreiber im Benutzermodus sollte die pfnUnlockCb--Funktion mit dem entsprechenden Zuordnungshandle aufrufen, nachdem die UnlockAsync--Funktion aufgerufen wurde.

Ein Benutzermodusanzeigetreiber implementiert optional UnlockAsync-; Die Microsoft Direct3D-Laufzeit ruft UnlockAsync- nur dann auf, wenn der Treiber die LockAsync-, UnlockAsync-implementiert und Funktionen umbenennen.

Wie LockAsync-wird UnlockAsync- im Hauptanwendungsthread aufgerufen, während die meisten anderen Aufrufe der Anzeigetreiberfunktionen im Benutzermodus in einem Arbeitsthread (auf Mehreren Prozessorcomputern) ausgeführt werden.

Wenn ein Anzeigetreiber im Benutzermodus eine DDI-Version von 0x0000000B oder höher verfügbar macht (der Treiber gibt diesen Wert im DriverVersion Member der D3D10DDIARG_OPENADAPTER Struktur in einem Aufruf der OpenAdapter-Funktion des Treibers zurück), ruft die Direct3D-Laufzeit UnlockAsync- erneut auf. Wenn die Laufzeit UnlockAsync- erneut aufruft, kann ein Thread innerhalb UnlockAsync- ausgeführt werden, während ein anderer Thread, der auf dasselbe Anzeigegerät verweist, innerhalb einer anderen Benutzermodusanzeigetreiberfunktion ausgeführt wird.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Zielplattform- Desktop
Header- d3dumddi.h (include D3dumddi.h)

Siehe auch

D3DDDIARG_UNLOCKASYNC

D3DDDI_DEVICEFUNCS

LockAsync-

umbenennen

pfnUnlockCb