Compartilhar via


Método IAsyncReader::RequestAllocator (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 RequestAllocator método solicita um alocador durante a conexão de pin.

Sintaxe

HRESULT RequestAllocator(
  [in]  IMemAllocator        *pPreferred,
  [in]  ALLOCATOR_PROPERTIES *pProps,
  [out] IMemAllocator        **ppActual
);

Parâmetros

[in] pPreferred

Ponteiro para a interface IMemAllocator no alocador preferencial do pino de entrada ou NULL.

[in] pProps

Especifica o endereço de uma estrutura ALLOCATOR_PROPERTIES , alocada pelo chamador. O chamador deve preencher todas as propriedades do alocador exigidas pelo pin de entrada e definir os membros restantes como zero.

[out] ppActual

Endereço de uma variável que recebe um ponteiro de interface IMemAllocator .

Retornar valor

Retorna um valor HRESULT . Os possíveis valores incluem os seguintes.

Código de retorno Descrição
E_FAIL
Falha ao inicializar um alocador.
VFW_E_BADALIGN
Um alinhamento inválido foi especificado.
S_OK
O alocador foi retornado.

Comentários

O pin de entrada downstream deve chamar esse método durante o processo de conexão. Se o pin tiver um alocador preferencial, especifique-o no parâmetro pPreferred . Especifique todos os requisitos de buffer, como tamanho ou alinhamento do buffer, no parâmetro pProps . O pino de saída escolhe o alocador e retorna um ponteiro para ele no parâmetro ppActual .

O pino de saída não é necessário para atender às solicitações do pino de entrada. Se o pin de entrada tiver requisitos absolutos, ele deverá chamar o método IMemAllocator::GetProperties no alocador retornado. Ele poderá falhar na conexão se as propriedades do alocador não forem adequadas. Depois que a conexão for estabelecida, o pin de entrada deverá usar o alocador escolhido pelo pino de saída.

O pin de entrada é responsável por confirmar e descompactar o alocador.

Requisitos

Requisito Valor
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

IAsyncReader Interface