Partager via


MÉTHODE IMMDeviceEnumerator ::UnregisterEndpointNotificationCallback (mmdeviceapi.h)

La méthode UnregisterEndpointNotificationCallback supprime l’inscription d’une interface de notification que le client a inscrite dans un appel précédent à la méthode IMMDeviceEnumerator ::RegisterEndpointNotificationCallback .

Syntaxe

HRESULT UnregisterEndpointNotificationCallback(
  [in] IMMNotificationClient *pClient
);

Paramètres

[in] pClient

Pointeur vers l’interface IMMNotificationClient du client. Le client a passé ce même pointeur d’interface à l’énumérateur d’appareil dans un appel précédent à la méthode IMMDeviceEnumerator ::RegisterEndpointNotificationCallback . Pour plus d'informations, consultez la section Notes.

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.
E_NOTFOUND
L’interface de notification spécifiée est introuvable.

Remarques

Le client doit s’assurer que l’objet IMMNotificationClient n’est pas libéré après l’appel RegisterEndpointNotificationCallback et avant d’appeler UnregisterEndpointNotificationCallback. Ces méthodes n’appellent pas les implémentations IMMNotificationClient ::AddRef et IMMNotificationClient ::Release du client. Le client est responsable de la gestion du nombre de références de l’objet IMMNotificationClient . Le client doit incrémenter le nombre si l’appel RegisterEndpointNotificationCallback réussit et libérer la référence finale uniquement après avoir appelé UnregisterEndpointNotificationCallback ou implémenter un autre mécanisme pour s’assurer que l’objet n’est pas supprimé avant l’appel de UnregisterEndpointNotificationCallback . Sinon, l’application fuit les ressources détenues par IMMNotificationClient et tout autre objet implémenté dans le même conteneur.

Pour plus d’informations sur les méthodes AddRef et Release, consultez la discussion sur l’interface IUnknown dans la documentation SDK Windows.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête mmdeviceapi.h

Voir aussi

IMMDeviceEnumerator, interface

IMMDeviceEnumerator ::RegisterEndpointNotificationCallback

IMMNotificationClient, interface