Registering an Intermediate Driver's ProtocolXxx Chimney Functions
[The TCP chimney offload feature is deprecated and should not be used.]
In the context of its ProtocolSetOptions function, an intermediate driver calls the NdisSetOptionalHandlers function twice:
Once to register generic ProtocolXxx chimney offload functions that apply to all chimney offload types.
Once to register TCP chimney-specific ProtocolXxx functions.
To register its generic ProtocolXxx chimney offload functions, an offload target initializes an NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS structure and passes a pointer to this structure to the NdisSetOptionalHandlers function. The NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS structure contains entry points for the following functions:
To register its TCP chimney-specific ProtocolXxx functions, an offload target initializes an NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS structure and passes a pointer to this structure to the NdisSetOptionalHandlers function. The NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS structure contains entry points for the following functions: