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 |
---|---|
|
A operação foi concluída com sucesso. |
|
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. |
|
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) |