структура NDIS_HD_SPLIT_ATTRIBUTES (ndis.h)

Структура NDIS_HD_SPLIT_ATTRIBUTES определяет атрибуты разделения заголовков и данных, если таковые имеются, которые связаны с адаптером мини-порта.

Синтаксис

typedef struct _NDIS_HD_SPLIT_ATTRIBUTES {
  NDIS_OBJECT_HEADER Header;
  ULONG              HardwareCapabilities;
  ULONG              CurrentCapabilities;
  ULONG              HDSplitFlags;
  ULONG              BackfillSize;
  ULONG              MaxHeaderSize;
} NDIS_HD_SPLIT_ATTRIBUTES, *PNDIS_HD_SPLIT_ATTRIBUTES;

Члены

Header

Структура NDIS_OBJECT_HEADER для структуры характеристик поставщика (NDIS_HD_SPLIT_ATTRIBUTES). Драйвер задает элемент Type структуры, в котором заголовок задает значение NDIS_OBJECT_TYPE_HD_SPLIT_ATTRIBUTES, элемент Revision — NDIS_OBJECT_HD_SPLIT_ATTRIBUTES_REVISION_1, а элемент Size — NDIS_SIZEOF_HD_SPLIT_ATTRIBUTES_REVISION_1.

HardwareCapabilities

Аппаратные возможности разделения заголовков и данных, поддерживаемые адаптером мини-порта. Эти возможности должны включать возможности, которые в настоящее время отключены параметрами INF-файла или на странице Дополнительные свойства. Значение HardwareCapabilities является побитовой ИЛИ следующих флагов:

NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT

Адаптер мини-порта может разделить заголовок и данные на отдельные многомерные списки, соответствующие требованиям к поддержке разделения заголовков и данных.

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS

Адаптер мини-порта может разделять кадры IPv4 Ethernet, которые включают параметры IPv4. Адаптер мини-порта может поддерживать разделение некоторых параметров IPv4, не разделяя другие.

Примечание Сетевой адаптер не должен разделять кадры IPv4, содержащие неподдерживаемые параметры IPv4. Если кадр IPv4 разделен, часть заголовка разделенного кадра должна содержать весь заголовок IPv4 и все имеющиеся параметры IPv4.
 

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS

Адаптер мини-порта может разделять кадры IPv6 Ethernet, включающие заголовки расширения IPv6. Адаптер мини-порта может поддерживать некоторые заголовки расширения IPv6, но не поддерживать другие.

Примечание Сетевой адаптер не должен разделять кадры IPv6, содержащие неподдерживаемые заголовки расширения IPv6. Если кадр IPv6 разделен, часть заголовка разделенного кадра должна содержать весь заголовок IPv6 и все имеющиеся заголовки расширения IPv6.
 

NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS

Адаптер мини-порта может разделять tcp-кадры с другими параметрами TCP в дополнение к параметру timestamp. Адаптер мини-порта может поддерживать некоторые параметры TCP и не поддерживать другие.

Примечание Если единственным параметром TCP в кадре является параметр timestamp, поставщик разделения данных должен иметь возможность разделить кадр.
 
Примечание Если заголовок TCP содержит неподдерживаемый параметр TCP, сетевой адаптер должен разделить кадр в начале заголовка TCP или не должен разделять кадр.
 

CurrentCapabilities

Текущие возможности разделения заголовков и данных, поддерживаемые адаптером мини-порта. Драйвер мини-порта использует те же флаги, которые определены для члена HardwareCapabilities . В этом случае флаги задаются для указания текущих возможностей, зависящих от текущих параметров конфигурации.

HDSplitFlags

Набор флагов, управляющих состоянием разделения заголовков и данных для адаптера мини-порта. Драйвер мини-порта должен присвоить этому члену значение 0 перед вызовомФункция NdisMSetMiniportAttributes. После успешного возврата NdisMSetMiniportAttributes драйвер должен проверка флаги и соответствующим образом настроить оборудование. NDIS задает этому члену побитовое ЗНАЧЕНИЕ ИЛИ следующих флагов:

NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT

Если этот флаг установлен, драйвер мини-порта должен включить разделение заголовков и данных в оборудовании. В противном случае разделение заголовков и данных будет отключено. Если компьютер использует разделение заголовков и данных, а драйвер мини-порта также устанавливает флаг NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT в элементе CurrentCapabilities , NDIS устанавливает NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT.

BackfillSize

Размер обратного заполнения (в байтах) для части данных разделенного кадра. Должен быть задан драйвер мини-порта
BackfillSize до нуля перед вызовом NdisMSetMiniportAttributes. NDIS задает этот элемент, если драйвер мини-порта должен предварительно выделить хранилище обратного заполнения в части данных для разделенных кадров. После успешного возврата NdisMSetMiniportAttributes драйвер должен использовать значение BackfillSize , заданное NDIS для предварительного выделения буферов данных.

MaxHeaderSize

Максимальный размер (в байтах) для части заголовка разделенного кадра. Драйвер мини-порта должен задать для MaxHeaderSize нулевое значение перед вызовом NdisMSetMiniportAttributes. NDIS задает этому члену максимальный размер буфера заголовков для разделенных кадров. После успешного возврата NdisMSetMiniportAttributes драйвер должен использовать значение, предоставленное NDIS.

Примечание Если длина заголовка превышает MaxHeaderSize из-за наличия параметров IPv4, заголовков IPSec или заголовков расширения IPv6, кадр не следует разделять. Если заголовок, включающий заголовок TCP или UDP, превышает значение MaxHeaderSize из-за наличия заголовка TCP, параметров TCP или заголовка UDP, сетевой адаптер должен разделить кадр в начале заголовка протокола верхнего слоя или не должен разделять кадр.
 

Комментарии

Для поддержки разделения заголовков и данных драйвер мини-порта передает указатель на NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES структуры в параметре MiniportAttributes объектаФункция NdisMSetMiniportAttributes. Член HDSplitAttributes NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES содержит указатель на структуру NDIS_HD_SPLIT_ATTRIBUTES. Драйвер мини-порта вызывает NdisMSetMiniportAttributes из функции MiniportInitializeEx во время инициализации.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.1 и более поздних версиях.
Верхняя часть ndis.h (включая Ndis.h)

См. также раздел

MiniportInitializeEx

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

NdisMSetMiniportAttributes