Partilhar via


Método CMemAllocator.SetProperties

[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 SetProperties método especifica o número de buffers a serem alocados e o tamanho de cada buffer.

Sintaxe

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

Parâmetros

Prequest

Ponteiro para uma estrutura ALLOCATOR_PROPERTIES que contém os requisitos de buffer.

Pactual

Ponteiro para uma estrutura ALLOCATOR_PROPERTIES que recebe as propriedades reais do buffer.

Retornar valor

Retorna um dos valores HRESULT mostrados na tabela a seguir.

Código de retorno Descrição
S_OK
Êxito.
E_POINTER
Argumento de ponteiro NULL.
VFW_E_ALREADY_COMMITTED
Não é possível alterar a memória alocada enquanto o filtro estiver ativo.
VFW_E_BADALIGN
Um alinhamento inválido foi especificado.
VFW_E_BUFFERS_OUTSTANDING
Um ou mais buffers ainda estão ativos.

Comentários

Esse método substitui o método CBaseAllocator::SetProperties .

O alinhamento do buffer, especificado pelo membro cbAlign da estrutura ALLOCATOR_PROPERTIES , deve ser uma potência uniforme de dois.

Requisitos

Requisito Valor
parâmetro
Amfilter.h (inclua Streams.h)
Biblioteca
Strmbase.lib (builds de varejo);
Strmbasd.lib (builds de depuração)

Confira também

Classe CMemAllocator