次の方法で共有


IFunctionDiscoveryNotification インターフェイス (functiondiscoveryapi.h)

[関数の検出は、[要件] セクションで指定されたオペレーティング システムで使用できます。 これは、以降のバージョンで変更または使用できない可能性があります。

このインターフェイスは、非同期クエリをサポートするためにクライアント プログラムによって実装され、クエリ パラメーターを満たす関数インスタンスが追加または削除されたときにクライアント プログラムに通知するために Function Discovery によって呼び出されます。

継承

IFunctionDiscoveryNotification インターフェイスは、IUnknown インターフェイスから継承します。 IFunctionDiscoveryNotification には、次の種類のメンバーもあります。

メソッド

IFunctionDiscoveryNotification インターフェイスには、これらのメソッドがあります。

 
IFunctionDiscoveryNotification::OnError

非同期クエリ処理中に発生するエラーを受信します。
IFunctionDiscoveryNotification::OnEvent

通知中にイベントの追加、削除、または更新を受け取ります。
IFunctionDiscoveryNotification::OnUpdate

関数インスタンスが追加、削除、または変更されたことを示します。

注釈

関数検出から通知を受信するには、このインターフェイスをクライアント プログラムで実装する必要があります。 クライアント プログラムの実装のアドレスは、クエリ パラメーターを満たす関数インスタンスの通知を有効にするために、クエリ メソッドのいずれかに渡されます。

Function Discovery は、クライアント プログラムの IFunctionDiscoveryNotification::OnUpdate メソッドを呼び出して、関数インスタンスの追加または削除時に生成される実際の通知を実行します。

メモ 一部の関数検出プロバイダーでは、カテゴリまたは割り当てられた 1 つ以上のプロパティを変更して関数インスタンスが変更されたときにも通知が生成されます。

 

個々のメソッド ページに表示される例は、次のクラス宣言に基づいています。

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

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー functiondiscoveryapi.h