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)

Vedi anche

D3DDDIARG_UNLOCK

D3DDDI_DEVICEFUNCS

Lock

pfnLockCb

pfnUnlockCb