Função NdisEnumerateFilterModules (ndis.h)
A função NdisEnumerateFilterModules enumera todos os módulos de filtros e filtra instâncias de driver intermediário 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 do 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.
Valor de retorno
NdisEnumerateFilterModules retorna um dos seguintes valores de status:
Código de retorno | Descrição |
---|---|
|
A operação foi concluída com êxito. |
|
NdisEnumerateFilterModules falharam 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. |
|
NdisEnumerateFilterModules falharam porque o buffer fornecido no parâmetro InterfaceBuffer era muito curto para o NDIS retornar todas as informações. Se um resultado parcial foi gravado em InterfaceBuffer, o valor no parâmetro BytesWritten contém o comprimento dos resultados parciais. |
Observações
Um driver de miniporto NDIS, driver de protocolo ou driver de filtro pode 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 os drivers intermediários da parte superior para a parte inferior da pilha de driver. Por exemplo, se os módulos de filtro (F1 e F2) forem anexados ao adaptador de miniporto (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 ao M2, NdisEnumerateFilterModules retornará a lista de filtros na seguinte ordem: F3, M2, F2, F1.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.0 e posterior. |
da 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) |