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 |
---|---|
|
Le paramètre pNotify a la valeur NULL. |
|
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