配置可选的协议驱动程序服务

NDIS 调用协议驱动程序的 ProtocolSetOptions 函数,以允许协议驱动程序配置可选服务。 NDIS 在协议驱动程序调用 NdisRegisterProtocolDriver 函数的上下文中调用 ProtocolSetOptions

ProtocolSetOptions 为可选 ProtocolXxx 函数注册默认入口点,并且可以分配其他驱动程序资源。 为了注册可选的 ProtocolXxx 函数,协议驱动程序调用 NdisSetOptionalHandlers 函数,并在 OptionalHandlers 参数中传递特征结构。 在这种情况下,协议驱动程序在 NdisSetOptionalHandlers 的 NdisHandle 参数上传递 ProtocolSetOptionsNdisDriverHandle 参数的句柄。

协议驱动程序还可以在协议驱动程序具有 NdisOpenAdapterEx 函数的有效句柄后,从 ProtocolBindAdapterEx 函数或 ProtocolOpenAdapterCompleteEx 函数调用 NdisSetOptionalHandlers 。 在这种情况下,协议驱动程序在 NdisSetOptionalHandlers 的 NdisHandle 参数上传递 NdisOpenAdapterExNdisBindingHandle 参数的句柄。

在这种情况下,有效特征结构为:

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 烟囱卸载文档)

NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS (请参阅 NDIS 6.0 TCP 烟囱卸载文档)