PFND3DDDI_UNLOCKASYNC funzione di callback (d3dumddi.h)

La funzione UnlockAsync sblocca una risorsa o una superficie all'interno della risorsa bloccata in precedenza dalla funzione LockAsync .

Sintassi

PFND3DDDI_UNLOCKASYNC Pfnd3dddiUnlockasync;

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

Parametri

hDevice

Handle per un dispositivo di visualizzazione, ovvero il contesto grafico.

unnamedParam2

pData [in]

Puntatore a una struttura D3DDDIARG_UNLOCKASYNC che descrive la risorsa o la superficie all'interno della risorsa da sbloccare.

Valore restituito

UnlockAsync restituisce uno dei valori seguenti:

Codice restituito Descrizione
S_OK La risorsa viene sbloccata correttamente.
E_OUTOFMEMORY UnlockAsync non è riuscito a allocare la memoria necessaria per il completamento.
E_INVALIDARG La risorsa che D3DDDIARG_UNLOCKASYNC descrive non è stata bloccata da una chiamata precedente alla funzione LockAsync del driver.

Commenti

Un driver di visualizzazione in modalità utente deve chiamare la funzione pfnUnlockCb con l'handle di allocazione appropriato dopo la chiamata alla funzione UnlockAsync .

Un driver di visualizzazione in modalità utente implementa facoltativamente UnlockAsync; Il runtime di Microsoft Direct3D chiama UnlockAsync solo se il driver implementa le funzioni LockAsync, UnlockAsync e Rinomina.

Come LockAsync, UnlockAsync viene chiamato nel thread dell'applicazione principale mentre la maggior parte delle altre chiamate alle funzioni del driver di visualizzazione in modalità utente vengono eseguite su un thread di lavoro (in computer con più processori).

Se un driver di visualizzazione in modalità utente espone una versione DDI di 0x0000000B o successiva (il driver restituisce questo valore nel membro DriverVersiondella struttura D3D10DDIARG_OPENADAPTER in una chiamata alla funzione OpenAdapter del driver), il runtime Direct3D chiamerà UnlockAsync in modo reentrant. Quando il runtime chiama UnlockAsync in modo reentrant, un thread può essere eseguito all'interno di UnlockAsync mentre un altro thread che fa riferimento allo stesso dispositivo visualizzato viene eseguito all'interno di un'altra funzione di driver di visualizzazione in modalità utente.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.
Piattaforma di destinazione Desktop
Intestazione d3dumddi.h (include D3dumddi.h)

Vedi anche

D3DDDIARG_UNLOCKASYNC

D3DDDI_DEVICEFUNCS

LockAsync

Rinominare

pfnUnlockCb