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 |
---|---|
|
Der Vorgang wurde erfolgreich abgeschlossen. |
|
NdisEnumerateFilterModules fehlgeschlagen, da der NdisHandle- Parameter kein gültiger NDIS-Miniportadapter, eine Protokollbindung oder ein Filtermodulhandle war. |
|
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) |