estrutura NDIS_TCP_CONNECTION_OFFLOAD (ntddndis.h)
A estrutura NDIS_TCP_CONNECTION_OFFLOAD fornece informações de descarregamento de conexão para as configurações atuais e para recursos com suporte.
Sintaxe
typedef struct _NDIS_TCP_CONNECTION_OFFLOAD {
NDIS_OBJECT_HEADER Header;
ULONG Encapsulation;
ULONG SupportIPv4 : 2;
ULONG SupportIPv6 : 2;
ULONG SupportIPv6ExtensionHeaders : 2;
ULONG SupportSack : 2;
ULONG CongestionAlgorithm : 4;
ULONG TcpConnectionOffloadCapacity;
ULONG Flags;
} NDIS_TCP_CONNECTION_OFFLOAD, *PNDIS_TCP_CONNECTION_OFFLOAD;
Membros
Header
A estrutura NDIS_OBJECT_HEADER para a estrutura NDIS_TCP_CONNECTION_OFFLOAD. Defina o membro Type da estrutura especificada por Header como NDIS_OBJECT_TYPE_DEFAULT, o membro Revision como NDIS_TCP_CONNECTION_OFFLOAD_REVISION_1 e o membro Size para NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_1.
Encapsulation
Configurações de encapsulamento para descarregamento de chaminé TCP. Para obter mais informações sobre esse membro, consulte a seção Comentários a seguir.
SupportIPv4
Um valor ULONG que um destino de descarregamento define para indicar que ele dá suporte a IPv4. A pilha de driver TCP/IP define esse membro para habilitar o IPv4.
SupportIPv6
Um valor ULONG que um destino de descarregamento define para indicar que ele dá suporte a IPv6. A pilha de driver TCP/IP define esse membro para habilitar o IPv6. Observe que um destino de descarregamento pode dar suporte a IPv4 e IPv6.
SupportIPv6ExtensionHeaders
Um valor ULONG que um destino de descarregamento define para indicar que ele dá suporte a cabeçalhos de extensão IPv6 (ou seja, roteamento, fragmentação/remontagem, autenticação, encapsulamento, processamento de salto por salto e opções de destino). A pilha de driver TCP/IP define esse membro para habilitar cabeçalhos de extensão IPv6.
SupportSack
Um valor ULONG que um destino de descarregamento define para indicar que ele dá suporte a SACKs (confirmações seletivas de TCP) para operações de transmissão e recebimento. A pilha de driver TCP/IP define esse membro para habilitar SACKs para operações de transmissão e recebimento.
Se um destino de descarregamento definir o membro SupportSack , o destino deverá ser capaz de gerar e consumir segmentos SACK. Se um destino de descarregamento não der suporte à opção SACK, o destino deverá ser capaz de ignorar a opção SACK e processar o restante do segmento TCP normalmente.
CongestionAlgorithm
Reservado para uso futuro.
Se você for um IHV (fornecedor independente de hardware) e quiser implementar algoritmos de controle de congestionamento não padrão, por exemplo, TCP Composto, entre em contato com a Microsoft em Triagem de Descarregamento TCP Externo.
TcpConnectionOffloadCapacity
Um valor ULONG que um destino de descarregamento define para indicar o número máximo de conexões TCP descarregadas com suporte. Esse número inclui conexões IPv4 e IPv6.
Flags
Reservado.
Comentários
A estrutura NDIS_TCP_CONNECTION_OFFLOAD especifica os serviços atuais ou com suporte que um adaptador de miniporta fornece para descarregamento de chaminé TCP.
A estrutura NDIS_TCP_CONNECTION_OFFLOAD é usada no estrutura NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES , estrutura NDIS_BIND_PARAMETERS , OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES OID, indicação NDIS_STATUS_OFFLOAD_RESUME status e NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES indicação status. (Para obter informações sobre NDIS_STATUS_OFFLOAD_RESUME, consulte Documentação de descarregamento de chaminé TCP NDIS 6.0.)
Os drivers de miniporto não recebem as consultas OID. O NDIS usa as informações que o driver de miniporto fornece em atributos e status indicações para fornecer respostas a consultas OID e fornecer parâmetros de associação.
O NDIS fornece uma estrutura NDIS_TCP_CONNECTION_OFFLOAD em resposta a uma consulta de OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG ou OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES. Em resposta a uma consulta OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG, a estrutura NDIS_TCP_CONNECTION_OFFLOAD especifica as definições de configuração atuais do destino de descarregamento. Em resposta a uma consulta OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES, a estrutura NDIS_TCP_CONNECTION_OFFLOAD especifica os recursos de hardware do destino de descarregamento para descarregar conexões TCP do transporte TCP/IP.
O membro encapsulamento do NDIS_TCP_CONNECTION_OFFLOAD define as configurações de encapsulamento de descarregamento de chaminé TCP para o adaptador de miniporta.
Para um OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES solicitação de consulta, o NDIS fornece um único sinalizador que indica os recursos de encapsulamento de hardware, no membro Encapsulamento .
Para um OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG solicitação de consulta, o NDIS fornece um OR bit a bit dos sinalizadores de encapsulamento, o que indica as configurações de encapsulamento atuais.
Os seguintes sinalizadores são definidos para o membro encapsulamento :
Consultas de descarregamento de chaminé TCP
Quando um NDIS responde a uma consulta de OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES ou OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG para um destino de descarregamento, o NDIS fornece os membros SupportIp4, SupportIp6, SupportIp6ExtensionHeaders e SupportISack da estrutura NDIS_TCP_CONNECTION_OFFLOAD. Esses membros podem ter um dos seguintes valores:Um destino de descarregamento deve dar suporte a IPv4 ou IPv6 (ou ambos). Os destinos de descarregamento podem, opcionalmente, dar suporte a cabeçalhos de extensão IPv6.
Um destino de descarregamento não deve dar suporte a nenhuma opção IPv4. O destino de descarregamento deve encaminhar todos os datagramas de IP recebidos que contenham opções IPv4 para a pilha de driver TCP/IP. O destino de descarregamento indica esses datagramas de IP para a pilha de driver TCP/IP chamando NdisMIndicateReceiveNetBufferLists. A pilha de driver TCP/IP processa as opções IPv4 e retorna os datagramas para o destino de descarregamento Função MiniportTcpOffloadForward . (Para obter informações sobre MiniportTcpOffloadForward, consulte Documentação de descarregamento de chaminé TCP NDIS 6.0.)
O destino de descarregamento também deve fornecer um valor para o membro TcpConnectionOffloadCapacity de NDIS_TCP_CONNECTION_OFFLOAD. Esse valor deve ser o número máximo de conexões TCP descarregadas simultaneamente às quais o destino de descarregamento pode dar suporte.
Observe que um destino de descarregamento não pode indicar diretamente novos recursos de descarregamento. Em vez disso, o destino de descarregamento deve solicitar que a pilha de driver TCP/IP pause e retome os descarregamentos. Quando o adaptador de miniporta está pronto para retomar o descarregamento de conexões TCP, ele emite uma indicação NDIS_STATUS_OFFLOAD_RESUME status para relatar os novos recursos de descarregamento de conexão. Para obter mais informações sobre NDIS_STATUS_OFFLOAD_RESUME, consulte Documentação de descarregamento de chaminé TCP NDIS 6.0.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.0 e posterior. |
Cabeçalho | ntddndis.h (inclua Ndis.h) |