NDIS_RSC_NBL_INFO объединение (ndis/nblrsc.h)

Объединение NDIS_RSC_NBL_INFO указывает сведения счетчика объединения сегментов получения (RSC), связанные со структурой NET_BUFFER_LIST .

Синтаксис

typedef union _NDIS_RSC_NBL_INFO {
  struct {
    USHORT CoalescedSegCount;
    USHORT DupAckCount;
  } Info;
  PVOID  Value;
} NDIS_RSC_NBL_INFO, *PNDIS_RSC_NBL_INFO;

Члены

Info

Член профсоюза, содержащегося в NDIS_RSC_NBL_INFO. Драйверы используют сведения для доступа к сведениям RSC. Info — это структура со следующими элементами:

Info.CoalescedSegCount

Количество объединенных сегментов в структуре NET_BUFFER_LIST . Для пакетов, отличных от RSC, этот член должен иметь нулевое значение. Драйверы могут получить доступ к этому элементу с помощью макроса NET_BUFFER_LIST_COALESCED_SEG_COUNT .

Примечание Сведения RscTcpTimestampDelta и член DupAckCount должны быть ненулевыми, только если Значение CoalescedSegCount не равно нулю. Дополнительные сведения о RscTcpTimestampDelta см. в разделе примечаний.
 

Info.DupAckCount

Количество повторяющихся ACL, которые были обнаружены при формировании структуры NET_BUFFER_LIST . Значение DupAckCount должно быть ненулевым, только если значение CoalescedSegCount не равно нулю. Драйверы могут получить доступ к этому элементу с помощью макроса NET_BUFFER_LIST_DUP_ACK_COUNT .

Value

Член профсоюза, содержащегося в NDIS_RSC_NBL_INFO. Драйверы используют значение для доступа к сведениям RSC в виде одного PVOID.

Комментарии

Чтобы получить доступ к сведениям счетчика объединения сегментов (RSC), связанным со структурой NET_BUFFER_LIST , драйвер NDIS вызывает макрос NET_BUFFER_LIST_INFO и указывает тип сведений TcpRecvSegCoalesceInfo , который находится в NDIS_RSC_NBL_INFO объединении.

Чтобы получить доступ к сведениям о метке времени RSC, связанным со структурой NET_BUFFER_LIST , драйвер NDIS вызывает макрос NET_BUFFER_LIST_INFO и задает тип сведений RscTcpTimestampDelta , который является одним значением ULONG .

Примечание Сведения RscTcpTimestampDelta и член DupAckCountNDIS_RSC_NBL_INFO должны быть ненулевыми, только если значение CoalescedSegCount не равно нулю.
 
Сведения RscTcpTimestampDelta могут быть заданы для объединенных сегментов, использующих параметр метки времени TCP. Сведения RscTcpTimestampDelta должны содержать разницу между самыми ранними и последними значениями меток времени TCP в последовательности объединенных сегментов. Драйвер мини-порта может предоставить 16-разрядное значение для RscTcpTimestampDelta.

Структура NET_BUFFER_LIST единой объединенной единицы (SCU) не отличается от стандартной структуры NET_BUFFER_LIST, указанной на пути получения без RSC. SCU напоминает пакет jumbogram IP, полученный из провода. Таким образом, каждый указанный SCU должен иметь одну NET_BUFFER структуру для каждого NET_BUFFER_LIST.

NET_BUFFER может быть цепочкой MDL, а MDL может иметь общий размер, превышающий нормальную максимальную единицу передачи (MTU), но должен быть ограничен максимальной допустимой длиной датаграммы IP, см. RFC791, раздел 3.1.

Кроме того, можно предоставить дополнительные сведения о NET_BUFFER_LIST для SCU. NDIS выполняет проверку NET_BUFFER_LIST и NET_BUFFER . Стек TCPIP узла выполняет проверку пакетов, включая проверку IP-адреса и заголовка TCP.

Требования

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

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

NET_BUFFER_LIST

NET_BUFFER_LIST_COALESCED_SEG_COUNT

NET_BUFFER_LIST_DUP_ACK_COUNT

NET_BUFFER_LIST_INFO