структура NDIS_TCP_IP_CHECKSUM_OFFLOAD (ntddndis.h)
Структура NDIS_TCP_IP_CHECKSUM_OFFLOAD предоставляет сведения о разгрузке задачи контрольной суммы в структуре NDIS_OFFLOAD .
Синтаксис
typedef struct _NDIS_TCP_IP_CHECKSUM_OFFLOAD {
struct {
ULONG Encapsulation;
ULONG IpOptionsSupported : 2;
ULONG TcpOptionsSupported : 2;
ULONG TcpChecksum : 2;
ULONG UdpChecksum : 2;
ULONG IpChecksum : 2;
} IPv4Transmit;
struct {
ULONG Encapsulation;
ULONG IpOptionsSupported : 2;
ULONG TcpOptionsSupported : 2;
ULONG TcpChecksum : 2;
ULONG UdpChecksum : 2;
ULONG IpChecksum : 2;
} IPv4Receive;
struct {
ULONG Encapsulation;
ULONG IpExtensionHeadersSupported : 2;
ULONG TcpOptionsSupported : 2;
ULONG TcpChecksum : 2;
ULONG UdpChecksum : 2;
} IPv6Transmit;
struct {
ULONG Encapsulation;
ULONG IpExtensionHeadersSupported : 2;
ULONG TcpOptionsSupported : 2;
ULONG TcpChecksum : 2;
ULONG UdpChecksum : 2;
} IPv6Receive;
} NDIS_TCP_IP_CHECKSUM_OFFLOAD, *PNDIS_TCP_IP_CHECKSUM_OFFLOAD;
Члены
IPv4Transmit
Структура в NDIS_TCP_IP_CHECKSUM_OFFLOAD, которая указывает сведения о передаче IPv4 и содержит следующие элементы:
IPv4Transmit.Encapsulation
Параметры инкапсуляции для передачи IPv4. Дополнительные сведения об этом члене см. в следующем разделе Примечаний.
IPv4Transmit.IpOptionsSupported
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму IP-адресов для пакета отправки IPv4, содержащего параметры IP-адреса, или для указания на то, что эта возможность включена или отключена.
IPv4Transmit.TcpOptionsSupported
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму TCP для пакета отправки IPv4, содержащего параметры TCP, или для указания на то, что эта возможность включена или отключена.
IPv4Transmit.TcpChecksum
Значение ULONG, заданное драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму TCP для пакета отправки IPv4. Транспорт TCP/IP задает это значение, чтобы включить эту возможность или указать, что эта возможность включена или отключена.
IPv4Transmit.UdpChecksum
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму UDP для пакета отправки IPv4 или указать, что эта возможность включена или отключена.
IPv4Transmit.IpChecksum
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму IP-адресов для пакета отправки IPv4 или указать, что эта возможность включена или отключена.
IPv4Receive
Структура в NDIS_TCP_IP_CHECKSUM_OFFLOAD, которая указывает сведения о получении IPv4 и содержит следующие элементы:
IPv4Receive.Encapsulation
Параметры инкапсуляции для получения IPv4. Дополнительные сведения об этом члене см. в следующем разделе Примечаний.
IPv4Receive.IpOptionsSupported
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может проверить контрольную сумму IP-адресов для пакета получения IPv4, содержащего параметры IP-адреса, или для указания на то, что эта возможность включена или отключена.
IPv4Receive.TcpOptionsSupported
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму TCP для пакета получения IPv4, содержащего параметры TCP, или указать, что эта возможность включена или отключена.
IPv4Receive.TcpChecksum
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может проверить контрольную сумму TCP для пакета получения IPv4 или указать, что эта возможность включена или отключена.
IPv4Receive.UdpChecksum
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может проверить контрольную сумму UDP пакета получения IPv4 или указать, что эта возможность включена или отключена.
IPv4Receive.IpChecksum
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может проверить контрольную сумму IP-адресов для пакета получения IPv4 или указать, что эта возможность включена или отключена.
IPv6Transmit
Структура в NDIS_TCP_IP_CHECKSUM_OFFLOAD, которая указывает сведения о передаче IPv6 и содержит следующие элементы:
IPv6Transmit.Encapsulation
Параметры инкапсуляции для передачи по протоколу IPv6. Дополнительные сведения об этом члене см. в следующем разделе Примечаний.
IPv6Transmit.IpExtensionHeadersSupported
Значение ULONG, заданное драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислять контрольные суммы для пакетов IPv6, содержащих заголовки расширений.
IPv6Transmit.TcpOptionsSupported
Значение ULONG, заданное драйвером мини-порта, указывает на то, что адаптер мини-порта может вычислить контрольную сумму TCP для пакета отправки IPv6, содержащего параметры TCP, или для указания на то, что эта возможность включена или отключена.
IPv6Transmit.TcpChecksum
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму TCP для пакета отправки IPv6 или указать, что эта возможность включена или отключена.
IPv6Transmit.UdpChecksum
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму UDP для пакета отправки IPv6 или указать, что эта возможность включена или отключена.
IPv6Receive
Структура в NDIS_TCP_IP_CHECKSUM_OFFLOAD, указывающая сведения о получении IPv6 и содержащая следующие элементы:
IPv6Receive.Encapsulation
Параметры инкапсуляции для получения IPv6. Дополнительные сведения об этом члене см. в следующем разделе Примечаний.
IPv6Receive.IpExtensionHeadersSupported
Значение ULONG, заданное драйвером мини-порта, чтобы указать, что адаптер мини-порта может проверять контрольные суммы в пакетах IPv6, содержащих заголовки расширений.
IPv6Receive.TcpOptionsSupported
Значение ULONG, заданное драйвером мини-порта, чтобы указать, что адаптер мини-порта может вычислить контрольную сумму для пакета получения IPv6, заголовок TCP которого содержит параметры TCP, или указывает, что эта возможность включена или отключена.
IPv6Receive.TcpChecksum
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может проверить контрольную сумму TCP пакета получения IPv6 или указывает, что эта возможность включена или отключена.
IPv6Receive.UdpChecksum
Значение ULONG, устанавливаемое драйвером мини-порта, чтобы указать, что адаптер мини-порта может проверить контрольную сумму UDP для пакета получения IPv6 или указать, что эта возможность включена или отключена.
Комментарии
Структура NDIS_TCP_IP_CHECKSUM_OFFLOAD используется в элементе Checksumструктуры NDIS_OFFLOAD . Структура NDIS_TCP_IP_CHECKSUM_OFFLOAD определяет текущие или поддерживаемые службы, предоставляемые адаптером мини-порта для вычисления контрольных сумм IP, TCP или UDP (или всех из них) для отправки пакетов и проверки таких контрольных сумм для пакетов получения.
NDIS_OFFLOAD используется в NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES структура , NDIS_BIND_PARAMETERS структура NDIS_FILTER_ATTACH_PARAMETERS структура, OID_TCP_OFFLOAD_CURRENT_CONFIG OID и NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG указание состояния.
Для OID_TCP_OFFLOAD_CURRENT_CONFIG структура NDIS_OFFLOAD определяет возможности разгрузки задач, поддерживаемые адаптером мини-порта. Если текущие возможности разгрузки изменяются, драйвер мини-порта сообщает о новых возможностях в NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG указание состояния.
Элементы инкапсуляции NDIS_TCP_IP_CHECKSUM_OFFLOAD определить параметры инкапсуляции разгрузки контрольной суммы для адаптера мини-порта.
В ответ на OID_TCP_OFFLOAD_CURRENT_CONFIG запросе NDIS предоставляет побитовое ИЛИ флагов инкапсуляции, которые указывают поддерживаемые параметры инкапсуляции в каждом из членов инкапсуляции . Драйверы miniport должны обеспечивать инкапсуляцию Ethernet (NDIS_ENCAPSULATION_IEEE_802_3). Другие типы инкапсуляции являются необязательными.
Для NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG индикации состояния драйвер мини-порта предоставляет побитовую ИЛИ флагов инкапсуляции, которые указывают текущие возможности в каждом из членов инкапсуляции .
Для членов инкапсуляции определены следующие флаги:
- NDIS_ENCAPSULATION_NOT_SUPPORTED
Указывает, что разгрузка инкапсуляции не поддерживается. - NDIS_ENCAPSULATION_NULL
Задает инкапсуляцию NULL. - NDIS_ENCAPSULATION_IEEE_802_3
Указывает инкапсуляцию IEEE 802.3. - NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q
Указывает инкапсуляцию IEEE 802.3p и IEEE 802.3q. - NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB
Указывает, что параметры инкапсуляции IEEE 802.3p и IEEE 802.3q указаны в элементе NetBufferListInfo каждой структуры NET_BUFFER_LIST. - NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
Указывает инкапсуляцию элемента управления логическими ссылками (LLC) для маршрутизируемых протоколов, как описано в документе RFC 1483. Этот флаг также используется для обозначения инкапсуляции Ethernet LLC/SNAP.
Значение значений в элементах IpOptionsSupported, TcpOptionsSupported, IpExtensionHeadersSupported, TcpChecksum, UdpChecksum и IpChecksumNDIS_TCP_IP_CHECKSUM_OFFLOAD зависит от того, какой OID или индикатор состояния включает структуру разгрузки задачи. Эти члены могут иметь одно из следующих значений:
- NDIS_OFFLOAD_NOT_SUPPORTED
В OID_TCP_OFFLOAD_CURRENT_CONFIG это значение указывает, что адаптер мини-порта не поддерживает функцию, указанную элементом. - NDIS_OFFLOAD_SUPPORTED
В OID_TCP_OFFLOAD_CURRENT_CONFIG это значение указывает, что адаптер мини-порта поддерживает функцию, указанную элементом. - NDIS_OFFLOAD_SET_OFF
В указании состояния NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG это значение указывает, что функция, указанная элементом, отключена. - NDIS_OFFLOAD_SET_ON
В указании состояния NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG это значение указывает, что функция, указанная элементом, включена.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Верхняя часть | ntddndis.h (включая Ndis.h) |