Compartilhar via


FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 função de retorno de chamada (fwpsk.h)

O mecanismo de filtro chama a função de texto explicativo vSwitchFilterEngineReorderNotifyRn (FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0) para notificar o driver de texto explicativo sobre eventos associados à reordenação do mecanismo de filtro do comutador virtual.

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

Sintaxe

FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 FwpsVswitchFilterEngineReorderCallback0;

NTSTATUS FwpsVswitchFilterEngineReorderCallback0(
  [in, optional] void *notifyContext,
  [in]           void *completionContext,
  [in]           BOOLEAN isInRequiredPosition,
  [in]           const NDIS_ENUM_FILTERS *vSwitchExtensionLwfList
)
{...}

Parâmetros

[in, optional] notifyContext

Um ponteiro para um contexto fornecido pelo driver de texto explicativo. O driver passou esse ponteiro para o parâmetro notifyContext da função FwpsvSwitchEventsSubscribe0 . Esse parâmetro é opcional e pode ser NULL.

[in] completionContext

Um ponteiro para um contexto de conclusão fornecido pelo driver de texto explicativo. Esse parâmetro é opcional e pode ser NULL.

[in] isInRequiredPosition

Um valor BOOLEAN definido como TRUE se o filtro estiver na posição necessária na pilha de filtros ou FALSE se não estiver.

[in] vSwitchExtensionLwfList

Uma estrutura NDIS_ENUM_FILTERS que especifica uma lista dos drivers de filtro NDIS da extensão do comutador virtual.

Retornar valor

Um texto explicativo

FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 função retorna um dos seguintes códigos NTSTATUS.

Código de retorno Descrição
STATUS_SUCCESS
O driver de texto explicativo aceita a notificação do mecanismo de filtro.
Outros códigos de status
Ocorreu um erro.

Comentários

Um driver de texto explicativo registra um

Função vSwitchFilterEngineReorderNotifyRn chamando
a função FwpsvSwitchEventsSubscribe0 .

Por padrão, a extensão do comutador virtual WFP é posicionada como a primeira extensão de filtragem na entrada do comutador virtual. (Portanto, também é a última extensão na saída do comutador virtual). Essa geralmente é a melhor posição, pois a extensão WFP pode interceptar pacotes antes que qualquer outra extensão possa modificá-los na entrada. Além disso, a extensão WFP pode interceptar pacotes depois que todas as modificações de pacote são feitas na saída.

No entanto, como um administrador pode reordenar qualquer extensão de comutador virtual da mesma classe, a extensão WFP pode ser reordenada da posição padrão. Depois que ocorre uma reordenação, os filtros de um cliente WFP podem ser ignorados e talvez precisem ser ajustados.

Se o retorno de chamada vSwitchFilterEngineReorderNotifyRn for registrado, o driver de texto explicativo será notificado quando uma reordenação do comutador virtual estiver ocorrendo. O driver de texto explicativo recebe uma estrutura NDIS_ENUM_FILTERS com uma lista ordenada de extensões de comutador virtual atuais no parâmetro vSwitchExtensionLwfList .

Se as extensões do comutador virtual forem reordenadas, a extensão do WFP será pausada (consulte FilterPause) e reiniciada (consulte FilterRestart). Na chamada FilterRestart do filtro WFP, o driver de filtro WFP chama a função NdisEnumerateFilterModules para obter uma lista ordenada de filtros de extensão do comutador virtual. Se a extensão WFP não estiver na posição padrão, o driver de filtro notificará os drivers de texto explicativo.

Um driver de texto explicativo não pode retornar STATUS_PENDING de vSwitchFilterEngineReorderNotifyRn.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8.
Plataforma de Destino Windows
Cabeçalho fwpsk.h (inclua Fwpsk.h)
IRQL <= DISPATCH_LEVEL

Confira também

Funções de texto explicativo do driver de texto explicativo

FilterPause

FilterRestart

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_ENUM_FILTERS

NdisEnumerateFilterModules

NdisFRestartComplete