Método IPerChannelDbLevel::SetLevelAllChannels (devicetopology.h)
El método SetLevelAllChannels establece los niveles de volumen, en decibelios, de todos los canales de la secuencia de audio.
Sintaxis
HRESULT SetLevelAllChannels(
[in] float [] aLevelsDB,
[in] ULONG cChannels,
[in] LPCGUID pguidEventContext
);
Parámetros
[in] aLevelsDB
Puntero a una matriz de niveles de volumen. Este parámetro apunta a una matriz float asignada por el autor de la llamada en la que el método escribe los nuevos niveles de volumen, en decibelios, para todos los canales. El método escribe el nivel de un canal determinado en el elemento de matriz cuyo índice coincide con el número de canal. Si la secuencia de audio contiene n canales, los canales se numeran de 0 a n– 1. Para obtener el número de canales en la secuencia, llame al método IPerChannelDbLevel::GetChannelCount .
[in] cChannels
Número de elementos de la matriz aLevelsDB . Si este parámetro no coincide con el número de canales de la secuencia de audio, se produce un error en el método sin modificar la matriz aLevelsDB .
[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 SetLevelAllChannels 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 del contexto de eventos para detectar si él u otro cliente es el origen del evento de cambio de control. 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 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 |
---|---|
|
El parámetro cChannels no es igual al número de canales. |
|
El puntero aLevelsDB es NULL. |
|
Memoria insuficiente |
Comentarios
Si el valor de nivel especificado para cualquier canal está fuera del intervalo que informa el método IPerChannelDbLevel::GetLevelRange para ese canal, la llamada a SetLevelAllChannels sujeta el valor al intervalo admitido y se completa correctamente. Una llamada posterior al método IPerChannelDbLevel::GetLevel recupera el valor real usado para ese canal.
Requisitos
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 |