A protocol driver can enable or disable task offload services for an underlying miniport adapter by issuing an OID_OFFLOAD_ENCAPSULATION OID set request. This OID request sets the required encapsulation type and tells the miniport driver to activate all of the available task offload services.
Before issuing the the OID_OFFLOAD_ENCAPSULATION OID set request, the protocol driver should make sure that the underlying miniport adapter supports the required encapsulation type. There are two ways to do this:
- Check the NDIS_BIND_PARAMETERS structure that the protocol driver received in its ProtocolBindAdapterEx function.
- Issue an OID_TCP_OFFLOAD_CURRENT_CONFIG query request.
If the miniport driver supports any task offload type that supports the requested encapsulation type, the miniport driver must return NDIS_STATUS_SUCCESS in response to the OID_OFFLOAD_ENCAPSULATION set request. Otherwise, the miniport driver should return NDIS_STATUS_INVALID_PARAMETER.