PFND3DDDI_UNLOCKASYNC función de devolución de llamada (d3dumddi.h)
La función UnlockAsync desbloquea un recurso o una superficie dentro del recurso que la función LockAsync bloqueó anteriormente.
Sintaxis
PFND3DDDI_UNLOCKASYNC Pfnd3dddiUnlockasync;
HRESULT Pfnd3dddiUnlockasync(
HANDLE hDevice,
const D3DDDIARG_UNLOCKASYNC *unnamedParam2
)
{...}
Parámetros
hDevice
Identificador de un dispositivo de visualización (es decir, el contexto de gráficos).
unnamedParam2
pData [in]
Puntero a una estructura de D3DDDIARG_UNLOCKASYNC que describe el recurso o la superficie dentro del recurso que se va a desbloquear.
Valor devuelto
UnlockAsync devuelve uno de los valores siguientes:
Código devuelto | Descripción |
---|---|
S_OK | El recurso se desbloquea correctamente. |
E_OUTOFMEMORY | UnlockAsync no pudo asignar la memoria necesaria para que se complete. |
E_INVALIDARG | El recurso que D3DDDIARG_UNLOCKASYNC describe no estaba bloqueado por una llamada anterior a la función LockAsync del controlador. |
Comentarios
Un controlador de pantalla en modo de usuario debe llamar a la función pfnUnlockCb con el identificador de asignación adecuado después de llamar a la función UnlockAsync .
Opcionalmente, un controlador de pantalla en modo de usuario implementa UnlockAsync; El tiempo de ejecución de Microsoft Direct3D llama a UnlockAsync solo si el controlador implementa las funciones LockAsync, UnlockAsync y Rename .
Al igual que LockAsync, se llama a UnlockAsync en el subproceso de aplicación principal, mientras que la mayoría de las demás llamadas a las funciones de controlador de pantalla en modo de usuario se realizan en un subproceso de trabajo (en equipos con varios procesadores).
Si un controlador de pantalla en modo de usuario expone una versión DDI de 0x0000000B o superior (el controlador devuelve este valor en el miembro DriverVersion de la estructura D3D10DDIARG_OPENADAPTER en una llamada a la función OpenAdapter del controlador), el tiempo de ejecución de Direct3D llamará a UnlockAsync de forma reentrant. Cuando el tiempo de ejecución llama a UnlockAsync de forma reentrant, un subproceso se puede ejecutar dentro de UnlockAsync mientras que otro subproceso que hace referencia al mismo dispositivo de visualización se ejecuta dentro de otra función de controlador de pantalla en modo de usuario.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows. |
Plataforma de destino | Escritorio |
Encabezado | d3dumddi.h (incluya D3dumddi.h) |