Compartilhar via


Método IAudioClient::SetEventHandle (audioclient.h)

O método SetEventHandle define o identificador de evento que o sistema sinaliza quando um buffer de áudio está pronto para ser processado pelo cliente.

Sintaxe

HRESULT SetEventHandle(
  [in] HANDLE eventHandle
);

Parâmetros

[in] eventHandle

O identificador de evento.

Retornar valor

Se o método for bem-sucedido, retornará S_OK. Se falhar, os códigos de retorno possíveis incluem, mas não se limitam a, os valores mostrados na tabela a seguir.

Código de retorno Descrição
E_INVALIDARG
EventHandle de parâmetro é NULL ou um identificador inválido.
AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED
O fluxo de áudio não foi inicializado para buffer controlado por eventos.
AUDCLNT_E_NOT_INITIALIZED
O fluxo de áudio não foi inicializado com êxito.
AUDCLNT_E_DEVICE_INVALIDATED
O dispositivo de ponto de extremidade de áudio foi desconectado ou o hardware de áudio ou os recursos de hardware associados foram reconfigurados, desabilitados, removidos ou não estão disponíveis para uso.
AUDCLNT_E_SERVICE_NOT_RUNNING
O serviço de áudio do Windows não está em execução.

Comentários

Esse método requer a inicialização prévia da interface IAudioClient . Todas as chamadas para esse método falharão com o erro AUDCLNT_E_NOT_INITIALIZED até que o cliente inicialize o fluxo de áudio chamando com êxito o método IAudioClient::Initialize .

Durante a inicialização do fluxo, o cliente pode, como opção, habilitar o buffer controlado por eventos. Para fazer isso, o cliente chama o método IAudioClient::Initialize com o sinalizador AUDCLNT_STREAMFLAGS_EVENTCALLBACK definido. Depois de habilitar o buffer controlado por eventos e antes de chamar o método IAudioClient::Start para iniciar o fluxo, o cliente deve chamar SetEventHandle para registrar o identificador de evento que o sistema sinalizará sempre que um buffer estiver pronto para ser processado pelo cliente.

O identificador de evento deve estar no estado não atribuído no momento em que o cliente chama o método Start .

Se o cliente tiver habilitado o buffer controlado por eventos de um fluxo, mas o cliente chamar o método Start para esse fluxo sem primeiro chamar SetEventHandle, a chamada Iniciar falhará e retornará um código de erro.

Se o cliente não habilitar o buffer controlado por eventos de um fluxo, mas tentar definir um identificador de evento para o fluxo chamando SetEventHandle, a chamada falhará e retornará um código de erro.

Para obter um exemplo de código que chama o método SetEventHandle , consulte Fluxos de modo exclusivo.

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 audioclient.h

Confira também

IAudioClient Interface

IAudioClient::Initialize

IAudioClient::Start