Méthode IAudioSessionControl ::UnregisterAudioSessionNotification (audiopolicy.h)
La méthode UnregisterAudioSessionNotification supprime une inscription précédente par le client pour recevoir des notifications.
Syntaxe
HRESULT UnregisterAudioSessionNotification(
[in] IAudioSessionEvents *NewNotifications
);
Paramètres
[in] NewNotifications
Pointeur vers une interface IAudioSessionEvents implémentée par le client. Le client a passé ce même pointeur d’interface au gestionnaire de sessions lors d’un appel précédent à la méthode IAudioSessionControl ::RegisterAudioSessionNotification . Si la méthode UnregisterAudioSessionNotification réussit, elle appelle la méthode Release sur l’interface IAudioSessionEvents 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 |
---|---|
|
Le paramètre NewNotifications a la valeur NULL. |
|
L’interface spécifiée n’a pas été inscrite précédemment par le client ou a déjà été supprimée. |
Remarques
Le client appelle cette méthode lorsqu’il n’a plus besoin de recevoir de notifications. La méthode UnregisterAudioSessionNotification supprime l’inscription d’une interface IAudioSessionEvents que le client a précédemment inscrite auprès du gestionnaire de sessions en appelant la méthode IAudioSessionControl ::RegisterAudioSessionNotification .
Avant que le client publie sa référence finale à l’interface IAudioSessionEvents , il doit appeler UnregisterAudioSessionNotification pour annuler l’inscription de l’interface. Sinon, l’application fuit les ressources détenues par les objets IAudioSessionEvents et IAudioSessionControl . Notez que RegisterAudioSessionNotification appelle la méthode IAudioSessionEvents ::AddRef du client, et UnregisterAudioSessionNotification appelle la méthode IAudioSessionEvents ::Release . Si le client se trompe en libérant sa référence à l’interface IAudioSessionEvents avant d’appeler UnregisterAudioSessionNotification, le gestionnaire de session ne libère jamais sa référence à l’interface IAudioSessionEvents . Par exemple, une implémentation IAudioSessionEvents mal conçue peut appeler UnregisterAudioSessionNotification à partir du destructeur de l’objet IAudioSessionEvents . Dans ce cas, le client n’appelle pas UnregisterAudioSessionNotification tant que le gestionnaire de session n’a pas publié sa référence à l’interface IAudioSessionEvents , et le gestionnaire de session ne libère pas sa référence à l’interface IAudioSessionEvents tant que le client n’appelle pas UnregisterAudioSessionNotification. 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 la méthode UnregisterAudioSessionNotification , consultez Événements audio pour les applications audio héritées.
Configuration requise
Condition requise | Valeur |
---|---|
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 | audiopolicy.h |
Voir aussi
IAudioSessionControl, interface
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour