Método IMMNotificationClient::OnDefaultDeviceChanged (mmdeviceapi.h)
O método OnDefaultDeviceChanged notifica o cliente de que o dispositivo de ponto de extremidade de áudio padrão para uma função de dispositivo específica foi alterado.
Sintaxe
HRESULT OnDefaultDeviceChanged(
[in] EDataFlow flow,
[in] ERole role,
[in] LPCWSTR pwstrDefaultDeviceId
);
Parâmetros
[in] flow
A direção de fluxo de dados do dispositivo de ponto de extremidade. Esse parâmetro é definido como um dos seguintes valores de enumeração EDataFlow :
eRender
eCapture
A direção de fluxo de dados para um dispositivo de renderização é eRender. A direção de fluxo de dados para um dispositivo de captura é eCapture.
[in] role
A função de dispositivo do dispositivo de ponto de extremidade de áudio. Esse parâmetro é definido como um dos seguintes valores de enumeração ERole :
eConsole
eMultimedia
eCommunications
[in] pwstrDefaultDeviceId
Ponteiro para a cadeia de caracteres de ID do ponto de extremidade que identifica o dispositivo de ponto de extremidade de áudio. Esse parâmetro aponta para uma cadeia de caracteres largos terminada em nulo que contém a ID do ponto de extremidade. A cadeia de caracteres permanece válida durante a chamada. Se o usuário tiver removido ou desabilitado o dispositivo padrão para uma função específica e nenhum outro dispositivo estiver disponível para assumir essa função, pwstrDefaultDevice será NULL.
Valor retornado
Se o método for bem-sucedido, retornará S_OK. Se falhar, retornará um código de erro.
Comentários
Os três parâmetros de entrada especificam a direção do fluxo de dados, a função do dispositivo e a cadeia de caracteres de ID do ponto de extremidade de ponto de extremidade padrão do novo dispositivo de ponto de extremidade de áudio padrão.
No Windows Vista, a API MMDevice dá suporte a funções de dispositivo, mas os programas de interface do usuário fornecidos pelo sistema não. A interface do usuário no Windows Vista permite que o usuário selecione um dispositivo de áudio padrão para renderização e um dispositivo de áudio padrão para captura. Quando o usuário altera o dispositivo de renderização ou captura padrão, o sistema atribui todas as três funções de dispositivo (eConsole, eMultimedia e eCommunications) ao novo dispositivo. Assim, quando o usuário altera o dispositivo de renderização ou captura padrão, o sistema chama o método OnDefaultDeviceChanged do cliente três vezes, uma vez para cada uma das três funções de dispositivo.
Em uma versão futura do Windows, a interface do usuário pode permitir que o usuário atribua funções individuais a dispositivos diferentes. Nesse caso, se o usuário alterar a atribuição de apenas uma ou duas funções de dispositivo para um novo dispositivo de renderização ou captura, o sistema chamará o método OnDefaultDeviceChanged do cliente apenas uma ou duas vezes (ou seja, uma chamada por função alterada). Dependendo de como o método OnDefaultDeviceChanged responde às alterações de função, o comportamento de um aplicativo de áudio desenvolvido para execução no Windows Vista pode mudar quando executado em uma versão futura do Windows. Para obter mais informações, consulte Funções de dispositivo no Windows Vista.
Para obter um exemplo de código que implementa o método OnDefaultDeviceChanged , consulte Eventos de dispositivo.
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 | mmdeviceapi.h |