Compartilhar via


Interface IFunctionDiscoveryNotification (functiondiscoveryapi.h)

[A Descoberta de Funções está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele pode estar alterado ou indisponível em versões subsequentes.]

Essa interface é implementada pelo programa cliente para dar suporte a consultas assíncronas e é chamada pela Descoberta de Funções para notificar o programa cliente quando uma instância de função que atende aos parâmetros de consulta foi adicionada ou removida.

Herança

A interface IFunctionDiscoveryNotification herda da interface IUnknown . IFunctionDiscoveryNotification também tem estes tipos de membros:

Métodos

A interface IFunctionDiscoveryNotification tem esses métodos.

 
IFunctionDiscoveryNotification::OnError

Recebe erros que ocorrem durante o processamento de consulta assíncrona.
IFunctionDiscoveryNotification::OnEvent

Recebe qualquer evento de adição, remoção ou atualização durante uma notificação.
IFunctionDiscoveryNotification::OnUpdate

Indica que uma instância de função foi adicionada, removida ou alterada.

Comentários

Essa interface deve ser implementada pelo programa cliente para receber notificações da Descoberta de Funções. O endereço da implementação do programa cliente é passado para um dos métodos de consulta para habilitar notificações para instâncias de função que atendem aos parâmetros de consulta.

A Descoberta de Função chama o método IFunctionDiscoveryNotification::OnUpdate do programa cliente para executar a notificação real, que é gerada para uma instância de função quando é adicionada ou removida.

Nota Alguns provedores de descoberta de funções também gerarão uma notificação quando uma instância de função for modificada alterando uma categoria ou uma ou mais propriedades atribuídas a ela.

 

Exemplos

Os exemplos que aparecem em páginas de método individuais são baseados na declaração de classe a seguir.

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 Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho functiondiscoveryapi.h