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 |
---|---|
|
EventHandle de parâmetro é NULL ou um identificador inválido. |
|
O fluxo de áudio não foi inicializado para buffer controlado por eventos. |
|
O fluxo de áudio não foi inicializado com êxito. |
|
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. |
|
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 |