Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
When supplied by a miniport driver in response to a query of OID_TCP_TASK_OFFLOAD, the NDIS_TASK_OFFLOAD structure specifies a NIC's capabilities for offloading tasks or TCP connections from the host stack. When supplied by the host stack (when the host stack sets the OID_TCP_TASK_OFFLOAD OID), the NDIS_TASK_OFFLOAD structure specifies an offload task or capability that the host stack is enabling.
Syntax
typedef struct _NDIS_TASK_OFFLOAD {
ULONG Version;
ULONG Size;
NDIS_TASK Task;
ULONG OffsetNextTask;
ULONG TaskBufferLength;
UCHAR TaskBuffer[1];
} NDIS_TASK_OFFLOAD, *PNDIS_TASK_OFFLOAD;
Members
Version
The version number of the offload capability. If the miniport driver's NIC supports more than one version of a particular offload capability, it should specify each version of the capability with a separate NDIS_TASK_OFFLOAD structure. The host stack chooses the most suitable version to enable.Size
The size, in bytes, of the NDIS_TASK_OFFLOAD structure. Size is set to sizeof(NDIS_TASK_OFFLOAD) and is used to determine the version of the NDIS_TASK_OFFLOAD structure.Task
The type of offload capability, such as one of the following:TcpIpChecksumNdisTask
Checksum offload. The TaskBuffer member contains an NDIS_TASK_TCP_IP_CHECKSUM structure.IpSecNdisTask
Internet Protocol (IP) security offload. The TaskBuffer member contains an NDIS_TASK_IPSEC structure.TcpLargeSendNdisTask
Segmentation offload. The TaskBuffer member contains an NDIS_TASK_TCP_LARGE_SEND structure.
OffsetNextTask
The offset amount, in bytes, from the beginning of the NDIS_TASK_OFFLOAD structure to the next NDIS_TASK_OFFLOAD structure in the buffer pointed to by the InformationBuffer member of the NDIS_REQUEST structure. If the NDIS_TASK_OFFLOAD structure is the last one in the buffer, OffsetNextTask is set to zero.TaskBufferLength
The size, in bytes, of the structure at TaskBuffer.TaskBuffer
A variable-length array that contains information specific to the offload task that is indicated by Task. The contents of the TaskBuffer member vary according to the Task member type:Task type Contents of TaskBuffer TcpIpChecksumNdisTask
NDIS_TASK_TCP_IP_CHECKSUM structure
IpSecNdisTask
NDIS_TASK_IPSEC structure
TcpLargeSendNdisTask
NDIS_TASK_TCP_LARGE_SEND structure
Remarks
If a NIC has the appropriate capabilities, the host stack can offload one or more of the following:
Calculation and/or validation of IP or TCP checksums.
IP security processing.
Segmentation of large TCP packets into smaller TCP packets.
The host stack determines a NIC's offload capabilities by querying OID_TCP_TASK_OFFLOAD. In response, a miniport driver returns (in the buffer pointed to by the InformationBuffer member of the NDIS_REQUEST structure) an NDIS_TASK_OFFLOAD_HEADER structure followed by one or more NDIS_TASK_OFFLOAD structures. The TaskBuffer member of each NDIS_TASK_OFFLOAD structure contains a capability-specific structure ( NDIS_TASK_TCP_IP_CHECKSUM, NDIS_TASK_IPSEC, or NDIS_TASK_TCP_LARGE_SEND, ) that specifies a particular offload capability supported by the miniport driver's NIC. If the NIC supports multiple versions of a particular task offload capability, it returns one NDIS_TASK_OFFLOAD structure for each version.
After querying a NIC's offload capabilities, the host stack enables offload capabilities by setting OID_TCP_TASK_OFFLOAD. In this set operation, the host stack supplies (in the buffer pointed to by the InformationBuffer member of the NDIS_REQUEST structure) an NDIS_TASK_OFFLOAD_HEADER structure followed by an NDIS_TASK_OFFLOAD structure for each offload task that it is enabling. The miniport driver must examine each NDIS_TASK_OFFLOAD structure to determine which offload tasks are being enabled. The miniport driver must also examine the capability-specific structure in the TaskBuffer member of each NDIS_TASK_OFFLOAD structure to determine the specific capabilities that are being enabled.
Requirements
Header |
Ndis.h (include Ndis.h) |
See also