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 de NET_BUFFER_LIST . O destino de descarregamento obteve esse ponteiro como um parâmetro de entrada para seu Função MiniportTcpOffloadDisconnect .
Retornar valor
Nenhum
Comentários
Concluindo uma desconexão abortiva
Se o destino de descarregamento emitiu uma desconexão abortiva, ele deverá fazer o seguinte antes de chamar a função NdisTcpOffloadDisconnectComplete :
- Conclua todas as solicitações de envio pendentes na conexão com um valor status de NDIS_STATUS_REQUEST_ABORTED. O destino de descarregamento grava esse valor status no membro Status de cada estrutura NET_BUFFER_LIST na lista vinculada que ele passa para o Função NdisTcpOffloadSendComplete .
- Escreva um valor status no membro Status da estrutura NET_BUFFER_LIST apontada pelo ponteiro NetBufferList. Um valor 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.
Antes de concluir uma solicitação de desconexão normal, o destino de descarregamento deve:
-
Gravar um valor status no membro Status da estrutura NET_BUFFER_LIST que ele passa para o Função 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 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 NET_BUFFER associada à estrutura 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 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.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | ndischimney.h (inclua Ndischimney.h) |