PFND3DDDI_UNLOCKASYNC Rückruffunktion (d3dumddi.h)

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

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 Ressource oder Oberfläche innerhalb der zu entsperrenden 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 nicht den erforderlichen Arbeitsspeicher zuordnen, um ihn abzuschließen.
E_INVALIDARG Die ressource, die D3DDDIARG_UNLOCKASYNC beschreibt, wurde nicht durch einen vorherigen Aufruf der LockAsync-Funktion des Treibers gesperrt.

Hinweise

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-Runtime ruft UnlockAsync nur auf, wenn der Treiber die Funktionen LockAsync, UnlockAsync und Rename implementiert.

Wie LockAsync wird UnlockAsync im Standard Anwendungsthreads aufgerufen, während die meisten anderen Aufrufe der Anzeigetreiberfunktionen im Benutzermodus auf einem Workerthread (auf Computern mit mehreren Prozessoren) erfolgen.

Wenn ein Benutzermodusanzeigetreiber 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-Runtime UnlockAsync erneut auf. Wenn die Runtime UnlockAsync erneut aufruft, kann ein Thread innerhalb von UnlockAsync ausgeführt werden, während ein anderer Thread, der auf dasselbe Anzeigegerät verweist, innerhalb einer anderen Benutzermodus-Anzeigetreiberfunktion ausgeführt wird.

Anforderungen

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

Weitere Informationen

D3DDDIARG_UNLOCKASYNC

D3DDDI_DEVICEFUNCS

LockAsync

Umbenennen

pfnUnlockCb