Share via


Método IAudioEndpointVolume::UnregisterControlChangeNotify (endpointvolume.h)

O método UnregisterControlChangeNotify exclui o registro da interface de retorno de chamada de notificação de um cliente que o cliente registrou em uma chamada anterior para o método IAudioEndpointVolume::RegisterControlChangeNotify .

Sintaxe

HRESULT UnregisterControlChangeNotify(
  [in] IAudioEndpointVolumeCallback *pNotify
);

Parâmetros

[in] pNotify

Ponteiro para a interface IAudioEndpointVolumeCallback do cliente. O cliente passou esse mesmo ponteiro de interface para o objeto de volume do ponto de extremidade em uma chamada anterior para o método IAudioEndpointVolume::RegisterControlChangeNotify . Se o método UnregisterControlChangeNotify for bem-sucedido, ele chamará o método Release na interface IAudioEndpointVolumeCallback do cliente.

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
E_POINTER
O parâmetro pNotify é NULL.

Comentários

Antes que o cliente libere sua referência final à interface IAudioEndpointVolumeCallback , ele deve chamar UnregisterControlChangeNotify para cancelar o registro da interface. Caso contrário, o aplicativo vazará os recursos mantidos pelos objetos IAudioEndpointVolumeCallback e IAudioEndpointVolume . Observe que o método IAudioEndpointVolume::RegisterControlChangeNotify chama o método IAudioEndpointVolumeCallback::AddRef do cliente e UnregisterControlChangeNotify chama o método IAudioEndpointVolumeCallback::Release . Se o cliente errar lançando sua referência à interface IAudioEndpointVolumeCallback antes de chamar UnregisterControlChangeNotify, o objeto IAudioEndpointVolume nunca liberará sua referência à interface IAudioEndpointVolumeCallback . Por exemplo, uma implementação IAudioEndpointVolumeCallback mal projetada pode chamar UnregisterControlChangeNotify do destruidor para o objeto IAudioEndpointVolumeCallback . Nesse caso, o cliente não chamará UnregisterControlChangeNotify até que o objeto IAudioEndpointVolume libere sua referência à interface IAudioEndpointVolumeCallback e o objeto IAudioEndpointVolume não liberará sua referência à interface IAudioEndpointVolumeCallback até que o cliente chame UnregisterControlChangeNotify. Para obter mais informações sobre os métodos AddRef e Release , consulte a discussão da interface IUnknown na documentação do SDK do Windows.

Para obter um exemplo de código que chama UnregisterControlChangeNotify, consulte Controles de volume do ponto de extremidade.

Requisitos

   
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho endpointvolume.h

Confira também

IAudioEndpointVolume Interface

IAudioEndpointVolume::RegisterControlChangeNotify

IAudioEndpointVolumeCallback Interface