Função NdisEnumerateFilterModules (ndis.h)

A função NdisEnumerateFilterModules enumera todos os módulos de filtros e filtra instâncias intermediárias do driver em uma pilha de filtros.

Sintaxe

NDIS_STATUS NdisEnumerateFilterModules(
  [in]      NDIS_HANDLE NdisHandle,
  [in]      PVOID       InterfaceBuffer,
  [in]      ULONG       InterfaceBufferLength,
  [in, out] PULONG      BytesNeeded,
  [in, out] PULONG      BytesWritten
);

Parâmetros

[in] NdisHandle

Um identificador NDIS obtido durante a inicialização do chamador. Para obter mais informações sobre esse identificador, consulte Obtendo identificadores de pool.

Se o identificador for um identificador de adaptador de miniporto NDIS, o NDIS retornará informações sobre todos os módulos de interface que estão atualmente anexados ao adaptador de miniporto, começando com o módulo de filtro mais importante.

Se o identificador for um identificador de associação NDIS, o NDIS retornará informações sobre todos os módulos de filtro que estão atualmente anexados ao adaptador de miniporto subjacente, começando com o módulo de filtro mais importante.

Se o identificador for um identificador de módulo de filtro NDIS, o NDIS retornará informações sobre todos os módulos de filtro que estão atualmente anexados ao adaptador de miniporto subjacente ao qual o módulo de filtro especificado está anexado, começando com o módulo de filtro mais importante.

[in] InterfaceBuffer

Um ponteiro para um bloco de memória alocado pelo chamador no qual o NDIS retorna as informações de todos os módulos de filtro em uma pilha de filtros, começando com o filtro mais alto. Esse buffer contém uma estrutura NDIS_ENUM_FILTERS seguida por zero ou mais estruturas NDIS_FILTER_INTERFACE , uma para cada módulo de filtro na pilha.

[in] InterfaceBufferLength

O comprimento, em bytes, do bloco de memória fornecido pelo chamador no membro InterfaceBuffer .

[in, out] BytesNeeded

Um ponteiro para uma variável fornecida pelo chamador em que o NDIS grava o número total de bytes necessários para que o NDIS retorne com êxito as informações da interface para todos os filtros na pilha de filtros.

[in, out] BytesWritten

Um ponteiro para uma variável fornecida pelo chamador em que o NDIS grava o total de bytes que o NDIS escreveu na memória em InterfaceBuffer.

Retornar valor

NdisEnumerateFilterModules retorna um dos seguintes valores de status:

Código de retorno Descrição
NDIS_STATUS_SUCCESS
A operação foi concluída com sucesso.
NDIS_STATUS_INVALID_PARAMETER
NdisEnumerateFilterModules falhou porque o parâmetro NdisHandle não era um adaptador de miniporto NDIS válido, uma associação de protocolo ou um identificador de módulo de filtro.
NDIS_STATUS_BUFFER_TOO_SHORT
Falha em NdisEnumerateFilterModules porque o buffer fornecido no parâmetro InterfaceBuffer era muito curto para o NDIS retornar todas as informações. Se um resultado parcial tiver sido gravado em InterfaceBuffer, o valor no parâmetro BytesWritten conterá o comprimento dos resultados parciais.

Comentários

Um driver de miniporto NDIS, um driver de protocolo ou um driver de filtro podem chamar a função NdisEnumerateFilterModules para enumerar todos os filtros em uma pilha de filtros.

NdisEnumerateFilterModules retorna a lista de módulos de filtro e filtra drivers intermediários da parte superior até a parte inferior da pilha do driver. Por exemplo, se os módulos de filtro (F1 e F2) estiverem anexados ao adaptador de miniporte (M1) e se F2 estiver acima de F1, NdisEnumerateFilterModules retornará a lista na seguinte ordem: F2, F1. Se também houver um driver intermediário de filtro (M2) associado a M1, se M2 estiver acima de F2 e se outro filtro (F3) estiver anexado a M2, NdisEnumerateFilterModules retornará a lista de filtros na seguinte ordem: F3, M2, F2, F1.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Plataforma de Destino Área de Trabalho
Cabeçalho ndis.h (inclua Ndis.h)
Biblioteca Ndis.lib
IRQL PASSIVE_LEVEL
Regras de conformidade de DDI Irql_Filter_Driver_Function(ndis)

Confira também

NDIS_ENUM_FILTERS

NDIS_FILTER_INTERFACE