PFND3DDDI_DEALLOCATE2CB funzione di callback (d3dumddi.h)
La funzione di callback in modalità utente pfnDeallocate2Cb rilascia le allocazioni per un oggetto risorsa in modalità kernel se l'oggetto risorsa è stato creato.
pfnDeallocate2Cb è una sostituzione di pfnDeallocateCb con un membro Flags aggiuntivo . Quando flag sono impostati su tutti gli zeri, il comportamento equivale a pfnDeallocateCb.
Sintassi
PFND3DDDI_DEALLOCATE2CB Pfnd3dddiDeallocate2cb;
HRESULT Pfnd3dddiDeallocate2cb(
HANDLE hDevice,
const D3DDDICB_DEALLOCATE2 *unnamedParam2
)
{...}
Parametri
hDevice
Handle per il dispositivo di visualizzazione (contesto grafico).
unnamedParam2
pData [in]
Puntatore a una struttura D3DDDICB_DEALLOCATE2 che descrive la risorsa da rilasciare.
Valore restituito
Codice restituito | Descrizione |
---|---|
S_OK | La memoria è stata rilasciata correttamente. |
E_INVALIDARG | I parametri sono stati convalidati e sono stati determinati come non corretti. |
Questa funzione potrebbe anche restituire altri valori HRESULT.
Commenti
Quando viene ricevuta una richiesta di distruzione di allocazione, VidMm presuppone che, per impostazione predefinita, i comandi accodati prima della richiesta di distruzione possano accedere all'allocazione distrutta e rinvia l'operazione di distruzione fino al termine dei comandi in coda. Se il driver in modalità utente (UMD) sa che i comandi in sospeso non accedono all'allocazione distrutta, può indicare a VidMm di non attendere il completamento dei comandi in sospeso impostando il flag AssumeNotInUse su TRUE quando si chiama pfnDeallocate2Cb.
Se un'applicazione o un UMD vuole garantire che la memoria di allocazione venga recuperata prima della restituzione dalla chiamata pfnDeallocate2Cb (ad esempio, per ridurre al minimo l'utilizzo massimo della memoria se la superficie viene ricreata), deve impostare il flag SynchronousDestroy .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 |
Server minimo supportato | Windows Server 2016 |
Piattaforma di destinazione | Desktop |
Intestazione | d3dumddi.h (include D3dumddi.h) |