Partager via


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

La méthode RegisterEndpointNotificationCallback inscrit l’interface de rappel de notification d’un client.

Syntaxe

HRESULT RegisterEndpointNotificationCallback(
  [in] IMMNotificationClient *pClient
);

Paramètres

[in] pClient

Pointeur vers l’interface IMMNotificationClient que le client inscrit pour les rappels de notification.

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_OUTOFMEMORY
Mémoire insuffisante.

Remarques

Cette méthode inscrit une interface IMMNotificationClient à appeler par le système lorsque les rôles, l’état, l’existence ou les propriétés d’un appareil de point de terminaison changent. L’appelant implémente l’interface IMMNotificationClient.

Lorsque les notifications ne sont plus nécessaires, le client peut appeler la méthode IMMDeviceEnumerator ::UnregisterEndpointNotificationCallback pour arrêter les notifications.

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 ::UnregisterEndpointNotificationCallback

IMMNotificationClient, interface