Freigeben über


NdisEnumerateFilterModules-Funktion (ndis.h)

Die NdisEnumerateFilterModules Funktion listet alle Filtermodule und Zwischentreiberinstanzen 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 es sich bei dem Handle um einen NDIS-Miniportadapterziehpunkt handelt, gibt NDIS Informationen zu allen Schnittstellenmodulen zurück, die derzeit an den Miniportadapter angeschlossen sind, beginnend mit dem am häufigsten verwendeten Filtermodul.

Wenn der 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 am häufigsten verwendeten Filtermodul.

Wenn es sich bei dem Handle um einen NDIS-Filtermodulhandle handelt, 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 am häufigsten verwendeten 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 am häufigsten verwendeten Filter. Dieser Puffer enthält eine NDIS_ENUM_FILTERS Struktur, auf die null oder mehr NDIS_FILTER_INTERFACE Strukturen folgt, eine für jedes Filtermodul im Stapel.

[in] InterfaceBufferLength

Die Länge des vom Aufrufer bereitgestellten Speicherblocks im 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, in der NDIS die Gesamtbytes schreibt, die NDIS im Speicher bei InterfaceBuffergeschrieben hat.

Rückgabewert

NdisEnumerateFilterModules einen der folgenden Statuswerte zurück:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
Der Vorgang wurde erfolgreich abgeschlossen.
NDIS_STATUS_INVALID_PARAMETER
NdisEnumerateFilterModules fehlgeschlagen, da der NdisHandle- Parameter kein gültiger NDIS-Miniportadapter, eine Protokollbindung oder ein Filtermodulhandle war.
NDIS_STATUS_BUFFER_TOO_SHORT
NdisEnumerateFilterModules fehlgeschlagen, da der puffer, der an der InterfaceBuffer- Parameter bereitgestellt wurde, zu kurz war, damit NDIS alle Informationen zurückgibt. Wenn bei InterfaceBufferein Teilergebnis geschrieben wurde, enthält der Wert im BytesWritten Parameter die Länge der Teilergebnisse.

Bemerkungen

Ein NDIS-Miniporttreiber, Protokolltreiber oder Filtertreiber kann die NdisEnumerateFilterModules Funktion aufrufen, um alle Filter in einem Filterstapel auflisten zu können.

NdisEnumerateFilterModules gibt die Liste der Filtermodule und Filterzwischentreiber von oben nach unten im Treiberstapel zurück. Wenn z. B. Filtermodule (F1 und F2) an den Miniportadapter (M1) angefügt sind und F2 über F1 liegt, 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, NdisEnumerateFilterModules die Filterliste in der folgenden Reihenfolge zurückgibt: F3, M2, F2, F1.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und höher.
Zielplattform- Desktop
Header- ndis.h (include Ndis.h)
Library Ndis.lib
IRQL- PASSIVE_LEVEL
DDI-Complianceregeln Irql_Filter_Driver_Function(ndis)

Siehe auch

NDIS_ENUM_FILTERS

NDIS_FILTER_INTERFACE