Função NdisMTerminateOffloadComplete (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 NdisMTerminateOffloadComplete para concluir uma operação de descarregamento de término iniciada por uma chamada anterior para o Função MiniportTerminateOffload do destino de descarregamento.
Sintaxe
void NdisMTerminateOffloadComplete(
[in] IN NDIS_HANDLE NdisMiniportHandle,
[in] IN PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST OffloadBlockList
);
Parâmetros
[in] NdisMiniportHandle
O identificador para o qual o destino de descarregamento foi obtido em uma chamada anterior para NdisMRegisterMiniportDriver.
[in] OffloadBlockList
Um ponteiro para um NDIS_MINIPORT_OFFLOAD_BLOCK_LIST estrutura. O destino de descarregamento obteve esse ponteiro como um parâmetro de entrada para seu Função MiniportTerminateOffload .
Retornar valor
Nenhum
Comentários
Antes de chamar a função NdisMTerminateOffloadComplete , o destino de descarregamento deve gravar um dos seguintes valores NDIS_STATUS no membro Status de cada estrutura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST na árvore de estado:
-
NDIS_STATUS_SUCCESS
O destino de descarregamento encerrou com êxito o descarregamento do objeto de estado referenciado pela estrutura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST. Se a estrutura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST for seguida por uma estrutura de estado delegado (XXX_OFFLOAD_STATE_DELEGATED), o destino de descarregamento escreveu com êxito os valores de variável delegados para esse objeto de estado na estrutura de estado delegado.
-
NDIS_STATUS_FAILURE
A operação de encerramento não foi bem-sucedida. Essa falha é causada por uma falha catastrófica que resultou na perda do objeto de estado que deveria ser encerrado. Nesse caso, o hardware de destino de descarregamento pode não estar respondendo. A pilha de host pode ter que anular a conexão.
- Conclua todas as chamadas pendentes para MiniportInvalidateOffload, MiniportQueryOffload, MiniportTcpOffloadReceive, MiniportTcpOffloadDisconnect, MiniportTcpOffloadForward, MiniportTcpOffloadSend eFunções MiniportUpdateOffload.
- Verifique se todas as chamadas pendentes para NdisMIndicateStatusEx, NdisMOffloadEventIndicate, NdisTcpOffloadEventHandler e As funções NdisTcpOffloadReceiveHandler retornaram.
Ao passar dados de envio pendentes para a pilha de host, o destino de descarregamento também deve especificar valores não NULL para as seguintes variáveis TCP delegadas para a conexão que está sendo encerrada:
- SndUna
- SndNxt
- SndMax
Se não houver dados de envio pendentes em uma conexão TCP que esteja sendo encerrada, o destino de descarregamento deverá especificar um valor NULL para o membro NetBufferListChain .
Pode haver dados de recebimento pendentes em uma conexão TCP que está sendo carregada. Esses são os dados que o destino de descarregamento recebeu da transmissão, processados e confirmados. Para obter mais informações sobre como processar esses dados, consulte Manipulando dados de recebimento em buffer durante uma operação de descarregamento de término.
O destino de descarregamento libera todos os recursos, como memória, associados aos objetos de estado encerrados.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | ndischimney.h (inclua Ndischimney.h) |
IRQL | Qualquer nível |