FILTER_SET_MODULE_OPTIONS Rückruffunktion (ndis.h)
Die FilterSetModuleOptions-Funktion ändert den Satz optionaler Dienste, die einem angegebenen Filtermodul zugeordnet sind.
Syntax
FILTER_SET_MODULE_OPTIONS FilterSetModuleOptions;
NDIS_STATUS FilterSetModuleOptions(
[in] NDIS_HANDLE FilterModuleContext
)
{...}
Parameter
[in] FilterModuleContext
Ein Handle für den Kontextbereich für das Filtermodul, das das Ziel dieser Anforderung ist. Der Filtertreiber hat diesen Kontextbereich in der FilterAttach-Funktion erstellt und initialisiert.
Rückgabewert
FilterSetModuleOptions gibt einen der folgenden status Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
FilterSetModuleOptions hat die optionalen Dienste und Ressourcen des Filtermoduls erfolgreich registriert. |
|
FilterSetModuleOptions konnte nicht die Ressourcen zuordnen, die für das Filtermodul erforderlich sind. |
|
Fehler beim Versuch des Filtertreibers, Optionen zu registrieren. Normalerweise wird ein solcher Fehler status von einer NdisXxx-Funktion oder einer Kernelmodusunterstützungsroutine weitergegeben. |
Hinweise
Wenn FilterSetModuleOptions definiert ist, ruft NDIS FilterSetModuleOptions auf, bevor die FilterRestart-Funktion aufgerufen wird, um das Filtermodul zu starten.
Ein Filtertreiber gibt die Standardwerte für die änderbaren Filtermoduloptionen in der NDIS_FILTER_DRIVER_CHARACTERISTICS-Struktur an, die an die NdisFRegisterFilterDriver-Funktion während der Treiberinitialisierung.
Um optionen für ein bestimmtes Filtermodul zur Laufzeit zu ändern, muss der Filtertreiber auch einen Einstiegspunkt für FilterSetModuleOptions im NDIS_FILTER_DRIVER_CHARACTERISTICS Struktur.
Um die Optionen anzugeben, die geändert werden sollen, definiert FilterSetModuleOptions eine Merkmalsstruktur und ruft die NdisSetOptionalHandlers-Funktion auf. Filtertreiber dürfen NdisSetOptionalHandlers nicht aus einem anderen Thread aufrufen.
Mögliche Eigenschaftenstrukturen, die in FilterSetModuleOptions angegeben werden können, sind:
NDIS_FILTER_PARTIAL_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS NDIS_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_PROVIDER_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICSInformationen zu den letzten vier Strukturen finden Sie in der NDIS 6.0 TCP-Schornsteinabladungsdokumentation.
Die Optionen, die in jeder Merkmalsstruktur angegeben werden, können für jedes Filtermodul unterschiedlich sein.
Wenn NDIS die FilterDetach-Funktion aufruft, sollte der Filtertreiber alle Vorgänge rückgängigmachen, die in FilterSetModuleOptions ausgeführt wurden.
NDIS ruft FilterSetModuleOptions unter IRQL = PASSIVE_LEVEL auf.
Beispiele
Um eine FilterSetModuleOptions-Funktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der zu definierenden Funktion identifiziert. Windows bietet eine Reihe von Funktionstypen für Treiber. Das Deklarieren einer Funktion mithilfe der Funktionstypen hilft der Codeanalyse für Treiber, der statischen Treiberüberprüfung (Static Driver Verifier , SDV) und anderen Überprüfungstools, Fehler zu finden, und es ist eine Voraussetzung für das Schreiben von Treibern für das Windows-Betriebssystem.Um beispielsweise eine FilterSetModuleOptions-Funktion mit dem Namen "MySetModuleOptions" zu definieren, verwenden Sie den FILTER_SET_MODULE_OPTIONS Typ, wie in diesem Codebeispiel gezeigt:
FILTER_SET_MODULE_OPTIONS MySetModuleOptions;
Implementieren Sie dann Ihre Funktion wie folgt:
_Use_decl_annotations_
NDIS_STATUS
MySetModuleOptions(
NDIS_HANDLE FilterModuleContext
)
{...}
Der FILTER_SET_MODULE_OPTIONS Funktionstyp ist in der Ndis.h-Headerdatei definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, müssen Sie der Funktionsdefinition die anmerkung Use_decl_annotations hinzufügen. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den FILTER_SET_MODULE_OPTIONS Funktionstyp in der Headerdatei angewendet werden. Weitere Informationen zu den Anforderungen für Funktionsdeklarationen finden Sie unter Deklarieren von Funktionen mithilfe von Funktionsrollentypen für NDIS-Treiber.
Informationen zu Use_decl_annotations finden Sie unter Verhalten von Funktionen mit Anmerkungen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.0 und höher. |
Zielplattform | Windows |
Kopfzeile | ndis.h (include Ndis.h) |
IRQL | PASSIVE_LEVEL |
Weitere Informationen
NDIS_FILTER_DRIVER_CHARACTERISTICS NDIS_FILTER_PARTIAL_CHARACTERISTICSFeedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für