Método CBaseOutputPin.DecideAllocator
[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 DecideAllocator
método seleciona um alocador de memória.
Sintaxe
virtual HRESULT DecideAllocator(
IMemInputPin *pPin,
IMemAllocator **pAlloc
);
Parâmetros
-
pPin
-
Ponteiro para a interface IMemInputPin do pino de entrada.
-
pAlloc
-
Endereço de uma variável que recebe um ponteiro para a interface IMemAllocator do alocador.
Retornar valor
Retorna S_OK se tiver êxito ou um valor HRESULT que indica a causa do erro.
Comentários
Esse método é chamado no final do processo de conexão de pino. Ele executa as seguintes etapas:
- Chama o método IMemInputPin::GetAllocatorRequirements para recuperar os requisitos de buffer do pino de entrada, se houver.
- Chama o método IMemInputPin::GetAllocator para solicitar um alocador do pin de entrada. Se o pin de entrada não fornecer um alocador, o pin de saída criará um chamando o método de classe CBaseOutputPin::InitAllocator .
- Chama o método de classe CBaseOutputPin::D ecideBufferSize , que define as propriedades do alocador. Este é um método virtual puro; a classe derivada deve implementá-la.
- Chama o método IMemInputPin::NotifyAllocator , que notifica o pin de entrada do alocador que está sendo usado.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|