Compartilhar via


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.

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 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 do .

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 de retorno de chamada .

[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 cancelar o registro da função de retorno de chamada.

Valor de retorno

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 NTSTATUS Ocorreu um erro.

Observações

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 explicativo não pode abrir uma sessão no 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 no 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 retorna, o driver de texto explicativo pode chamar FwpmBfeStateGet0 a qualquer momento.

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

FwpmBfeStateSubscribeChanges0 é uma versão específica do FwpmBfeStateSubscribeChanges. Consulte nomes de Version-Independent WFP e versões específicas de destino do Windows para obter mais informações.

Requisitos

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

Consulte também