Compartir a través de


Método CMemAllocator.SetProperties

[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 SetProperties método especifica el número de búferes que se van a asignar y el tamaño de cada búfer.

Sintaxis

HRESULT SetProperties(
   ALLOCATOR_PROPERTIES *pRequest,
   ALLOCATOR_PROPERTIES *pActual
);

Parámetros

pRequest

Puntero a una estructura de ALLOCATOR_PROPERTIES que contiene los requisitos del búfer.

pActual

Puntero a una estructura de ALLOCATOR_PROPERTIES que recibe las propiedades reales del búfer.

Valor devuelto

Devuelve uno de los valores HRESULT que se muestran en la tabla siguiente.

Código devuelto Descripción
S_OK
Correcto.
E_POINTER
Argumento de puntero NULL.
VFW_E_ALREADY_COMMITTED
No se puede cambiar la memoria asignada mientras el filtro está activo.
VFW_E_BADALIGN
Se especificó una alineación no válida.
VFW_E_BUFFERS_OUTSTANDING
Uno o más búferes siguen activos.

Observaciones

Este método invalida el método CBaseAllocator::SetProperties .

La alineación del búfer, especificada por el miembro cbAlign de la estructura ALLOCATOR_PROPERTIES , debe ser una potencia par de dos.

Requisitos

Requisito Value
Encabezado
Amfilter.h (include Streams.h)
Biblioteca
Strmbase.lib (compilaciones comerciales);
Strmbasd.lib (compilaciones de depuración)

Consulte también

CMemAllocator (clase)