estrutura NDIS_FILTER_INTERFACE (ndis.h)

A estrutura NDIS_FILTER_INTERFACE define os atributos de um filtro NDIS.

Sintaxe

typedef struct _NDIS_FILTER_INTERFACE {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              FilterType;
  ULONG              FilterRunType;
  NET_IFINDEX        IfIndex;
  NET_LUID           NetLuid;
  NDIS_STRING        FilterClass;
  NDIS_STRING        FilterInstanceName;
} NDIS_FILTER_INTERFACE, *PNDIS_FILTER_INTERFACE;

Membros

Header

A estrutura NDIS_OBJECT_HEADER para a estrutura da interface de filtro.

O NDIS define o membro Type da estrutura especificada por Header como NDIS_OBJECT_TYPE_DEFAULT.

Se o identificador passado para NdisEnumerateFilterModules pertencer a um objeto NDIS 6.30 ou posterior, o NDIS definirá Revisão para NDIS_FILTER_INTERFACE_REVISION_2 e Size como NDIS_SIZEOF_FILTER_INTERFACE_REVISION_2.

Se o identificador passado para NdisEnumerateFilterModules pertencer a um objeto NDIS 6.20 ou anterior, o NDIS definirá Revisão como NDIS_FILTER_INTERFACE_REVISION_1 e Size como NDIS_SIZEOF_FILTER_INTERFACE_REVISION_1.

Flags

Um campo de bits que define o tipo de driver NDIS que implementa o filtro. Esse membro deve ser definido como um dos seguintes tipos de driver:

NDIS_FILTER_INTERFACE_IM_FILTER

O filtro é implementado em um driver intermediário de filtro NDIS 5.1 ou anterior.

NDIS_FILTER_INTERFACE_LW_FILTER

O filtro é implementado em um driver de filtro NDIS 6.0 ou posterior.

NDIS_FILTER_INTERFACE_SEND_BYPASS

No momento, o filtro não está anexado ao caminho de envio. Esse sinalizador só será definido se Header.Revision for maior ou igual a NDIS_FILTER_INTERFACE_REVISION_2.

NDIS_FILTER_INTERFACE_RECEIVE_BYPASS

No momento, o filtro não está anexado ao caminho de recebimento. Esse sinalizador só será definido se Header.Revision for maior ou igual a NDIS_FILTER_INTERFACE_REVISION_2.

FilterType

O tipo de comportamento do filtro. Esse tipo deve ser um dos seguintes valores:

NdisFilterTypeMonitoring = 1

Um filtro de monitoramento.

NdisFilterTypeModifying = 2

Um filtro de modificação.

FilterRunType

O tipo de prioridade de anexo de runtime para o filtro. Esse tipo deve ser um dos seguintes valores:

NdisFilterRunTypeMandatory = 1

Um filtro obrigatório. Se o filtro não for anexado à pilha do driver, o NDIS destruirá o restante da pilha.

NdisFilterRunTypeOptional = 2

Um filtro opcional. Se o filtro não for anexado à pilha do driver, o NDIS não destruirá o restante da pilha.

IfIndex

O índice da interface NDIS do módulo de filtro.

NetLuid

O valor NET_LUID atribuído ao módulo de filtro. O NET_LUID é equivalente ao nome da interface (ifName no RFC 2863).

FilterClass

Uma cadeia de caracteres UNICODE que especifica a classe de filtro. Essa cadeia de caracteres é a mesma que a entrada de arquivo INF FilterClass .

FilterInstanceName

O nome da instância de filtro.

Comentários

OA função NdisEnumerateFilterModules retorna uma estrutura NDIS_FILTER_INTERFACE para cada filtro na pilha do driver. O membro Flags identifica o filtro como um driver intermediário de filtro NDIS 5.1 ou anterior ou um módulo de filtro NDIS 6.0 ou posterior.

Um filtro leve pode inserir ou remover dinamicamente do caminho de envio ou recebimento chamando NdisFRestartFilter e fornecendo uma estrutura NDIS_FILTER_PARTIAL_CHARACTERISTICS para NdisSetOptionalHandlers.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Cabeçalho ndis.h (inclua Ndis.h)

Confira também

NDIS_OBJECT_HEADER

NET_LUID

NdisEnumerateFilterModules