Método IMemAllocator::D ecommit (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O Decommit método libera a memória do buffer.

Sintaxe

HRESULT Decommit();

Retornar valor

Retorna S_OK se tiver êxito ou um valor HRESULT que indica a causa do erro.

Comentários

Todos os threads aguardando no método IMemAllocator::GetBuffer retornam com um erro. Outras chamadas para GetBuffer falham até que o método IMemAllocator::Commit seja chamado.

A finalidade do Decommit método é impedir que os filtros obtenham mais amostras do alocador. Os filtros que já contêm uma contagem de referência em um exemplo não são afetados. Depois que um filtro libera um exemplo e a contagem de referência vai para zero, no entanto, o exemplo não está mais disponível.

O alocador pode liberar a memória pertencente a qualquer exemplo com uma contagem de referência igual a zero. Assim, o Decommit método "libera" a memória no sentido de que os filtros param de ter acesso a ela. Se a memória realmente retorna para o heap depende da implementação do alocador. Alguns alocadores esperam até seu próprio método de destruidor. No entanto, um alocador não deve deixar nenhuma memória alocada para trás quando ele se exclui. Portanto, o destruidor de um alocador deve aguardar até que todas as amostras sejam liberadas.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho strmif.h (inclua Dshow.h)
Biblioteca Strmiids.lib

Confira também

Códigos de erro e êxito

IMemAllocator Interface