[関数の検出は、[要件] セクションで指定されたオペレーティング システムで使用できます。 これは、以降のバージョンで変更または使用できない可能性があります。
このインターフェイスは、非同期クエリをサポートするためにクライアント プログラムによって実装され、クエリ パラメーターを満たす関数インスタンスが追加または削除されたときにクライアント プログラムに通知するために Function Discovery によって呼び出されます。
継承
IFunctionDiscoveryNotification インターフェイスは、IUnknown インターフェイスから継承します。 IFunctionDiscoveryNotification には、次の種類のメンバーもあります。
メソッド
IFunctionDiscoveryNotification インターフェイスには、これらのメソッドがあります。
|
IFunctionDiscoveryNotification::OnError 非同期クエリ処理中に発生するエラーを受信します。 |
|
IFunctionDiscoveryNotification::OnEvent 通知中にイベントの追加、削除、または更新を受け取ります。 |
|
IFunctionDiscoveryNotification::OnUpdate 関数インスタンスが追加、削除、または変更されたことを示します。 |
注釈
関数検出から通知を受信するには、このインターフェイスをクライアント プログラムで実装する必要があります。 クライアント プログラムの実装のアドレスは、クエリ パラメーターを満たす関数インスタンスの通知を有効にするために、クエリ メソッドのいずれかに渡されます。
Function Discovery は、クライアント プログラムの IFunctionDiscoveryNotification::OnUpdate メソッドを呼び出して、関数インスタンスの追加または削除時に生成される実際の通知を実行します。
例
個々のメソッド ページに表示される例は、次のクラス宣言に基づいています。
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 |