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) |