Método CBaseAllocator.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. Este método implementa el método IMemAllocator::SetProperties .
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 siguientes valores HRESULT .
Código devuelto | Descripción |
---|---|
|
Correcto. |
|
Argumento de puntero NULL. |
|
No se puede cambiar la memoria asignada mientras el filtro está activo. |
|
Se especificó una alineación no válida. |
|
Uno o varios búferes siguen activos. |
Observaciones
Este método especifica los requisitos de búfer, pero no asigna ningún búfer. Llame al método CBaseAllocator::Commit para asignar búferes.
El autor de la llamada asigna dos estructuras de ALLOCATOR_PROPERTIES. El parámetro pRequest contiene los requisitos de 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 reales del búfer, tal y como establece el asignador. En la clase base, suponiendo que el método se realiza correctamente, las propiedades reales siempre coinciden con las propiedades solicitadas. Las clases derivadas pueden invalidar este comportamiento.
El asignador no debe confirmarse y no debe tener búferes pendientes. En la clase base, la alineación debe ser igual a 1. La clase CMemAllocator invalida este requisito.
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|