Partager via


PFND3DDDI_UNLOCK fonction de rappel (d3dumddi.h)

La fonction Unlock déverrouille une ressource ou une surface au sein de la ressource qui était précédemment verrouillée par la fonction Lock .

Syntaxe

PFND3DDDI_UNLOCK Pfnd3dddiUnlock;

HRESULT Pfnd3dddiUnlock(
  HANDLE hDevice,
  const D3DDDIARG_UNLOCK *unnamedParam2
)
{...}

Paramètres

hDevice

Handle de l’appareil d’affichage (contexte graphique).

unnamedParam2

pData [in]

Pointeur vers une structure D3DDDIARG_UNLOCK qui décrit la ressource ou la surface dans la ressource à déverrouiller.

Valeur retournée

Unlock retourne l’une des valeurs suivantes :

Code de retour Description
S_OK La ressource est déverrouillée.
E_OUTOFMEMORY Le déverrouillage n’a pas pu allouer la mémoire nécessaire pour qu’il se termine.
E_INVALIDARG La ressource décrite D3DDDIARG_UNLOCK n’a pas été verrouillée par un appel précédent à la fonction Lock du pilote.

Remarques

Ces commentaires sont analogues à la description de la section Remarques de la page de référence verrouiller .

Le pilote d’affichage en mode utilisateur doit appeler la fonction pfnUnlockCb du runtime Microsoft Direct3D après l’appel de Unlock . Dans cet appel pfnUnlockCb , le pilote d’affichage en mode utilisateur passe un handle d’allocation. Avant d’appeler pfnUnlockCb, le pilote d’affichage en mode utilisateur doit d’abord mapper la surface à une allocation appropriée.

Le runtime appelle la fonction de déverrouillage du pilote d’affichage en mode utilisateur pour déverrouiller également les surfaces de mémoire système préallouées. Le runtime définit l’indicateur de champ de bits NotifyOnly dans le membre Indicateurs de la structure D3DDDIARG_UNLOCK pointée par pData pour différencier les appels de déverrouillage qui déverrouillent la mémoire système pré-allouée d’autres appels de déverrouillage . Si la fonction Lock du pilote d’affichage en mode utilisateur appelée pfnLockCb pour verrouiller l’allocation de mémoire système qui correspond à la surface, elle doit également appeler pfnUnlockCb. Le fait de ne pas appeler pfnUnlockCb arrête la coordination entre le runtime, le pilote d’affichage en mode utilisateur et le pilote miniport d’affichage.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et les versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Universal
En-tête d3dumddi.h (inclure D3dumddi.h)

Voir aussi

D3DDDIARG_UNLOCK

D3DDDI_DEVICEFUNCS

Verrou

pfnLockCb

pfnUnlockCb