Compartilhar via


Método IMFTrackedSample::SetAllocator (mfidl.h)

Define o proprietário do exemplo.

Sintaxe

HRESULT SetAllocator(
  [in] IMFAsyncCallback *pSampleAllocator,
  [in] IUnknown         *pUnkState
);

Parâmetros

[in] pSampleAllocator

Ponteiro para a interface IMFAsyncCallback de um objeto de retorno de chamada. O chamador deve implementar essa interface.

[in] pUnkState

Ponteiro para a interface IUnknown de um objeto de estado, definido pelo chamador. Este parâmetro pode ser NULL. Você pode usar esse objeto para armazenar informações de estado. O objeto é retornado ao chamador quando o retorno de chamada é invocado.

Retornar valor

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
MF_E_NOTACCEPTING
O proprietário já estava definido. Esse método não pode ser chamado duas vezes no exemplo.

Comentários

Quando esse método é chamado, o exemplo contém uma contagem de referência adicional em si mesmo. Quando cada outro objeto libera sua referência conta no exemplo, o exemplo invoca o método de retorno de chamada pSampleAllocator . Para obter um ponteiro para o exemplo, chame IMFAsyncResult::GetObject no objeto de resultado assíncrono dado ao método IMFAsyncCallback::Invoke do retorno de chamada.

Depois que o retorno de chamada é invocado, o exemplo limpa o retorno de chamada. Para restabelecer o retorno de chamada, você deve chamar SetAllocator novamente.

É seguro passar o ponteiro da interface IMFSample da amostra como o objeto de estado (pUnkState) para o retorno de chamada. Se pUnkState apontar para o exemplo, o método SetAllocator será responsável pela contagem de referência adicional em pUnkState.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho mfidl.h
Biblioteca Strmiids.lib

Confira também

IMFTrackedSample