Compartilhar via


NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE função de retorno de chamada (ndischimney.h)

[O recurso de descarregamento de chaminé TCP foi preterido e não deve ser usado.]

Um destino de descarregamento chama a função NdisTcpOffloadDisconnectComplete para concluir uma solicitação de desconexão iniciada por uma chamada anterior para o função miniportTcpOffloadDisconnect do destino de descarregamento.

Sintaxe

NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE NdisTcpOffloadDisconnectComplete;

void NdisTcpOffloadDisconnectComplete(
  [in] IN NDIS_HANDLE NdisMiniportHandle,
  [in] IN PNET_BUFFER_LIST NetBufferList
)
{...}

Parâmetros

[in] NdisMiniportHandle

O identificador que o destino de descarregamento obteve em uma chamada anterior para o função NdisMRegisterMiniportDriver.

[in] NetBufferList

Um ponteiro para uma única estrutura NET_BUFFER_LIST. O destino de descarregamento obteve esse ponteiro como um parâmetro de entrada para seu função MiniportTcpOffloadDisconnect.

Valor de retorno

Nenhum

Observações

concluindo uma de desconexão anulativa

Se o destino de descarregamento emitiu uma desconexão anulativa, ele deverá fazer o seguinte antes de chamar a função NdisTcpOffloadDisconnectComplete de:

  • Conclua todas as solicitações de envio pendentes na conexão com um valor de status de NDIS_STATUS_REQUEST_ABORTED. O destino de descarregamento grava esse valor de status no Status membro de cada estrutura NET_BUFFER_LIST na lista vinculada que ele passa para o função de NdisTcpOffloadSendComplete.
  • Escreva um valor de status no Status membro da estrutura de NET_BUFFER_LIST apontado pelo ponteiro NetBufferList. Um valor de status de NDIS_STATUS_SUCCESS indica que o destino de descarregamento enviou com êxito o segmento RST. Para obter uma descrição dos valores de status permitidos, consulte NET_BUFFER_LIST.
concluindo um de desconexão normal

Antes de concluir uma solicitação de desconexão normal, o destino de descarregamento deve:

  • Gravar um valor de status no Status membro da estrutura de NET_BUFFER_LIST que ele passa para o função de NdisTcpOffloadDisconnectComplete:
    • Um valor de NDIS_STATUS_SUCCESS indica que o segmento FIN, bem como todos os dados do usuário, foi enviado com êxito pelo de destino de descarregamento e também foi reconhecido pelo host remoto.
    • Um valor de NDIS_STATUS_UPLOAD_IN_PROGRESS indica que a conexão TCP referenciada por NdisMiniportHandle está sendo carregada.
    • Um valor de NDIS_STATUS_REQUEST_ABORTED indica que o segmento FIN e/ou quaisquer dados de usuário não foram transmitidos com êxito pelo destino de descarregamento e reconhecidos pelo host remoto. A pilha de host acabará com o descarregamento da conexão TCP.
  • Especifique o número de bytes de dados do usuário que foram enviados e reconhecidos com êxito. O destino de descarregamento faz isso chamando a macro NET_BUFFER_LIST_INFO com uma ID de TcpOffloadBytesTransferred.
  • Chamar o função NdisAdvanceNetBufferDataStart. O parâmetro NetBufferList deve apontar para a estrutura de NET_BUFFER associada à estrutura de NET_BUFFER_LIST que o destino de descarregamento passa para a função NdisTcpOffloadDisconnectComplete. O parâmetro DataOffsetDelta deve especificar o número de bytes de dados da estrutura de NET_BUFFER que foram transmitidos pelo destino de descarregamento e também reconhecidos com êxito pelo host remoto. O parâmetro FreeMdl deve ser NULL.
Observe que a função NdisTcpOffloadDisconnectComplete retorna apenas a estrutura NET_BUFFER_LIST e as estruturas associadas que o NDIS passou para o destino de descarregamento função MiniportTcpOffloadDisconnect. A função NdisTcpOffloadDisconnectComplete não pode retornar NET_BUFFER_LIST estruturas que o NDIS passou em chamadas anteriores para o destino de descarregamento função MiniportTcpOffloadSend.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho ndischimney.h (inclua Ndischimney.h)

Consulte também

miniportTcpOffloadDisconnect

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisAdvanceNetBufferDataStart

NdisMRegisterMiniportDriver

NdisTcpOffloadSendComplete