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 |
---|---|
|
Operazione riuscita. |
|
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. |
|
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) |