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

Confira também

IMMNotificationClient Interface