Compartilhar via


Método IMemAllocator::SetProperties (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na 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 Captura de Áudio/Vídeo no 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 de 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 valor HRESULT . Os valores possíveis incluem os 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 especifica os requisitos de buffer, mas não aloca nenhum buffer. Chame o método IMemAllocator::Commit para alocar buffers.

O chamador aloca duas estruturas de ALLOCATOR_PROPERTIES. O parâmetro pRequest contém os requisitos de buffer do chamador, incluindo o número de buffers e o tamanho de cada buffer. Quando o método retorna, o parâmetro pActual contém as propriedades de buffer reais, conforme definido pelo alocador.

Quando esse método é chamado, o alocador não deve ser confirmado ou ter buffers pendentes.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho strmif.h (inclua Dshow.h)
Biblioteca Strmiids.lib

Confira também

Códigos de erro e êxito

IMemAllocator Interface