次の方法で共有


NdisSetOptionalHandlers 関数 (ndis.h)

NDIS ドライバーは、 NdisSetOptionalHandlers 関数を呼び出して、ドライバー関数のエントリ ポイントを設定または変更できます。

構文

NDIS_STATUS NdisSetOptionalHandlers(
  NDIS_HANDLE                    NdisHandle,
  PNDIS_DRIVER_OPTIONAL_HANDLERS OptionalHandlers
);

パラメーター

NdisHandle

ドライバーまたはドライバー インスタンスを識別する NDIS ハンドル。

プロトコル ドライバーの場合、これは ProtocolSetOptions 関数に渡される NdisDriverHandle 値、または NdisOpenAdapterEx 関数を呼び出して取得した NdisBindingHandle 値です。

ミニポート ドライバーの場合、これは、MiniportSetOptions 関数に渡される NdisDriverHandle 値です

フィルター ドライバーの場合、これは FilterSetOptions 関数に渡される NdisDriverHandle 値、または FilterAttach 関数に渡される NdisFilterHandle 値です。

OptionalHandlers

次のいずれかの NDIS 構造体へのポインター。

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

戻り値

NdisSetOptionalHandlers は、 次のいずれかの状態値を返します。

リターン コード 説明
NDIS_STATUS_SUCCESS

NdisSetOptionalHandlers は、 ドライバーのエントリ ポイントを設定した場合、 NDIS_STATUS_SUCCESS を返します。

NDIS_STATUS_RESOURCES

リソースが不足しているため、NdisSetOptionalHandlers が失敗しました。

NDIS_STATUS_NOT_SUPPORTED

ミニポート ドライバーが NDIS 6.0 以降をサポートすることを指定していないため、NdisSetOptionalHandlers が失敗しました。 ミニポート ドライバーは、 を呼び出すときに NDIS バージョンを指定します。 NdisMRegisterMiniportDriver 関数。

NDIS_STATUS_FAILURE

NdisSetOptionalHandlers は、 上記の値が適用されない場合、 NDIS_STATUS_FAILURE を返します。

注釈

NDIS ドライバーは、 NdisSetOptionalHandlers を呼び出して、既定のエントリ ポイントを上書きできます。 OptionalHandlers で渡される構造体の型は、ドライバーの種類によって異なります。

プロトコル ドライバーは、 ProtocolSetOptions 関数のコンテキストで NdisSetOptionalHandlers 呼び出すことができます。 オプションとして、プロトコル ドライバーは、ProtocolBindAdapterEx 関数または から NdisSetOptionalHandlers を呼び出すことができます。プロトコル ドライバーが NdisOpenAdapterEx 関数の有効なハンドルを持った後の ProtocolOpenAdapterCompleteEx 関数。

この場合、有効な構造体は次のとおりです。

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

2 つのチムニー オフロード構造の詳細については、 NDIS 6.0 TCP のチムニー オフロードに関するドキュメントを参照してください

ミニポート ドライバーは 、MiniportSetOptions 関数のコンテキストで NdisSetOptionalHandlers 呼び出します。

この場合、有効な構造体は次のとおりです。

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

2 つのチムニー オフロード構造の詳細については、 NDIS 6.0 TCP のチムニー オフロードに関するドキュメントを参照してください

フィルター ドライバーは、 FilterSetOptions 関数のコンテキストで NdisSetOptionalHandlers 呼び出します。

現在の Windows バージョンには、オプションのフィルター ドライバー サービスはありません。

フィルター ドライバーは、フィルター モジュールの NdisSetOptionalHandlers を呼び出すことができます。 フィルター ドライバーは、 のコンテキストで NdisSetOptionalHandlers を呼び出します。 FilterSetModuleOptions 関数。

この場合、有効な構造体は次のとおりです。

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

4 つのチムニー オフロード構造の詳細については、 NDIS 6.0 TCP のチムニー オフロードに関するドキュメントを参照してください

要件

要件
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
対象プラットフォーム ユニバーサル
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 Irql_Miscellaneous_Function(ndis)

こちらもご覧ください

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