estructura NDIS_TCP_CONNECTION_OFFLOAD (ntddndis.h)
La estructura de NDIS_TCP_CONNECTION_OFFLOAD proporciona información de descarga de conexión para la configuración actual y para las funcionalidades admitidas.
Sintaxis
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;
Miembros
Header
Estructura NDIS_OBJECT_HEADER de la estructura NDIS_TCP_CONNECTION_OFFLOAD. Establezca el miembro Type de la estructura que Header especifica para NDIS_OBJECT_TYPE_DEFAULT, el miembro Revision en NDIS_TCP_CONNECTION_OFFLOAD_REVISION_1 y el miembro Size en NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_1.
Encapsulation
Configuración de encapsulación para la descarga de chimenea TCP. Para obtener más información sobre este miembro, vea la siguiente sección Comentarios.
SupportIPv4
Valor de ULONG que establece un destino de descarga para indicar que admite IPv4. La pila de controladores TCP/IP establece este miembro para habilitar IPv4.
SupportIPv6
Valor de ULONG que establece un destino de descarga para indicar que admite IPv6. La pila de controladores TCP/IP establece este miembro para habilitar IPv6. Tenga en cuenta que un destino de descarga puede admitir IPv4 e IPv6.
SupportIPv6ExtensionHeaders
Valor de ULONG que establece un destino de descarga para indicar que admite encabezados de extensión IPv6 (es decir, enrutamiento, fragmentación/reassembly, autenticación, encapsulación, procesamiento de salto a salto y opciones de destino). La pila de controladores TCP/IP establece este miembro para habilitar los encabezados de extensión IPv6.
SupportSack
Valor de ULONG que establece un destino de descarga para indicar que admite confirmaciones selectivas tcp (SACK) para las operaciones de transmisión y recepción. La pila de controladores TCP/IP establece este miembro para habilitar SACK para las operaciones de transmisión y recepción.
Si un destino de descarga establece el miembro SupportSack , el destino debe poder generar y consumir segmentos SACK. Si un destino de descarga no admite la opción SACK, el destino debe ser capaz de omitir la opción SACK y procesar el resto del segmento TCP normalmente.
CongestionAlgorithm
Reservado para uso futuro.
Si es un proveedor de hardware independiente (IHV) y desea implementar algoritmos de control de congestión no predeterminados, por ejemplo, TCP compuesto, póngase en contacto con Microsoft en Evaluación de prioridades de descarga de TCP externo.
TcpConnectionOffloadCapacity
Valor de ULONG que establece un destino de descarga para indicar el número máximo de conexiones TCP descargadas que admite. Este número incluye conexiones IPv4 e IPv6.
Flags
Reservado.
Comentarios
La estructura de NDIS_TCP_CONNECTION_OFFLOAD especifica los servicios actuales o admitidos que proporciona un adaptador de minipuerto para la descarga de chimenea TCP.
La estructura NDIS_TCP_CONNECTION_OFFLOAD se usa en estructura de NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES , estructura de NDIS_BIND_PARAMETERS , OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES OID, indicación de estado de NDIS_STATUS_OFFLOAD_RESUME y NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES indicación de estado. (Para obtener información sobre NDIS_STATUS_OFFLOAD_RESUME, consulte la documentación sobre la descarga de chimenea TCP de NDIS 6.0).
Los controladores de minipuerto no reciben las consultas de OID. NDIS usa la información que el controlador de miniporte proporciona en atributos e indicaciones de estado para proporcionar respuestas a las consultas OID y para proporcionar parámetros de enlace.
NDIS proporciona una estructura de NDIS_TCP_CONNECTION_OFFLOAD en respuesta a una consulta de OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG o OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES. En respuesta a una consulta de OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG, la estructura de NDIS_TCP_CONNECTION_OFFLOAD especifica los valores de configuración actuales del destino de descarga. En respuesta a una consulta de OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES, la estructura de NDIS_TCP_CONNECTION_OFFLOAD especifica las funcionalidades de hardware del destino de descarga para descargar conexiones TCP desde el transporte TCP/IP.
El miembro Encapsulation de NDIS_TCP_CONNECTION_OFFLOAD define la configuración de encapsulación de descarga de chimenea TCP para el adaptador de miniport.
Para un OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES solicitud de consulta, NDIS proporciona una sola marca que indica las funcionalidades de encapsulación de hardware, en el miembro Encapsulation .
Para un OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG solicitud de consulta, NDIS proporciona un OR bit a bit de las marcas de encapsulación, que indica la configuración de encapsulación actual.
Las marcas siguientes se definen para el miembro Encapsulation :
Consultas de descarga de TCP Chimney
Cuando un NDIS responde a una consulta de OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES o OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG para un destino de descarga, NDIS proporciona los miembros SupportIp4, SupportIp6, SupportIp6ExtensionHeaders y SupportISack de la estructura de NDIS_TCP_CONNECTION_OFFLOAD. Estos miembros pueden tener uno de los siguientes valores:Un destino de descarga debe admitir IPv4 o IPv6 (o ambos). Los destinos de descarga pueden admitir opcionalmente encabezados de extensión IPv6.
Un destino de descarga no debe admitir ninguna opción IPv4. El destino de descarga debe reenviar los datagramas IP recibidos que contengan opciones IPv4 a la pila de controladores TCP/IP. El destino de descarga indica estos datagramas IP en la pila de controladores TCP/IP mediante una llamada a . NdisMIndicateReceiveNetBufferLists. La pila de controladores TCP/IP procesa las opciones IPv4 y devuelve los datagramas al destino de descarga. Función MiniportTcpOffloadForward . (Para obtener información sobre miniportTcpOffloadForward, consulte la documentación sobre la descarga de chimenea TCP de NDIS 6.0).
El destino de descarga también debe proporcionar un valor para el miembro TcpConnectionOffloadCapacity de NDIS_TCP_CONNECTION_OFFLOAD. Este valor debe ser el número máximo de conexiones TCP descargadas simultáneamente que el destino de descarga puede admitir.
Tenga en cuenta que un destino de descarga no puede indicar directamente nuevas funcionalidades de descarga. En su lugar, el destino de descarga debe solicitar la pila de controladores TCP/IP para pausar y reanudar las descargas. Cuando el adaptador de miniporte está listo para reanudar la descarga de conexiones TCP, emite una indicación de estado de NDIS_STATUS_OFFLOAD_RESUME para notificar las nuevas funcionalidades de descarga de conexión. Para obtener más información sobre NDIS_STATUS_OFFLOAD_RESUME, consulte la documentación de descarga de la chimenea TCP de NDIS 6.0.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con NDIS 6.0 y versiones posteriores. |
Encabezado | ntddndis.h (include Ndis.h) |