NDIS_TCP_LARGE_SEND_OFFLOAD_V1結構 (ntddndis.h)
NDIS_TCP_LARGE_SEND_OFFLOAD_V1 結構會在 NDIS_OFFLOAD 結構中提供大型傳送卸除第 1 版 (LSOV1) 資訊。
語法
typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V1 {
struct {
ULONG Encapsulation;
ULONG MaxOffLoadSize;
ULONG MinSegmentCount;
ULONG TcpOptions : 2;
ULONG IpOptions : 2;
} IPv4;
} NDIS_TCP_LARGE_SEND_OFFLOAD_V1, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V1;
成員
IPv4
包含下列成員的 NDIS_TCP_LARGE_SEND_OFFLOAD_V1 結構:
IPv4.Encapsulation
IPv4 的封裝設定。 如需此成員的詳細資訊,請參閱下列一節。
IPv4.MaxOffLoadSize
傳輸可以傳遞至單一封包中迷你埠驅動程式的用戶數據位元組上限。 傳輸不會將封包傳遞至迷你埠驅動程式,其中包含比 MaxOffLoadSize 指定 更多的用戶數據位元組。 如果必須傳輸這類封包,傳輸本身會將封包分割成較小的封包。
IPv4.MinSegmentCount
傳輸才能將其卸除至硬體以進行分割之前,必須先將大型 TCP 封包的最社區段數目進行分割。 傳輸不會將大型封包卸除至迷你埠驅動程式以進行分割,除非迷你埠驅動程式可以建立至少與minSegmentCount 指定自封包 數目的區段。 如果大型 TCP 封包不符合最社區段需求,TCP/IP 傳輸本身會將封包分割成較小的封包。
IPv4.TcpOptions
迷你埠驅動程式設定的 ULONG 值,表示迷你埠驅動程式可以分割大型 TCP 封包,其 TCP 標頭包含 TCP 選項,或指出已啟用或停用此功能。 TCP/IP 傳輸會將此值設定為啟用或停用此功能。
IPv4.IpOptions
迷你埠驅動程式設定的 ULONG 值,表示迷你埠配接器可以分割包含 IP 選項的大型 TCP 封包,或指出此功能已啟用或停用。
言論
NDIS_TCP_LARGE_SEND_OFFLOAD_V1 結構用於 NDIS_OFFLOAD 結構 LsoV1 成員中。 NDIS_TCP_LARGE_SEND_OFFLOAD_V1 指定迷你埠配接器提供的最新或支持服務,以便將大型 TCP 封包分割成較小的封包。 NDIS 也提供大型傳送卸除第 2 版 (LSOV2),這是增強版本的 LSO。 如需 LSOV2 的詳細資訊,請參閱 NDIS_TCP_LARGE_SEND_OFFLOAD_V2。
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_LARGE_SEND_OFFLOAD_V1封裝 成員會定義迷你埠配接器的 LSOV1 封裝功能或設定。
回應 OID_TCP_OFFLOAD_CURRENT_CONFIG 查詢要求,NDIS 會在 封裝 成員中提供封裝旗標的位 OR,指出支援的封裝設定。 迷你埠驅動程序必須提供乙太網路封裝(NDIS_ENCAPSULATION_IEEE_802_3)。 其他類型的封裝是選擇性的。
針對 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 狀態指示中,迷你埠驅動程式會提供封裝旗標的位 OR,指出 封裝 成員中的目前功能。
下列旗標是針對 封裝 成員所定義:
NDIS_ENCAPSULATION_NONE或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 封裝設定是在每個NET_BUFFER_LIST 結構的 NetBufferListInfo 成員中指定。
NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
指定路由通訊協議的邏輯連結控件 (LLC) 封裝,如 RFC 1483 中所述。 此旗標也用來指出乙太網路 LLC/SNAP 封裝。
TcpOptions 和 IpOptions 成員中的值,NDIS_TCP_LARGE_SEND_OFFLOAD_V1在 中指定迷你埠配接器支援 OID_TCP_OFFLOAD_CURRENT_CONFIG OID 或 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 狀態指示。 這些成員可以有下列其中一個值:
NDIS_OFFLOAD_NOT_SUPPORTED
迷你埠配接器不支持成員指定的功能。
NDIS_OFFLOAD_SUPPORTED
迷你埠配接器支持成員指定的功能
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
標頭 | ntddndis.h (包括 Ndis.h) |