NdisSetOptionalHandlers-Funktion (ndis.h)

NDIS-Treiber können die NdisSetOptionalHandlers-Funktion aufrufen, um die Einstiegspunkte von Treiberfunktionen festzulegen oder zu ändern.

Syntax

NDIS_STATUS NdisSetOptionalHandlers(
  NDIS_HANDLE                    NdisHandle,
  PNDIS_DRIVER_OPTIONAL_HANDLERS OptionalHandlers
);

Parameter

NdisHandle

Ein NDIS-Handle, das einen Treiber oder Treiber instance identifiziert.

Bei einem Protokolltreiber ist dies der NdisDriverHandle-Wert , der an die ProtocolSetOptions-Funktion übergeben wird, oder der NdisBindingHandle-Wert , der durch Aufrufen der NdisOpenAdapterEx-Funktion abgerufen wird.

Bei einem Miniporttreiber ist dies der NdisDriverHandle-Wert , der an die MiniportSetOptions-Funktion übergeben wird.

Bei einem Filtertreiber ist dies der NdisDriverHandle-Wert , der an die FilterSetOptions-Funktion übergeben wird, oder der NdisFilterHandle-Wert , der an die FilterAttach-Funktion übergeben wird.

OptionalHandlers

Ein Zeiger auf eine der folgenden NDIS-Strukturen:

NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_CO_CLIENT_OPTIONAL_HANDLERS NDIS_FILTER_PARTIAL_CHARACTERISTICS NDIS_MINIPORT_CO_CHARACTERISTICS NDIS_MINIPORT_PNP_CHARACTERISTICS

NDIS_MINIPORT_SS_CHARACTERISTICS

NDIS_NDK_PROVIDER_CHARACTERISTICS

NDIS_PROTOCOL_CO_CHARACTERISTICS NDIS_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_PROVIDER_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS

Rückgabewert

NdisSetOptionalHandlers gibt einen der folgenden status Werte zurück:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS

NdisSetOptionalHandlers gibt NDIS_STATUS_SUCCESS zurück, wenn die Einstiegspunkte des Treibers festgelegt werden.

NDIS_STATUS_RESOURCES

Fehler bei NdisSetOptionalHandlern aufgrund unzureichender Ressourcen.

NDIS_STATUS_NOT_SUPPORTED

Fehler bei NdisSetOptionalHandlern , da der Miniporttreiber nicht angegeben hat, dass er NDIS 6.0 oder höher unterstützt. Ein Miniporttreiber gibt seine NDIS-Version an, wenn er die NdisMRegisterMiniportDriver-Funktion .

NDIS_STATUS_FAILURE

NdisSetOptionalHandlers gibt NDIS_STATUS_FAILURE zurück, wenn keiner der vorherigen Werte zutrifft.

Hinweise

Ein NDIS-Treiber kann NdisSetOptionalHandlers aufrufen, um seine Standardeinstiegspunkte zu überschreiben. Die an OptionalHandlers übergebenen Strukturtypen variieren je nach Treibertyp.

Protokolltreiber können NdisSetOptionalHandlers im Kontext der ProtocolSetOptions-Funktion aufrufen. Optional können Protokolltreiber NdisSetOptionalHandler über die ProtocolBindAdapterEx-Funktion oder die ProtocolOpenAdapterCompleteEx-Funktion , nachdem der Protokolltreiber über ein gültiges Handle der NdisOpenAdapterEx-Funktion verfügt.

In diesem Fall sind die folgenden Strukturen gültig:

NDIS_PROTOCOL_CO_CHARACTERISTICS NDIS_CO_CLIENT_OPTIONAL_HANDLERS NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

Weitere Informationen zu den 2 Schornstein-Auslagerungsstrukturen finden Sie in der Dokumentation zur NDIS 6.0 TCP-Schornsteinabladung.

Miniporttreiber rufen NdisSetOptionalHandlers im Kontext der MiniportSetOptions-Funktion auf.

In diesem Fall sind die folgenden Strukturen gültig:

NDIS_MINIPORT_CO_CHARACTERISTICS NDIS_MINIPORT_PNP_CHARACTERISTICS

NDIS_MINIPORT_SS_CHARACTERISTICS

NDIS_NDK_PROVIDER_CHARACTERISTICS

NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

Weitere Informationen zu den 2 Schornstein-Auslagerungsstrukturen finden Sie in der Dokumentation zur NDIS 6.0 TCP-Schornsteinabladung.

Filtertreiber rufen NdisSetOptionalHandlers im Kontext der FilterSetOptions-Funktion auf.

In der aktuellen Windows-Version gibt es keine optionalen Filtertreiberdienste.

Filtertreiber können NdisSetOptionalHandler für ein Filtermodul aufrufen. Filtertreiber rufen NdisSetOptionalHandlers im Kontext der FilterSetModuleOptions-Funktion .

In diesem Fall sind die folgenden Strukturen gültig:

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_CHARACTERISTICS

Weitere Informationen zu den 4 Schornstein-Auslagerungsstrukturen finden Sie in der Dokumentation zur NDIS 6.0 TCP-Schornsteinabladung.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.0 und höher.
Zielplattform Universell
Header ndis.h (einschließlich Ndis.h)
Bibliothek Ndis.lib
IRQL PASSIVE_LEVEL
DDI-Complianceregeln Irql_Miscellaneous_Function(ndis)

Weitere Informationen

FilterAttach

FilterRestart

FilterSetOptions

MiniportSetOptions

NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_CO_CLIENT_OPTIONAL_HANDLERS NDIS_FILTER_PARTIAL_CHARACTERISTICS NDIS_MINIPORT_CO_CHARACTERISTICS NDIS_MINIPORT_PNP_CHARACTERISTICS NDIS_PROTOCOL_CO_CHARACTERISTICS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS

NdisMRegisterMiniportDriver

NdisOpenAdapterEx

ProtocolBindAdapterEx

ProtocolOpenAdapterCompleteEx

ProtocolSetOptions