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) |