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
NDIS_STATUS_SUCCESS
Der Vorgang wurde erfolgreich abgeschlossen.
NDIS_STATUS_INVALID_PARAMETER
Fehler bei NdisEnumerateFilterModules , weil der NdisHandle-Parameter kein gültiger NDIS-Miniportadapter, keine Protokollbindung oder kein gültiges Filtermodulhandle war.
NDIS_STATUS_BUFFER_TOO_SHORT
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)

Weitere Informationen

NDIS_ENUM_FILTERS

NDIS_FILTER_INTERFACE