Condividi tramite


Funzione NdisEnumerateFilterModules (ndis.h)

La funzione NdisEnumerateFilterModules enumera tutti i moduli di filtri e filtra le istanze del driver intermedio in uno stack di filtri.

Sintassi

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

Parametri

[in] NdisHandle

Handle NDIS ottenuto durante l'inizializzazione del chiamante. Per altre informazioni su questo handle, vedere Recupero di handle del pool.

Se l'handle è un handle dell'adattatore miniport NDIS, NDIS restituisce informazioni su tutti i moduli di interfaccia attualmente collegati all'adattatore miniport, a partire dal modulo di filtro più alto.

Se l'handle è un handle di associazione NDIS, NDIS restituisce informazioni su tutti i moduli di filtro attualmente collegati all'adattatore miniport sottostante, a partire dal modulo di filtro più alto.

Se l'handle è un handle del modulo di filtro NDIS, NDIS restituisce informazioni su tutti i moduli di filtro attualmente collegati all'adattatore miniport sottostante a cui è collegato il modulo di filtro specificato, a partire dal modulo di filtro superiore.

[in] InterfaceBuffer

Puntatore a un blocco di memoria allocato dal chiamante in cui NDIS restituisce le informazioni per tutti i moduli di filtro in uno stack di filtri, a partire dal filtro più in alto. Questo buffer contiene una struttura NDIS_ENUM_FILTERS seguita da zero o più strutture NDIS_FILTER_INTERFACE , una per ogni modulo di filtro nello stack.

[in] InterfaceBufferLength

Lunghezza, in byte, del blocco di memoria fornito dal chiamante nel membro InterfaceBuffer .

[in, out] BytesNeeded

Puntatore a una variabile fornita dal chiamante in cui NDIS scrive il numero totale di byte che NDIS richiede di restituire correttamente le informazioni sull'interfaccia per tutti i filtri nello stack di filtri.

[in, out] BytesWritten

Puntatore a una variabile fornita dal chiamante in cui NDIS scrive i byte totali scritti da NDIS nella memoria in InterfaceBuffer.

Valore restituito

NdisEnumerateFilterModules restituisce uno dei valori di stato seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
Operazione riuscita.
NDIS_STATUS_INVALID_PARAMETER
NdisEnumerateFilterModules non è riuscito perché il parametro NdisHandle non era una scheda miniport NDIS valida, un'associazione del protocollo o un handle del modulo di filtro.
NDIS_STATUS_BUFFER_TOO_SHORT
NdisEnumerateFilterModules non è riuscito perché il buffer fornito nel parametro InterfaceBuffer era troppo breve per NDIS per restituire tutte le informazioni. Se un risultato parziale è stato scritto in InterfaceBuffer, il valore del parametro ByteScritto contiene la lunghezza dei risultati parziali.

Commenti

Un driver miniport NDIS, un driver di protocollo o un driver di filtro può chiamare la funzione NdisEnumerateFilterModules per enumerare tutti i filtri in uno stack di filtri.

NdisEnumerateFilterModules restituisce l'elenco dei moduli di filtro e filtra i driver intermedi dalla parte superiore alla parte inferiore dello stack di driver. Ad esempio, se i moduli di filtro (F1 e F2) sono collegati all'adattatore miniport (M1) e se F2 è superiore A1, NdisEnumerateFilterModules restituisce l'elenco nell'ordine seguente: F2, F1. Se è presente anche un driver intermedio di filtro (M2) associato a M1, se M2 è superiore a F2 e se un altro filtro (F3) è collegato a M2, NdisEnumerateFilterModules restituisce l'elenco di filtri nell'ordine seguente: F3, M2, F2, F1.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Desktop
Intestazione ndis.h (includere Ndis.h)
Libreria Ndis.lib
IRQL PASSIVE_LEVEL
Regole di conformità DDI Irql_Filter_Driver_Function(ndis)

Vedi anche

NDIS_ENUM_FILTERS

NDIS_FILTER_INTERFACE