Metodo IMemAllocator::D ecommit (strmif.h)
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Il Decommit
metodo rilascia la memoria del buffer.
Sintassi
HRESULT Decommit();
Valore restituito
Restituisce S_OK se ha esito positivo o un valore HRESULT che indica la causa dell'errore.
Commenti
Tutti i thread in attesa nel metodo IMemAllocator::GetBuffer restituiscono un errore. Altre chiamate a GetBuffer hanno esito negativo finché non viene chiamato il metodo IMemAllocator::Commit .
Lo scopo del Decommit
metodo è impedire ai filtri di ottenere altri campioni dall'allocatore. I filtri che contengono già un conteggio dei riferimenti su un campione non sono interessati. Dopo che un filtro rilascia un campione e il conteggio dei riferimenti passa a zero, tuttavia, l'esempio non è più disponibile.
L'allocatore può liberare la memoria appartenente a qualsiasi campione con un conteggio dei riferimenti pari a zero. Pertanto, il Decommit
metodo "rilascia" la memoria nel senso che i filtri interrompno l'accesso ad esso. L'effettiva restituzione della memoria all'heap dipende dall'implementazione dell'allocatore. Alcuni allocatori attendono fino al metodo distruttore. Tuttavia, un allocatore non deve lasciare alcuna memoria allocata quando viene eliminata. Pertanto, il distruttore di un allocatore deve attendere il rilascio di tutti i campioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | strmif.h (include Dshow.h) |
Libreria | Strmiids.lib |