Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Поставщик разделения данных заголовков должен задать флаги разделения заголовков в элементе NblFlags структуры NET_BUFFER_LIST для получения показаний. Для разделенных кадров сетевой адаптер также должен указать физический адрес части данных полученного кадра в элементе DataPhysicalAddressкаждой NET_BUFFER структуры.
Заметка Минипорт-драйвер может задать элемент DataPhysicalAddress структуры NET_BUFFER, даже если NET_BUFFER не связан с разделенным кадром. В этом случае DataPhysicalAddress содержит физический адрес заголовка MDL.
Поставщик, разделяющий данные заголовков, объединяет флаги в элементе NblFlags с помощью побитовой операции OR.
Поставщик разделения данных заголовков может задать следующие флаги, даже если он не разделяет кадр:
NDIS_NBL_FLAGS_IS_IPV4
Все кадры в NET_BUFFER_LIST являются кадрами IPv4. Если этот флаг задан, флаг NDIS_NBL_FLAGS_IS_IPV6 не должен быть задан.
NDIS_NBL_FLAGS_IS_IPV6
Все кадры в NET_BUFFER_LIST являются кадрами IPv6. Если этот флаг задан, флаг NDIS_NBL_FLAGS_IS_IPV4 не должен быть задан.
NDIS_NBL_FLAGS_IS_TCP
Все кадры в NET_BUFFER_LIST являются кадрами TCP. Если этот флаг задан, NDIS_NBL_FLAGS_IS_UDP не должен быть задан. Необходимо задать либо NDIS_NBL_FLAGS_IS_IPV4, либо NDIS_NBL_FLAGS_IS_IPV6.
NDIS_NBL_FLAGS_IS_UDP
Все кадры в NET_BUFFER_LIST являются кадрами UDP. Если этот флаг задан, NDIS_NBL_FLAGS_IS_TCP не должен быть установлен. Необходимо задать либо NDIS_NBL_FLAGS_IS_IPV4, либо NDIS_NBL_FLAGS_IS_IPV6.
Любой драйвер NDIS может задать предыдущие флаги для отладки, тестирования или других целей. Если драйвер задает эти флаги, значения должны точно описать содержимое полученного кадра. Рекомендуется установить эти флаги.
Поставщик разделения данных заголовков может задать следующие флаги разделения данных заголовков:
NDIS_NBL_FLAGS_HD_SPLIT
Заголовок и данные разделены во всех кадрах Ethernet, связанных со структурой NET_BUFFER_LIST .
NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER
Все кадры в структуре NET_BUFFER_LIST разделены в начале заголовка протокола верхнего уровня. Если этот флаг задан, необходимо задать NDIS_NBL_FLAGS_IS_IPV4 или NDIS_NBL_FLAGS_IS_IPV6. Кроме того, можно задать NDIS_NBL_FLAGS_IS_TCP или NDIS_NBL_FLAGS_IS_UDP. И NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD не должны быть установлены.
Флаг NDIS_NBL, разделение на уровне полезной нагрузки верхнего уровня протокола (NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD)
Все кадры в структуре NET_BUFFER_LIST разделяются в начале полезных данных TCP или в начале полезных данных UDP. Если этот флаг задан, необходимо задать NDIS_NBL_FLAGS_IS_IPV4 или NDIS_NBL_FLAGS_IS_IPV6. Необходимо задать NDIS_NBL_FLAGS_IS_TCP или NDIS_NBL_FLAGS_IS_UDP. Кроме того, NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER не должно быть задано.
Если поставщик разделения данных заголовков не разделяет кадр, кадр должен быть указан со следующими флагами, очищенными в NblFlags:
NDIS_NBL_FLAGS_HD_SPLIT (например, флаг разделения заголовков)
NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER
NDIS_NBL_FLAGS_РАЗДЕЛЕНО_НА_ЭТИКЕТ_ПРОКТОКОЛА_ВЕРХНЕГО_УРОВНЯ