Compartir a través de


Método IMemAllocator::SetProperties (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 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 un valor HRESULT . Entre los valores posibles se incluyen los 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 especifica los requisitos del búfer, pero no asigna ningún búfer. Llame al método IMemAllocator::Commit para asignar búferes.

El autor de la llamada asigna dos estructuras ALLOCATOR_PROPERTIES. El parámetro pRequest contiene los requisitos del búfer del autor de la llamada, incluido el número de búferes y el tamaño de cada búfer. Cuando el método devuelve, el parámetro pActual contiene las propiedades de búfer reales, tal y como establece el asignador.

Cuando se llama a este método, el asignador no debe confirmarse ni tener búferes pendientes.

Requisitos

   
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)