Método IPerChannelDbLevel::SetLevel (devicetopology.h)

El método SetLevel establece el nivel de volumen, en decibelios, del canal especificado.

Sintaxis

HRESULT SetLevel(
  [in] UINT    nChannel,
  [in] float   fLevelDB,
  [in] LPCGUID pguidEventContext
);

Parámetros

[in] nChannel

Número del canal seleccionado. Si la secuencia de audio tiene N canales, los canales se numeran de 0 a N– 1. Para obtener el número de canales de la secuencia, llame al método IPerChannelDbLevel::GetChannelCount .

[in] fLevelDB

Nuevo nivel de volumen en decibelios. Un valor positivo representa la ganancia y un valor negativo representa la atenuación.

[in] pguidEventContext

Valor de contexto del método IControlChangeNotify::OnNotify . Este parámetro apunta a un GUID de contexto de evento. Si la llamada a SetLevel cambia el estado del control de nivel, todos los clientes que han registrado interfaces IControlChangeNotify con ese control reciben notificaciones. En su implementación del método OnNotify , un cliente puede inspeccionar el GUID de contexto de evento para detectar si es el origen del evento de cambio de control u otro cliente. Si el autor de la llamada proporciona un puntero NULL para este parámetro, el método de notificación del cliente recibe un puntero de contexto NULL .

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 nChannel está fuera del intervalo.
E_OUTOFMEMORY
Memoria insuficiente

Comentarios

Si el llamador especifica un valor para fLevelDB que es un valor de ejecución paso a paso exacto, el método SetLevel se completa correctamente. Una llamada posterior al método IPerChannelDbLevel::GetLevel devolverá el valor establecido o uno de los siguientes valores:

  • Si el valor establecido estaba por debajo del mínimo, el método GetLevel devuelve el valor mínimo.
  • Si el valor establecido estaba por encima del máximo, el método GetLevel devuelve el valor máximo.
  • Si el valor establecido estaba entre dos valores de ejecución paso a paso, el método GetLevel devuelve un valor que podría ser el siguiente valor de ejecución paso a paso por encima o el valor de ejecución paso a paso por debajo del valor establecido; las distancias relativas del valor establecido en los valores de ejecución paso a paso vecinos no son importantes. El valor que devuelve el método GetLevel es el valor que tenga más impacto en la ruta de acceso de la señal.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado devicetopology.h

Consulte también

IPerChannelDbLevel (Interfaz)

IPerChannelDbLevel::GetChannelCount

IPerChannelDbLevel::GetLevel

IPerChannelDbLevel::GetLevelRange