設定選擇性通訊協定驅動程式服務
NDIS 會呼叫通訊協定驅動程式的 ProtocolSetOptions 函式,以允許通訊協定驅動程式設定選擇性服務。 NDIS 會在通訊協定驅動程式對NdisRegisterProtocolDriver函式的呼叫內容中呼叫ProtocolSetOptions
ProtocolSetOptions 會註冊選擇性 ProtocolXxx 函式的預設進入點,並可配置其他驅動程式資源。 若要註冊選用 的 ProtocolXxx 函式,通訊協定驅動程式會呼叫 NdisSetOptionalHandlers 函式,並在 OptionalHandlers 參數傳遞特性結構。 在此情況下,通訊協定驅動程式會在NdisSetOptionalHandlers 的 NdisHandle參數上,從ProtocolSetOptions的NdisDriverHandle參數傳遞控制碼。
通訊協定驅動程式也可以在通訊協定驅動程式有來自 NdisOpenAdapterEx函式的有效控制碼之後,從ProtocolBindAdapterEx函式或ProtocolOpenAdapterCompleteEx函式呼叫NdisSetOptionalHandlers。 在此情況下,通訊協定驅動程式會在NdisSetOptionalHandlers的NdisHandle參數上,從NdisOpenAdapterEx的NdisBindingHandle參數傳遞控制碼。
在此情況下,有效的特性結構如下:
NDIS_PROTOCOL_CO_CHARACTERISTICS
NDIS_CO_CLIENT_OPTIONAL_HANDLERS
NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS
NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS (請參閱 NDIS 6.0 TCP chimney 卸載檔)
NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS (請參閱 NDIS 6.0 TCP chimney 卸載檔)