Интерфейс IFunctionDiscoveryNotification (functiondiscoveryapi.h)

[Функция обнаружения доступна для использования в операционных системах, указанных в разделе Требования. Он может быть изменен или недоступен в последующих версиях.]

Этот интерфейс реализуется клиентской программой для поддержки асинхронных запросов и вызывается обнаружением функций для уведомления клиентской программы о добавлении или удалении экземпляра функции, соответствующего параметрам запроса.

Наследование

Интерфейс IFunctionDiscoveryNotification наследуется от интерфейса IUnknown . IFunctionDiscoveryNotification также имеет следующие типы элементов:

Методы

Интерфейс IFunctionDiscoveryNotification имеет следующие методы.

 
IFunctionDiscoveryNotification::OnError

Получает ошибки, возникающие во время асинхронной обработки запросов.
IFunctionDiscoveryNotification::OnEvent

Получает любые события добавления, удаления или обновления во время уведомления.
IFunctionDiscoveryNotification::OnUpdate

Указывает, что экземпляр функции был добавлен, удален или изменен.

Комментарии

Этот интерфейс должен быть реализован клиентской программой для получения уведомлений от обнаружения функций. Адрес реализации клиентской программы передается одному из методов запроса, чтобы включить уведомления для экземпляров функций, соответствующих параметрам запроса.

Функция обнаружения вызывает метод 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
Header functiondiscoveryapi.h