Share via


Interface IFunctionDiscoveryNotification (functiondiscoveryapi.h)

[La découverte de fonctions peut être utilisée dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il peut être modifié ou indisponible dans les versions suivantes.]

Cette interface est implémentée par le programme client pour prendre en charge les requêtes asynchrones et est appelée par la découverte de fonctions pour informer le programme client lorsqu’une fonction instance qui répond aux paramètres de requête a été ajoutée ou supprimée.

Héritage

L’interface IFunctionDiscoveryNotification hérite de l’interface IUnknown. IFunctionDiscoveryNotification a également les types de membres suivants :

Méthodes

L’interface IFunctionDiscoveryNotification a ces méthodes.

 
IFunctionDiscoveryNotification ::OnError

Reçoit des erreurs qui se produisent pendant le traitement asynchrone des requêtes.
IFunctionDiscoveryNotification ::OnEvent

Reçoit tous les événements d’ajout, de suppression ou de mise à jour pendant une notification.
IFunctionDiscoveryNotification ::OnUpdate

Indique qu’une fonction instance a été ajoutée, supprimée ou modifiée.

Remarques

Cette interface doit être implémentée par le programme client pour recevoir des notifications de la découverte de fonction. L’adresse de l’implémentation du programme client est passée à l’une des méthodes de requête pour activer les notifications pour les instances de fonction qui répondent aux paramètres de requête.

La découverte de fonctions appelle la méthode IFunctionDiscoveryNotification ::OnUpdate du programme client pour effectuer la notification réelle, qui est générée pour une fonction instance lors de son ajout ou de sa suppression.

Note Certains fournisseurs de découverte de fonctions génèrent également une notification lorsqu’une fonction instance est modifiée en modifiant une catégorie ou une ou plusieurs propriétés qui lui sont affectées.

 

Exemples

Les exemples qui apparaissent sur les pages de méthodes individuelles sont basés sur la déclaration de classe suivante.

class CMyNotificationListener : public CFunctionDiscoveryNotificationWrapper
{
public:
    CMyNotificationListener() {
        m_hAddEvent      = CreateEvent( NULL, FALSE, FALSE, NULL );
        m_hRemoveEvent   = CreateEvent( NULL, FALSE, FALSE, NULL );
        m_hChangeEvent   = CreateEvent( NULL, FALSE, FALSE, NULL );
    }

    ~CMyNotificationListener() {
        CloseHandle( m_hAddEvent );
        CloseHandle( m_hRemoveEvent );
        CloseHandle( m_hChangeEvent );
    }
        

private:
    HANDLE m_hAddEvent, m_hRemoveEvent, m_hChangeEvent;
};

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 functiondiscoveryapi.h