Método IPerChannelDbLevel::SetLevelAllChannels (devicetopology.h)
O método SetLevelAllChannels define os níveis de volume, em decibéis, de todos os canais no fluxo de áudio.
Sintaxe
HRESULT SetLevelAllChannels(
[in] float [] aLevelsDB,
[in] ULONG cChannels,
[in] LPCGUID pguidEventContext
);
Parâmetros
[in] aLevelsDB
Ponteiro para uma matriz de níveis de volume. Esse parâmetro aponta para uma matriz float alocada pelo chamador na qual o método grava os novos níveis de volume, em decibéis, para todos os canais. O método grava o nível de um canal específico no elemento de matriz cujo índice corresponde ao número do canal. Se o fluxo de áudio contiver n canais, os canais serão numerados de 0 a n– 1. Para obter o número de canais no fluxo, chame o método IPerChannelDbLevel::GetChannelCount .
[in] cChannels
O número de elementos na matriz aLevelsDB . Se esse parâmetro não corresponder ao número de canais no fluxo de áudio, o método falhará sem modificar a matriz aLevelsDB .
[in] pguidEventContext
Valor de contexto para o método IControlChangeNotify::OnNotify . Esse parâmetro aponta para um GUID de contexto de evento. Se a chamada SetLevelAllChannels alterar o estado do controle de nível, todos os clientes que registraram interfaces IControlChangeNotify com esse controle receberão notificações. Em sua implementação do método OnNotify , um cliente pode inspecionar o GUID de contexto de evento para descobrir se ele ou outro cliente é a origem do evento control-change. Se o chamador fornecer um ponteiro NULL para esse parâmetro, o método de notificação do cliente receberá um ponteiro de contexto NULL .
Valor retornado
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 |
---|---|
|
O parâmetro cChannels não é igual ao número de canais. |
|
O ponteiro aLevelsDB é NULL. |
|
Sem memória. |
Comentários
Se o valor de nível especificado para qualquer canal estiver além do intervalo que o método IPerChannelDbLevel::GetLevelRange relata para esse canal, a chamada SetLevelAllChannels fixará o valor para o intervalo com suporte e será concluída com êxito. Uma chamada subsequente para o método IPerChannelDbLevel::GetLevel recupera o valor real usado para esse canal.
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | devicetopology.h |