Compartilhar via


Função FwpsCalloutRegister3 (fwpsk.h)

A função FwpsCalloutRegister3 registra os ponteiros de função para uma versão 3 da estrutura FWPS_CALLOUT3.

Sintaxe

NTSTATUS FwpsCalloutRegister3(
  [in, out]       void                *deviceObject,
  [in]            const FWPS_CALLOUT3 *callout,
  [out, optional] UINT32              *calloutId
);

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] callout

Um ponteiro para uma estrutura de FWPS_CALLOUT3 constante que contém os dados necessários para registrar o texto explicativo com o mecanismo de filtro.

[out, optional] calloutId

Um ponteiro para uma variável do tipo UINT32 que recebe um identificador em tempo de execução que identifica o texto explicativo no mecanismo de filtro. O driver de texto explicativo passa esse identificador para a função FwpsCalloutUnregisterById0 ao cancelar o registro do texto explicativo do mecanismo de filtro. Se um driver de texto explicativo estiver filtrando um fluxo de dados, ele também passará esse identificador para as funções FwpsFlowAssociateContext0 e FwpsFlowRemoveContext0. Se um driver de texto explicativo injetar dados em fluxos de dados, ele também passará esse identificador para a função de FwpsStreamInjectAsync0. O mecanismo de filtro também passa esse identificador para a função de texto explicativo do driver de texto explicativo FwpsCalloutFlowDeleteNotifyFn0 função de texto explicativo. Esse parâmetro é opcional e pode ser NULL.

Valor de retorno

A função FwpsCalloutRegister3 do retorna um dos seguintes códigos de NTSTATUS .

Código de retorno Descrição
STATUS_SUCCESS O texto explicativo foi registrado com êxito com o mecanismo de filtro.
STATUS_FWP_ALREADY_EXISTS Não foi possível registrar o texto explicativo no mecanismo de filtro. Um texto explicativo já está registrado no mecanismo de filtro com um identificador idêntico ao GUID especificado no membro calloutKey da estrutura FWPS_CALLOUT3 apontado pelo parâmetro de texto explicativo .
outros códigos NTSTATUS Ocorreu um erro.

Observações

O driver de texto explicativo deve chamar FwpsCalloutUnregisterById0 antes de descarregar.

Um driver explicativo chama a função FwpsCalloutRegister3 para registrar um texto explicativo com o mecanismo de filtro. Um driver de texto explicativo pode registrar um texto explicativo com o mecanismo de filtro a qualquer momento, mesmo que o mecanismo de filtro não esteja em execução no momento.

Um texto explicativo e filtros que especificam o texto explicativo para a ação do filtro podem ser adicionados ao mecanismo de filtro antes que um driver de texto explicativo registre o texto explicativo com o mecanismo de filtro. Nessa situação, filtros com um tipo de ação de FWP_ACTION_CALLOUT_TERMINATING ou FWP_ACTION_CALLOUT_UNKNOWN são tratados como FWP_ACTION_BLOCKe filtros com um tipo de ação de FWP_ACTION_CALLOUT_INSPECTION são ignorados até que o texto explicativo seja registrado com o mecanismo de filtro.

Um driver de texto explicativo cancela o registro de um texto explicativo do mecanismo de filtro chamando a função FwpsCalloutUnregisterById0 ou a função FwpsCalloutUnregisterByKey0. Um driver de texto explicativo não pode ser descarregado até que todos os textos explicativos registrados anteriormente com o mecanismo de filtro não tenham sido registrados com êxito.

Essa função é essencialmente idêntica à versão anterior, FwpsCalloutRegister2. A única diferença é a estrutura de FWPS_CALLOUT3 atualizada apontada pelo parâmetro de texto explicativo.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows 8.
da Plataforma de Destino Universal
cabeçalho fwpsk.h
biblioteca Fwpkclnt.lib
IRQL PASSIVE_LEVEL

Consulte também