Compartilhar via


Método IAMBufferNegotiation::SuggestAllocatorProperties (strmif.h)

[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 SuggestAllocatorProperties método informa o pino das propriedades preferenciais do alocador do aplicativo. Chame esse método antes que o pin se conecte.

Sintaxe

HRESULT SuggestAllocatorProperties(
  [in] const ALLOCATOR_PROPERTIES *pprop
);

Parâmetros

[in] pprop

Ponteiro para uma estrutura ALLOCATOR_PROPERTIES que contém as propriedades solicitadas. Um valor negativo para qualquer membro indica que o pino deve usar sua configuração padrão para essa propriedade.

Retornar valor

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

Código de retorno Descrição
S_OK
Êxito.
E_FAIL
Falha.
E_POINTER
Argumento de ponteiro NULL.
VFW_E_ALREADY_CONNECTED
O pin já está conectado.

Comentários

Se ambos os pinos na conexão exporem a interface IAMBufferNegotiation , chame esse método em cada pino para garantir que um pino não substitua o outro.

Para solicitar um número específico de buffers, defina o membro cBuffers da estrutura ALLOCATOR_PROPERTIES . Para solicitar um tamanho de buffer específico, defina o membro cbBuffer . Um aplicativo normalmente não deve especificar o alinhamento ou o prefixo. Se o número de buffers ou o tamanho de cada buffer for muito pequeno, o grafo de filtro poderá remover amostras.

Exemplos

C++
ALLOCATOR_PROPERTIES AllocProp;
AllocProp.cbAlign = -1;  // -1 means no preference.
AllocProp.cbBuffer = dwBytesPerSec *  dwLatencyInMilliseconds / 1000;
AllocProp.cbPrefix = -1;
AllocProp.cBuffers = -1;
pIAMBufferNegotiation->SuggestAllocatorProperties(&AllocProp);

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

IAMBufferNegotiation Interface