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

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

El Decommit método libera la memoria del búfer.

Sintaxis

HRESULT Decommit();

Valor devuelto

Devuelve S_OK si se ejecuta correctamente o un valor HRESULT que indica la causa del error.

Comentarios

Los subprocesos que esperan en el método IMemAllocator::GetBuffer devuelven un error. Se producirá un error en otras llamadas a GetBuffer hasta que se llame al método IMemAllocator::Commit .

El propósito del Decommit método es evitar que los filtros obtengan más muestras del asignador. Los filtros que ya contienen un recuento de referencias en un ejemplo no se ven afectados. Una vez que un filtro libera un ejemplo y el recuento de referencias va a cero, sin embargo, el ejemplo ya no está disponible.

El asignador puede liberar la memoria que pertenece a cualquier muestra con un recuento de referencias de cero. Por lo tanto, el Decommit método "libera" la memoria en el sentido de que los filtros dejan de tener acceso a ella. Si la memoria realmente vuelve al montón depende de la implementación del asignador. Algunos asignadores esperan hasta su propio método de destructor. Sin embargo, un asignador no debe dejar atrás ninguna memoria asignada cuando se elimina. Por lo tanto, el destructor de un asignador debe esperar hasta que se liberen todas sus muestras.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado strmif.h (incluye Dshow.h)
Library Strmiids.lib

Consulte también

Códigos de error y éxito

IMemAllocator (Interfaz)