Método CBaseAllocator.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. Esse método implementa o método IMemAllocator::SetProperties .
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 seguintes valores HRESULT .
Código de retorno | Descrição |
---|---|
|
Êxito. |
|
Argumento de ponteiro NULL. |
|
Não é possível alterar a memória alocada enquanto o filtro estiver ativo. |
|
Um alinhamento inválido foi especificado. |
|
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 CBaseAllocator::Commit para alocar buffers.
O chamador aloca duas estruturas 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 reais do buffer, conforme definido pelo alocador. Na classe base, supondo que o método seja bem-sucedido, as propriedades reais sempre correspondem às propriedades solicitadas. Classes derivadas podem substituir esse comportamento.
O alocador não deve ser confirmado e não deve ter buffers pendentes. Na classe base, o alinhamento deve ser igual a 1. A classe CMemAllocator substitui esse requisito.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|