Método IAudioSessionControl::GetState (audiopolicy.h)

El método GetState recupera el estado actual de la sesión de audio.

Sintaxis

HRESULT GetState(
  [out] AudioSessionState *pRetVal
);

Parámetros

[out] pRetVal

Puntero a una variable en la que el método escribe el estado de sesión actual. El estado debe ser uno de los siguientes valores de enumeración AudioSessionState :

AudioSessionStateActive

AudioSessionStateInactive

AudioSessionStateExpired

Estos valores indican que el estado de sesión está activo, inactivo o expirado, respectivamente. Para obtener más información, vea la sección Comentarios.

Valor devuelto

Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, los posibles códigos de retorno incluyen, pero no están limitados a, los valores que se muestran en la tabla siguiente.

Código devuelto Descripción
E_POINTER
El parámetro pRetVal es NULL.
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 no están disponibles para su uso.
AUDCLNT_E_SERVICE_NOT_RUNNING
El servicio de audio de Windows no se está ejecutando.

Comentarios

Este método indica si el estado de la sesión está activo, inactivo o expirado. El estado está activo si la sesión tiene una o varias secuencias que se están ejecutando. El estado cambia de activo a inactivo cuando se detiene la última secuencia en ejecución de la sesión. El estado de sesión cambia a expirado cuando el cliente destruye la última secuencia de la sesión liberando todas las referencias al objeto de secuencia.

El programa Sndvol muestra los controles de volumen y silenciación de las sesiones que se encuentran en los estados activos e inactivos. Cuando una sesión expira, Sndvol deja de mostrar los controles de esa sesión. Si una sesión ha expirado anteriormente, pero el estado de sesión cambia a activo (porque una secuencia de la sesión comienza a ejecutarse) o inactiva (porque un cliente asigna una nueva secuencia a la sesión), Sndvol reanuda la visualización de los controles de la sesión.

El cliente crea una secuencia llamando al método IAudioClient::Initialize . En el momento en que crea una secuencia, el cliente asigna la secuencia a una sesión. Una sesión comienza cuando un cliente asigna la primera secuencia a la sesión. Inicialmente, la sesión está en estado inactivo. El estado de sesión cambia a activo cuando la primera secuencia de la sesión comienza a ejecutarse. La sesión finaliza cuando un cliente libera la referencia final al último objeto de secuencia restante de la sesión.

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

Consulte también

IAudioClient::Initialize

IAudioSessionControl (interfaz)

IMMDevice::Activate