Partager via


PFND3DDDI_UNLOCKASYNC fonction de rappel (d3dumddi.h)

La fonction UnlockAsync déverrouille une ressource ou une surface au sein de la ressource que la fonction LockAsync précédemment verrouillée.

Syntaxe

PFND3DDDI_UNLOCKASYNC Pfnd3dddiUnlockasync;

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

Paramètres

hDevice

Handle vers un appareil d’affichage (autrement dit, le contexte graphique).

unnamedParam2

pData [in]

Pointeur vers une structure D3DDDIARG_UNLOCKASYNC qui décrit la ressource ou la surface de la ressource à déverrouiller.

Valeur de retour

UnlockAsync retourne l’une des valeurs suivantes :

code de retour Description
S_OK La ressource est correctement déverrouillée.
E_OUTOFMEMORY UnlockAsync n’a pas pu allouer la mémoire requise pour qu’elle se termine.
E_INVALIDARG La ressource qui D3DDDIARG_UNLOCKASYNC décrit n’a pas été verrouillée par un appel précédent à la fonction LockAsync du pilote.

Remarques

Un pilote d’affichage en mode utilisateur doit appeler la fonction pfnUnlockCb avec le handle d’allocation approprié après l’appel de la fonction UnlockAsync.

Un pilote d’affichage en mode utilisateur implémente éventuellement UnlockAsync; Le runtime Microsoft Direct3D appelle UnlockAsync uniquement si le pilote implémente le LockAsync, UnlockAsyncet renommer les fonctions.

Comme LockAsync , UnlockAsync est appelé sur le thread d’application principal, tandis que la plupart des autres appels aux fonctions de pilote d’affichage en mode utilisateur sont effectués sur un thread de travail (sur plusieurs ordinateurs processeurs).

Si un pilote d’affichage en mode utilisateur expose une version DDI de 0x0000000B ou supérieure (le pilote retourne cette valeur dans le membre DriverVersion de la structure D3D10DDIARG_OPENADAPTER dans un appel à la fonction OpenAdapter du pilote), le runtime Direct3D appelle UnlockAsync de manière réentrante. Lorsque le runtime appelle UnlockAsync de manière réentrante, un thread peut s’exécuter à l’intérieur UnlockAsync tandis qu’un autre thread qui fait référence au même périphérique d’affichage s’exécute à l’intérieur d’une autre fonction de pilote d’affichage en mode utilisateur.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows.
plateforme cible Bureau
d’en-tête d3dumddi.h (include D3dumddi.h)

Voir aussi

D3DDDIARG_UNLOCKASYNC

D3DDDI_DEVICEFUNCS

LockAsync

renommer

pfnUnlockCb