PFND3DDDI_UNLOCK funzione di callback (d3dumddi.h)
La funzione Unlock sblocca una risorsa o una superficie all'interno della risorsa bloccata in precedenza dalla funzione Lock .
Sintassi
PFND3DDDI_UNLOCK Pfnd3dddiUnlock;
HRESULT Pfnd3dddiUnlock(
HANDLE hDevice,
const D3DDDIARG_UNLOCK *unnamedParam2
)
{...}
Parametri
hDevice
Handle per il dispositivo di visualizzazione (contesto grafico).
unnamedParam2
pData [in]
Puntatore a una struttura D3DDDIARG_UNLOCK che descrive la risorsa o la superficie all'interno della risorsa da sbloccare.
Valore restituito
Unlock restituisce uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
S_OK | La risorsa viene sbloccata correttamente. |
E_OUTOFMEMORY | Lo sblocco non è riuscito ad allocare la memoria necessaria per il completamento. |
E_INVALIDARG | La risorsa che D3DDDIARG_UNLOCK descrive non è stata bloccata da una chiamata precedente alla funzione Lock del driver. |
Commenti
Questi commenti sono analoghi alla descrizione nella sezione Osservazioni della pagina di riferimento Blocco .
Il driver di visualizzazione in modalità utente deve chiamare la funzione pfnUnlockCb del runtime di Microsoft Direct3D dopo la chiamata a Unlock . In questa chiamata pfnUnlockCb il driver di visualizzazione in modalità utente passa un handle di allocazione. Prima di chiamare pfnUnlockCb, il driver di visualizzazione in modalità utente deve prima eseguire il mapping della superficie a un'allocazione appropriata.
Il runtime chiama la funzione Unlock del driver di visualizzazione in modalità utente per sbloccare anche le superfici di memoria di sistema preallocate. Il runtime imposta il flag di campo di bit NotifyOnly nel membro Flags della struttura D3DDDIARG_UNLOCK a cui punta pData per distinguere le chiamate di sblocco che sbloccano la memoria di sistema preallocata da altre chiamate di sblocco . Se la funzione Lock del driver di visualizzazione in modalità utente denominata pfnLockCb per bloccare l'allocazione della memoria di sistema corrispondente alla superficie, deve anche chiamare pfnUnlockCb. La mancata chiamata a pfnUnlockCb interrompe il coordinamento tra il runtime, il driver di visualizzazione in modalità utente e il driver miniport di visualizzazione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows. |
Piattaforma di destinazione | Universale |
Intestazione | d3dumddi.h (include D3dumddi.h) |