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 會傳回下列其中一個狀態值:

傳回碼 Description
NDIS_STATUS_SUCCESS

如果設定驅動程序進入點,NdisSetOptionalHandlers 會傳回NDIS_STATUS_SUCCESS

NDIS_STATUS_RESOURCES

NdisSetOptionalHandlers 因為資源不足而失敗。

NDIS_STATUS_NOT_SUPPORTED

NdisSetOptionalHandlers 失敗,因為迷你埠驅動程式未指定它支援 NDIS 6.0 或更新版本。 迷你埠驅動程式在呼叫 時指定其 NDIS 版本 NdisMRegisterMiniportDriver 函式。

NDIS_STATUS_FAILURE

NdisSetOptionalHandlers 如果上述值都未套用 ,則會 傳回NDIS_STATUS_FAILURE。

備註

NDIS 驅動程式可以呼叫 NdisSetOptionalHandlers 來覆寫其預設進入點。 在 OptionalHandler 傳遞的結構類型會根據驅動程序的類型而有所不同。

通訊協議驅動程式可以在 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 個 chimney 卸除結構的詳細資訊,請參閱 NDIS 6.0 TCP chimney 卸除檔

Miniport 驅動程式會在 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 個 chimney 卸除結構的詳細資訊,請參閱 NDIS 6.0 TCP chimney 卸除檔

篩選驅動程式會在 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 個 chimney 卸除結構的詳細資訊,請參閱 NDIS 6.0 TCP chimney 卸除檔

規格需求

需求
最低支援的用戶端 NDIS 6.0 和更新版本支援。
目標平台 Universal
標頭 ndis.h (包括 Ndis.h)
程式庫 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