Função FwpmBfeStateSubscribeChanges0 (fwpmk.h)

A função FwpmBfeStateSubscribeChanges0 registra uma função de retorno de chamada que é chamada sempre que há uma alteração no estado do mecanismo de filtro.

ObservaçãoFwpmBfeStateSubscribeChanges0 é uma versão específica de FwpmBfeStateSubscribeChanges. Consulte Nomes de Version-Independent WFP e Direcionamento de versões específicas do Windows para obter mais informações.
 

Aviso

Não chame FwpmBfeStateUnsubscribeChanges0 da função de retorno de chamada que você passou no parâmetro de retorno de chamada . Fazer isso pode causar um deadlock.

Sintaxe

NTSTATUS FwpmBfeStateSubscribeChanges0(
  [in, out]      void                                *deviceObject,
  [in]           FWPM_SERVICE_STATE_CHANGE_CALLBACK0 callback,
  [in, optional] void                                *context,
  [out]          HANDLE                              *changeHandle
);

Parâmetros

[in, out] deviceObject

Um ponteiro para um objeto de dispositivo que foi criado anteriormente pelo driver de texto explicativo. Para obter mais informações sobre como um driver de texto explicativo cria um objeto de dispositivo, consulte Criando um objeto de dispositivo.

[in] callback

Um ponteiro para uma função de retorno de chamada de alteração de estado de serviço fornecida pelo driver de texto explicativo. O mecanismo de filtro chama essa função sempre que há uma alteração no estado do mecanismo de filtro.

Uma função de retorno de chamada de alteração de estado de serviço é declarada da seguinte maneira.

VOID NTAPI
callback(
    IN OUT void  *context,
    IN FWPM_SERVICE_STATE  newState
    );

Contexto

O ponteiro que foi passado no parâmetro Context quando o driver de texto explicativo chamou a função FwpmBfeStateSubscribeChanges0 .

newState

O novo estado do mecanismo de filtro. Esse parâmetro contém um dos seguintes valores:

FWPM_SERVICE_STOPPED

O mecanismo de filtro não está em execução.

FWPM_SERVICE_START_PENDING

O mecanismo de filtro está sendo iniciado.

FWPM_SERVICE_STOP_PENDING

O mecanismo de filtro está parando.

FWPM_SERVICE_RUNNING

O mecanismo de filtro está em execução.

[in, optional] context

Um ponteiro para um contexto fornecido pelo driver de texto explicativo que é passado para a função de retorno de chamada especificada no parâmetro Callback .

[out] changeHandle

Um ponteiro para uma variável que recebe um identificador associado ao registro da função de retorno de chamada. Um driver de texto explicativo passa esse identificador para a função FwpmBfeStateUnsubscribeChanges0 para desregistrar a função de retorno de chamada.

Retornar valor

A função FwpmBfeStateSubscribeChanges0 retorna um dos seguintes códigos NTSTATUS:

Código de retorno Descrição
STATUS_SUCCESS
A função de retorno de chamada foi registrada com êxito.
Outros códigos status
Ocorreu um erro.

Comentários

Um driver de texto explicativo chama a função FwpmBfeStateSubscribeChanges0 para registrar uma função de retorno de chamada que é chamada sempre que houver uma alteração no estado do mecanismo de filtro.

Por exemplo, um driver de texto explicativo não pode abrir uma sessão para o mecanismo de filtro chamando a função FwpmEngineOpen0 , a menos que o mecanismo de filtro esteja em execução no momento. Um driver de texto explicativo pode usar a notificação FWPM_SERVICE_RUNNING para abrir uma sessão para o mecanismo de filtro para que ele possa fazer chamadas para outras funções de gerenciamento da Plataforma de Filtragem do Windows. Da mesma forma, um driver de texto explicativo pode usar a notificação FWPM_SERVICE_STOP_PENDING para executar qualquer limpeza antes que o mecanismo de filtro seja interrompido.

Um driver de texto explicativo deve chamar FwpmBfeStateSubscribeChanges0 antes de chamar a função FwpmBfeStateGet0 para recuperar o estado atual do mecanismo de filtro. Após a chamada para FwpmBfeStateSubscribeChanges0 retornar, o driver de texto explicativo pode chamar FwpmBfeStateGet0 a qualquer momento.

Um driver de texto explicativo deve desregistrar a função de retorno de chamada chamando o Função FwpmBfeStateUnsubscribeChanges0 antes que o driver de texto explicativo possa ser descarregado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows Vista.
Plataforma de Destino Universal
Cabeçalho fwpmk.h (inclua Fwpmk.h)
Biblioteca Fwpkclnt.lib
IRQL PASSIVE_LEVEL

Confira também

FwpmBfeStateGet0

FwpmBfeStateUnsubscribeChanges0

FwpmEngineOpen0