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 que foi 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 que o destino de descarregamento obteve 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.
Valor de retorno
Nenhum
Observações
Antes de chamar a função NdisMTerminateOffloadComplete, o destino de descarregamento deve gravar qualquer um dos seguintes valores NDIS_STATUS no membro status de cada estrutura de 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 de NDIS_MINIPORT_OFFLOAD_BLOCK_LIST for seguida por uma estrutura de estado delegada (_OFFLOAD_STATE_DELEGATED XXX), o destino de descarregamento escreveu com êxito os valores de variável delegadas para esse objeto de estado na estrutura de estado delegada.
-
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 as chamadas pendentes para o MiniportInvalidateOffload, MiniportQueryOffload, MiniportTcpOffloadReceive, MiniportTcpOffloadDisconnect, MiniportTcpOffloadForward, MiniportTcpOffloadSende funções de MiniportUpdateOffload.
- Verifique se todas as chamadas pendentes para o NdisMIndicateStatusEx, NdisMOffloadEventIndicate, NdisTcpOffloadEventHandlere funções de NdisTcpOffloadReceiveHandler foram retornadas.
Ao passar dados de envio pendentes para a pilha de host, o destino de descarregamento também deve especificar valores NULLnão 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 de 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, processado e reconhecido. Para obter mais informações sobre como processar esses dados, consulte manipulação de 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 |
---|---|
da Plataforma de Destino | Universal |
cabeçalho | ndischimney.h (inclua Ndischimney.h) |
IRQL | Qualquer nível |