Función NdisOffloadTcpDisconnect (ndischimney.h)

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

Un protocolo o controlador intermedio llama a la función NdisOffloadTcpDisconnect para cerrar la mitad de envío de una conexión TCP descargada. Además, si la desconexión que se va a realizar es una desconexión correcta, el protocolo o el controlador intermedio pueden proporcionar datos de aplicación que el destino de descarga subyacente debe transmitir en la conexión TCP descargada antes de enviar un segmento FIN.

Sintaxis

NDIS_STATUS NdisOffloadTcpDisconnect(
  [in] IN PNDIS_OFFLOAD_HANDLE NdisOffloadHandle,
  [in] IN PNET_BUFFER_LIST     NetBufferList,
  [in] IN ULONG                Flags
);

Parámetros

[in] NdisOffloadHandle

Puntero a una estructura de NDIS_OFFLOAD_HANDLE en el contexto del autor de la llamada 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.

[in] NetBufferList

Puntero a una única estructura de NET_BUFFER_LIST . Solo se asocia una estructura de NET_BUFFER a esta estructura de NET_BUFFER_LIST.

[in] Flags

Como uno de los valores siguientes, el tipo de desconexión que se va a realizar:

TCP_DISCONNECT_ABORTIVE_CLOSE

Especifica que el destino de descarga realiza una desconexión abortiva mediante el envío de un segmento RST.

TCP_DISCONNECT_GRACEFUL_CLOSE

Especifica que el destino de descarga realiza una desconexión correcta mediante el envío de un segmento FIN.

Valor devuelto

La función NdisOffloadTcpDisconnect siempre devuelve NDIS_STATUS_PENDING. La operación de desconexión siempre se completa de forma asincrónica.

Comentarios

En respuesta a una llamada a su La función MiniportTcpOffloadDisconnect , un controlador intermedio llama a la función NdisOffloadTcpDisconnect para propagar la operación de desconexión al controlador intermedio subyacente o al destino de descarga. Para obtener más información, consulte Propagación de operaciones de E/S.

Para la función NdisOffloadTcpXxx , el controlador intermedio pasa lo siguiente:

  • Función NdisOffloadHandle que hace referencia a la estructura de NDIS_OFFLOAD_HANDLE almacenada en el contexto del controlador intermedio 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.
  • El mismo puntero PNET_BUFFER_LIST que NDIS pasó a la función MiniportTcpOffloadDisconnect del controlador intermedio.
  • Las mismas marcas que NDIS pasaron a la función MiniportTcpOffloadDisconnect del controlador intermedio.
Cuando el controlador subyacente o el destino de descarga completan posteriormente la operación de desconexión llamando a la función NdisTcpOffloadDisconnectComplete , NDIS llama a la función ProtocolOffloadDisconnectComplete del controlador intermedio. A continuación, el controlador intermedio llama a la función NdisTcpOffloadDisconnectComplete para propagar la finalización de la operación de desconexión.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ndischimney.h (incluya Ndischimney.h)
Library Ndis.lib

Consulte también

MiniportTcpOffloadDisconnect

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisTcpOffloadDisconnectComplete ProtocolTcpOffloadDisconnectComplete