Compartir a través de


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

El método SetEventHandle establece el identificador de eventos que indica el sistema cuando el cliente está listo para procesar un búfer de audio.

Sintaxis

HRESULT SetEventHandle(
  [in] HANDLE eventHandle
);

Parámetros

[in] eventHandle

Identificador de evento.

Valor devuelto

Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, los códigos de retorno posibles incluyen, entre otros, los valores que se muestran en la tabla siguiente.

Código devuelto Descripción
E_INVALIDARG
El parámetro eventHandle es NULL o un identificador no válido.
AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED
La secuencia de audio no se inicializó para el almacenamiento en búfer controlado por eventos.
AUDCLNT_E_NOT_INITIALIZED
La secuencia de audio no se ha inicializado correctamente.
AUDCLNT_E_DEVICE_INVALIDATED
El dispositivo de punto de conexión de audio se ha desconectado o el hardware de audio o los recursos de hardware asociados se han reconfigurado, deshabilitado, quitado o dejado de estar disponible para su uso.
AUDCLNT_E_SERVICE_NOT_RUNNING
El servicio de audio de Windows no se está ejecutando.

Comentarios

Este método requiere inicialización previa de la interfaz IAudioClient . Todas las llamadas a este método producirán el error AUDCLNT_E_NOT_INITIALIZED hasta que el cliente inicialice la secuencia de audio llamando correctamente al método IAudioClient::Initialize .

Durante la inicialización del flujo, el cliente puede, como opción, habilitar el almacenamiento en búfer controlado por eventos. Para ello, el cliente llama al método IAudioClient::Initialize con la marca AUDCLNT_STREAMFLAGS_EVENTCALLBACK establecida. Después de habilitar el almacenamiento en búfer controlado por eventos y antes de llamar al método IAudioClient::Start para iniciar la secuencia, el cliente debe llamar a SetEventHandle para registrar el identificador de eventos que el sistema indicará cada vez que un búfer esté listo para ser procesado por el cliente.

El identificador de eventos debe estar en el estado no asignado en el momento en que el cliente llama al método Start .

Si el cliente ha habilitado el almacenamiento en búfer controlado por eventos de una secuencia, pero el cliente llama al método Start para esa secuencia sin llamar primero a SetEventHandle, se producirá un error en la llamada Start y devolverá un código de error.

Si el cliente no habilita el almacenamiento en búfer controlado por eventos de una secuencia, pero intenta establecer un identificador de evento para la secuencia mediante una llamada a SetEventHandle, se producirá un error en la llamada y se devolverá un código de error.

Para obtener un ejemplo de código que llama al método SetEventHandle , vea Exclusive-Mode Streams.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado audioclient.h

Consulte también

IAudioClient (interfaz)

IAudioClient::Initialize

IAudioClient::Start