Freigeben über


IFunctionDiscoveryNotification-Schnittstelle (functiondiscoveryapi.h)

[Die Funktionsermittlung ist für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. Sie kann in nachfolgenden Versionen geändert oder nicht verfügbar sein.]

Diese Schnittstelle wird vom Clientprogramm implementiert, um asynchrone Abfragen zu unterstützen, und wird von der Funktionsermittlung aufgerufen, um das Clientprogramm zu benachrichtigen, wenn eine Funktion instance, die die Abfrageparameter erfüllt, hinzugefügt oder entfernt wurde.

Vererbung

Die IFunctionDiscoveryNotification-Schnittstelle erbt von der IUnknown-Schnittstelle . IFunctionDiscoveryNotification verfügt auch über folgende Membertypen:

Methoden

Die IFunctionDiscoveryNotification-Schnittstelle verfügt über diese Methoden.

 
IFunctionDiscoveryNotification::OnError

Empfängt Fehler, die während der asynchronen Abfrageverarbeitung auftreten.
IFunctionDiscoveryNotification::OnEvent

Empfängt alle Add-, Remove- oder Updateereignisse während einer Benachrichtigung.
IFunctionDiscoveryNotification::OnUpdate

Gibt an, dass eine Funktion instance hinzugefügt, entfernt oder geändert wurde.

Hinweise

Diese Schnittstelle muss vom Clientprogramm implementiert werden, um Benachrichtigungen von der Funktionsermittlung zu erhalten. Die Adresse der Implementierung des Clientprogramms wird an eine der Abfragemethoden übergeben, um Benachrichtigungen für Funktionsinstanzen zu aktivieren, die die Abfrageparameter erfüllen.

Die Funktionsermittlung ruft die IFunctionDiscoveryNotification::OnUpdate-Methode des Clientprogramms auf, um die eigentliche Benachrichtigung auszuführen, die für eine Funktion instance generiert wird, wenn sie hinzugefügt oder entfernt wird.

Hinweis Einige Funktionsermittlungsanbieter generieren auch eine Benachrichtigung, wenn eine Funktion instance durch Ändern einer Kategorie oder einer oder mehrerer zugewiesener Eigenschaften geändert wird.

 

Beispiele

Die Beispiele, die auf einzelnen Methodenseiten angezeigt werden, basieren auf der folgenden Klassendeklaration.

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;
};

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile functiondiscoveryapi.h