Compartir a través de


Interfaz IFunctionDiscoveryNotification (functiondiscoveryapi.h)

[La detección de funciones está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. Puede modificarse o no estar disponible en versiones posteriores.

El programa cliente implementa esta interfaz para admitir consultas asincrónicas y la detección de funciones llama a esta para notificar al programa cliente cuando se ha agregado o quitado una instancia de función que cumpla los parámetros de consulta.

Herencia

La interfaz IFunctionDiscoveryNotification hereda de la interfaz IUnknown . IFunctionDiscoveryNotification también tiene estos tipos de miembros:

Métodos

La interfaz IFunctionDiscoveryNotification tiene estos métodos.

 
IFunctionDiscoveryNotification::OnError

Recibe errores que se producen durante el procesamiento asincrónico de consultas.
IFunctionDiscoveryNotification::OnEvent

Recibe eventos de adición, eliminación o actualización durante una notificación.
IFunctionDiscoveryNotification::OnUpdate

Indica que se ha agregado, quitado o cambiado una instancia de función.

Comentarios

El programa cliente debe implementar esta interfaz para recibir notificaciones de la detección de funciones. La dirección de la implementación del programa cliente se pasa a uno de los métodos de consulta para habilitar las notificaciones de las instancias de función que cumplen los parámetros de consulta.

La detección de funciones llama al método IFunctionDiscoveryNotification::OnUpdate del programa cliente para realizar la notificación real, que se genera para una instancia de función cuando se agrega o quita.

Nota Algunos proveedores de detección de funciones también generarán una notificación cuando se modifique una instancia de función cambiando una categoría o una o varias propiedades asignadas a ella.

 

Ejemplos

Los ejemplos que aparecen en páginas de método individuales se basan en la siguiente declaración de clase.

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

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado functiondiscoveryapi.h