estrutura NDIS_TCP_LARGE_SEND_OFFLOAD_V2 (ntddndis.h)
A estrutura NDIS_TCP_LARGE_SEND_OFFLOAD_V2 fornece informações de LSOV2 (descarregamento de envio grande versão 2) na estrutura NDIS_OFFLOAD .
Sintaxe
typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V2 {
struct {
ULONG Encapsulation;
ULONG MaxOffLoadSize;
ULONG MinSegmentCount;
} IPv4;
struct {
ULONG Encapsulation;
ULONG MaxOffLoadSize;
ULONG MinSegmentCount;
ULONG IpExtensionHeadersSupported : 2;
ULONG TcpOptionsSupported : 2;
} IPv6;
} NDIS_TCP_LARGE_SEND_OFFLOAD_V2, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V2;
Membros
IPv4
Uma estrutura dentro de NDIS_TCP_LARGE_SEND_OFFLOAD_V2 que especifica informações IPv4 e que contém os seguintes membros:
IPv4.Encapsulation
Configurações de encapsulamento para IPv4. Para obter mais informações sobre esse membro, consulte a seção Comentários a seguir.
IPv4.MaxOffLoadSize
O máximo de bytes de dados do usuário que o transporte pode passar para o driver de miniporto em um único pacote. O transporte não passará um pacote para o driver de miniporto que contém mais bytes de dados do usuário do que MaxOffLoadSize especifica. Se esse pacote precisar ser transmitido, o transporte em si segmenta o pacote em pacotes menores.
IPv4.MinSegmentCount
O número mínimo de segmentos pelos quais um pacote TCP grande deve ser divisível antes que o transporte possa descarregá-lo para o hardware para segmentação. O transporte não descarregará um pacote grande para o driver de miniporto para segmentação, a menos que o driver de miniporte possa criar pelo menos tantos segmentos quanto MinSegmentCount especifica do pacote. Se um pacote TCP grande não atender ao requisito mínimo de segmento, o transporte TCP/IP segmenta o pacote em pacotes menores.
IPv6
Uma estrutura dentro de NDIS_TCP_LARGE_SEND_OFFLOAD_V2 que especifica informações de IPv6 e que contém os seguintes membros:
IPv6.Encapsulation
Configurações de encapsulamento para IPv6. Para obter mais informações sobre esse membro, consulte a seção Comentários a seguir.
IPv6.MaxOffLoadSize
O máximo de bytes de dados do usuário que o transporte pode passar para o driver de miniporto em um único pacote. O transporte não passará um pacote para o driver de miniporto que contém mais bytes de dados do usuário do que MaxOffLoadSize especifica. Se esse pacote precisar ser transmitido, o transporte em si segmenta o pacote em pacotes menores.
IPv6.MinSegmentCount
O número mínimo de segmentos pelos quais um pacote TCP grande deve ser divisível antes que o transporte possa descarregá-lo para uma NIC para segmentação. O transporte não descarregará um pacote grande para o driver de miniporto para segmentação, a menos que o driver de miniporte possa criar pelo menos tantos segmentos quanto MinSegmentCount especifica do pacote. Se um pacote TCP grande não atender ao requisito mínimo de segmento, o transporte TCP/IP segmenta o pacote em pacotes menores.
IPv6.IpExtensionHeadersSupported
Um valor ULONG que um driver de miniporto define para indicar que o adaptador de miniporto pode segmentar um pacote TCP grande cujo cabeçalho IP contém cabeçalhos de extensão IPv6.
IPv6.TcpOptionsSupported
Um valor ULONG que um driver de miniporto define para indicar que o driver de miniporto pode segmentar um pacote TCP grande cujo cabeçalho TCP contém opções TCP ou para indicar que essa funcionalidade está habilitada ou desabilitada.
Comentários
A estrutura NDIS_TCP_LARGE_SEND_OFFLOAD_V2 é usada no membro LsoV2 da estrutura NDIS_OFFLOAD . A estrutura NDIS_TCP_LARGE_SEND_OFFLOAD_V2 especifica os serviços atuais ou com suporte que um adaptador de miniporto fornece para segmentar pacotes TCP grandes em pacotes menores. O NDIS também fornece um grande descarregamento de envio versão 1 (LSOV1), que é uma versão anterior do LSOV2. Para obter mais informações sobre LSOV1, consulte NDIS_TCP_LARGE_SEND_OFFLOAD_V1.
NDIS_OFFLOAD é usado no estrutura NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES , estrutura NDIS_BIND_PARAMETERS , NDIS_FILTER_ATTACH_PARAMETERS estrutura, OID_TCP_OFFLOAD_CURRENT_CONFIG OID e o NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG indicação status.
Para OID_TCP_OFFLOAD_CURRENT_CONFIG, a estrutura NDIS_OFFLOAD especifica os recursos de descarregamento de tarefa compatíveis com um adaptador de miniporto. Se os recursos de descarregamento atuais forem alterados, um driver de miniporte relatará os novos recursos em um NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG indicação status.
Os membros de encapsulamento do NDIS_TCP_LARGE_SEND_OFFLOAD_V2 definem as configurações de encapsulamento LSOV2 para o adaptador de miniporta.
Em resposta a um OID_TCP_OFFLOAD_CURRENT_CONFIG solicitação de consulta, o NDIS fornece um OR bit a bit dos sinalizadores de encapsulamento, que indicam as configurações de encapsulamento com suporte, em cada um dos membros de Encapsulamento . Os drivers de miniporto devem fornecer encapsulamento Ethernet (NDIS_ENCAPSULATION_IEEE_802_3). Os outros tipos de encapsulamento são opcionais.
Para um NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG indicação status, o driver de miniporto fornece um OR bit a bit dos sinalizadores de encapsulamento, que indicam os recursos atuais, em cada um dos membros de Encapsulamento.
Os seguintes sinalizadores são definidos para os membros de encapsulamento :
NDIS_ENCAPSULATION_NOT_SUPPORTED
Especifica que não há suporte para nenhum descarregamento de encapsulamento.
NDIS_ENCAPSULATION_NULL
Especifica o encapsulamento NULL.
NDIS_ENCAPSULATION_IEEE_802_3
Especifica o encapsulamento IEEE 802.3.
NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q
Especifica o encapsulamento IEEE 802.3p e IEEE 802.3q.
NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB
Especifica que as configurações de encapsulamento IEEE 802.3p e IEEE 802.3q são especificadas no membro NetBufferListInfo de cada estrutura NET_BUFFER_LIST.
NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
Especifica o encapsulamento de LLC (controle de link lógico) para protocolos roteados, conforme descrito em RFC 1483. Esse sinalizador também é usado para indicar o encapsulamento Ethernet LLC/SNAP.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.0 e posterior. |
Cabeçalho | ntddndis.h (inclua Ndis.h) |