PFND3DDDI_UNLOCKASYNC fonction de rappel (d3dumddi.h)
La fonction UnlockAsync déverrouille une ressource ou une surface dans la ressource que la fonction LockAsync a précédemment verrouillée.
Syntaxe
PFND3DDDI_UNLOCKASYNC Pfnd3dddiUnlockasync;
HRESULT Pfnd3dddiUnlockasync(
HANDLE hDevice,
const D3DDDIARG_UNLOCKASYNC *unnamedParam2
)
{...}
Paramètres
hDevice
Handle pour un périphérique d’affichage (c’est-à-dire le contexte graphique).
unnamedParam2
pData [in]
Pointeur vers une structure D3DDDIARG_UNLOCKASYNC qui décrit la ressource ou la surface dans la ressource à déverrouiller.
Valeur retournée
UnlockAsync retourne l’une des valeurs suivantes :
Code de retour | Description |
---|---|
S_OK | La ressource est déverrouillée. |
E_OUTOFMEMORY | UnlockAsync n’a pas pu allouer la mémoire nécessaire pour qu’il se termine. |
E_INVALIDARG | La ressource décrite D3DDDIARG_UNLOCKASYNC 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 les fonctions LockAsync, UnlockAsync et Rename .
Comme LockAsync, UnlockAsync est appelé sur le thread d’application main 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 les ordinateurs à plusieurs 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 dans UnlockAsync , tandis qu’un autre thread qui référence le même périphérique d’affichage s’exécute à l’intérieur d’une autre fonction de pilote d’affichage en mode utilisateur.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | d3dumddi.h (inclure D3dumddi.h) |