объединение 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. Драйверы используют info для доступа к данным RSC. info — это структура со следующими элементами:

Info.CoalescedSegCount

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

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

Info.DupAckCount

Количество повторяющихся списков ACK, которые были обнаружены при формировании структуры 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.

Примечание Сведения RscTcpTimestampDel ta и DupAckCount члена NDIS_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.

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается для драйверов NDIS 6.30 и более поздних версий в Windows 8.
заголовка ndis/nblrsc.h (include ndis.h)

См. также

NET_BUFFER_LIST

NET_BUFFER_LIST_COALESCED_SEG_COUNT

NET_BUFFER_LIST_DUP_ACK_COUNT

NET_BUFFER_LIST_INFO