TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER función de devolución de llamada (ndischimney.h)

[La característica de descarga de chimenea TCP está en desuso y no se debe usar.]

NDIS llama al controlador de protocolo o al controlador intermedio. Función ProtocolTcpOffloadReceiveIndicate para entregar datos recibidos indicados por un controlador subyacente o un destino de descarga.

Sintaxis

TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER TcpOffloadReceiveIndicateHandler;

NDIS_STATUS TcpOffloadReceiveIndicateHandler(
  [in]  IN PVOID OffloadContext,
  [in]  IN PNET_BUFFER_LIST NetBufferList,
  [in]  IN NDIS_STATUS Status,
  [out] OUT PULONG BytesConsumed
)
{...}

Parámetros

[in] OffloadContext

Puntero al protocolo o a la estructura NDIS_OFFLOAD_HANDLE del controlador intermedio para la conexión TCP en la que se realiza la indicación. El protocolo o controlador intermedio proporcionó este puntero como parámetro de entrada a la función NdisInitiateOffload al descargar la conexión.

[in] NetBufferList

Puntero a una estructura NET_BUFFER_LIST . Cada estructura NET_BUFFER_LIST describe una lista de estructuras de NET_BUFFER . Cada estructura NET_BUFFER de la lista se asigna a una cadena de listas de descriptores de memoria (MDL). Las MDL contienen los datos recibidos. Las MDL están bloqueadas para que permanezcan residentes, pero no se asignan a la memoria del sistema.

La estructura NET_BUFFER_LIST especificada por NetBufferList debe ser una estructura independiente y no puede ser la primera estructura de una lista vinculada de NET_BUFFER_LIST estructuras. Los destinos de descarga pueden solucionar esta limitación mediante el encadenamiento de tantas MDL como sea necesario a la misma NET_BUFFER en una indicación de recepción de descarga.

[in] Status

Un controlador intermedio debe propagar este estado al llamar a NdisTcpOffloadReceiveHandler.

[out] BytesConsumed

Puntero a una variable con tipo ULONG que recibe el número de bytes consumidos por la aplicación cliente.

Valor devuelto

The La función ProtocolTcpOffloadReceiveIndicate puede devolver uno de los siguientes valores:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
La aplicación cliente consumió todos los datos de recepción indicados.
NDIS_STATUS_OFFLOAD_DATA_NOT_ACCEPTED
La aplicación cliente rechazó todos los datos de recepción indicados.
NDIS_STATUS_OFFLOAD_DATA_PARTIALLY_ACCEPTED
La aplicación cliente consumió un subconjunto de los datos de recepción indicados. La cantidad de datos, en bytes, que consumió la aplicación cliente se devuelve en la variable especificada por el parámetro BytesConsumed .

Comentarios

Para propagar la indicación al controlador o a la pila de hosts excesivamente, el controlador intermedio llama a Función NdisTcpOffloadReceiveHandler . El controlador intermedio pasa los parámetros siguientes a la función NdisTcpOffloadReceiveHandler :

  • NdisOffloadHandle que el destino de descarga almacena en su contexto para la conexión TCP descargada. Para obtener más información, vea Hacer referencia al estado descargado a través de un controlador intermedio.
  • Puntero NetBufferList que NDIS pasó a la función ProtocolTcpOffloadReceiveIndicate del controlador intermedio.
  • Estado que NDIS pasó a la función ProtocolTcpOffloadReceiveIndicate del controlador intermedio.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado ndischimney.h (incluya Ndischimney.h)

Consulte también

MDL

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisInitiateOffload

NdisOffloadTcpReceiveReturn

NdisTcpOffloadReceiveHandler