NdisEnumerateFilterModules-Funktion (ndis.h)
Die NdisEnumerateFilterModules-Funktion listet alle Filtermodule und Filterzwischentreiberinstanzen in einem Filterstapel auf.
Syntax
NDIS_STATUS NdisEnumerateFilterModules(
[in] NDIS_HANDLE NdisHandle,
[in] PVOID InterfaceBuffer,
[in] ULONG InterfaceBufferLength,
[in, out] PULONG BytesNeeded,
[in, out] PULONG BytesWritten
);
Parameter
[in] NdisHandle
Ein NDIS-Handle, das während der Initialisierung des Aufrufers abgerufen wurde. Weitere Informationen zu diesem Handle finden Sie unter Abrufen von Poolhandles.
Wenn das Handle ein NDIS-Miniportadapterhandle ist, gibt NDIS Informationen zu allen Schnittstellenmodulen zurück, die derzeit an den Miniportadapter angefügt sind, beginnend mit dem obersten Filtermodul.
Wenn das Handle ein NDIS-Bindungshandle ist, gibt NDIS Informationen zu allen Filtermodulen zurück, die derzeit an den zugrunde liegenden Miniportadapter angefügt sind, beginnend mit dem obersten Filtermodul.
Wenn das Handle ein NDIS-Filtermodulhandle ist, gibt NDIS Informationen zu allen Filtermodulen zurück, die derzeit an den zugrunde liegenden Miniportadapter angefügt sind, an den das angegebene Filtermodul angefügt ist, beginnend mit dem obersten Filtermodul.
[in] InterfaceBuffer
Ein Zeiger auf einen vom Aufrufer zugewiesenen Speicherblock, in dem NDIS die Informationen für alle Filtermodule in einem Filterstapel zurückgibt, beginnend mit dem obersten Filter. Dieser Puffer enthält eine NDIS_ENUM_FILTERS Struktur, auf die null oder mehr NDIS_FILTER_INTERFACE Strukturen folgen, eine für jedes Filtermodul im Stapel.
[in] InterfaceBufferLength
Die Länge des vom Aufrufer bereitgestellten Speicherblocks am InterfaceBuffer-Member in Byte.
[in, out] BytesNeeded
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, bei der NDIS die Gesamtanzahl der Bytes schreibt, die NDIS benötigt, um die Schnittstelleninformationen für alle Filter im Filterstapel erfolgreich zurückzugeben.
[in, out] BytesWritten
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, bei der NDIS die Gesamtbytes schreibt, die NDIS in den Arbeitsspeicher bei InterfaceBuffer geschrieben hat.
Rückgabewert
NdisEnumerateFilterModules gibt einen der folgenden status Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
Der Vorgang wurde erfolgreich abgeschlossen. |
|
Fehler bei NdisEnumerateFilterModules , weil der NdisHandle-Parameter kein gültiger NDIS-Miniportadapter, keine Protokollbindung oder kein gültiges Filtermodulhandle war. |
|
Fehler bei NdisEnumerateFilterModules , weil der puffer, der im Parameter InterfaceBuffer angegeben wurde, zu kurz war, damit NDIS alle Informationen zurückgeben konnte. Wenn ein Teilergebnis in InterfaceBuffer geschrieben wurde, enthält der Wert am BytesWritten-Parameter die Länge der Teilergebnisse. |
Hinweise
Ein NDIS-Miniporttreiber, Protokolltreiber oder Filtertreiber kann die NdisEnumerateFilterModules-Funktion aufrufen, um alle Filter in einem Filterstapel aufzulisten.
NdisEnumerateFilterModules gibt die Liste der Filtermodule und Filterzwischentreiber von oben nach unten im Treiberstapel zurück. Wenn beispielsweise Filtermodule (F1 und F2) an den Miniportadapter (M1) angefügt sind und F2 über F1 liegt, gibt NdisEnumerateFilterModules die Liste in der folgenden Reihenfolge zurück: F2, F1. Wenn auch ein Filterzwischentreiber (M2) vorhanden ist, der an M1 gebunden ist, wenn M2 über F2 liegt und ein anderer Filter (F3) an M2 angefügt ist, gibt NdisEnumerateFilterModules die Filterliste in der folgenden Reihenfolge zurück: F3, M2, F2, F1.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.0 und höher. |
Zielplattform | Desktop |
Kopfzeile | ndis.h (include Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | Irql_Filter_Driver_Function(ndis) |