Partager via


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

La méthode UnregisterControlChangeNotify supprime l’inscription de l’interface de rappel de notification d’un client que le client a inscrite lors d’un appel précédent à la méthode IAudioEndpointVolume::RegisterControlChangeNotify .

Syntaxe

HRESULT UnregisterControlChangeNotify(
  [in] IAudioEndpointVolumeCallback *pNotify
);

Paramètres

[in] pNotify

Pointeur vers l’interface IAudioEndpointVolumeCallback du client. Le client a passé ce même pointeur d’interface vers l’objet de volume de point de terminaison dans un appel précédent à la méthode IAudioEndpointVolume::RegisterControlChangeNotify . Si la méthode UnregisterControlChangeNotify réussit, elle appelle la méthode Release sur l’interface IAudioEndpointVolumeCallback du client.

Valeur retournée

Si la méthode réussit, retourne S_OK. En cas d’échec, les codes de retour possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.

Code de retour Description
E_POINTER
Le paramètre pNotify a la valeur NULL.

Notes

Avant que le client publie sa référence finale à l’interface IAudioEndpointVolumeCallback , il doit appeler UnregisterControlChangeNotify pour annuler l’inscription de l’interface. Sinon, l’application fuit les ressources détenues par les objets IAudioEndpointVolumeCallback et IAudioEndpointVolume . Notez que la méthode IAudioEndpointVolume::RegisterControlChangeNotify appelle la méthode IAudioEndpointVolumeCallback::AddRef du client, et unregisterControlChangeNotify appelle la méthode IAudioEndpointVolumeCallback::Release . Si le client se trompe en libérant sa référence à l’interface IAudioEndpointVolumeCallback avant d’appeler UnregisterControlChangeNotify, l’objet IAudioEndpointVolume ne libère jamais sa référence à l’interface IAudioEndpointVolumeCallback . Par exemple, une implémentation IAudioEndpointVolumeCallback mal conçue peut appeler UnregisterControlChangeNotify à partir du destructeur pour l’objet IAudioEndpointVolumeCallback . Dans ce cas, le client n’appellera pas UnregisterControlChangeNotify tant que l’objet IAudioEndpointVolume ne libère pas sa référence à l’interface IAudioEndpointVolumeCallback et que l’objet IAudioEndpointVolume ne libère pas sa référence à l’interface IAudioEndpointVolumeCallback tant que le client n’appelle pas UnregisterControlChangeNotify. Pour plus d’informations sur les méthodes AddRef et Release , consultez la discussion sur l’interface IUnknown dans la documentation du Kit de développement logiciel (SDK) Windows.

Pour obtenir un exemple de code qui appelle UnregisterControlChangeNotify, consultez Endpoint Volume Controls.

Spécifications

   
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête endpointvolume.h

Voir aussi

IAudioEndpointVolume, interface

IAudioEndpointVolume::RegisterControlChangeNotify

IAudioEndpointVolumeCallback, interface