Compartilhar via


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

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

O NDIS chama um driver de protocolo ou um driver intermediário Função ProtocolTcpOffloadReceiveIndicate para fornecer dados recebidos que estão sendo indicados por um driver subjacente ou destino de descarregamento.

Sintaxe

TCP_OFFLOAD_RECEIVE_INDICATE_HANDLER TcpOffloadReceiveIndicateHandler;

NDIS_STATUS TcpOffloadReceiveIndicateHandler(
  [in]  IN PVOID OffloadContext,
  [in]  IN PNET_BUFFER_LIST NetBufferList,
  [in]  IN NDIS_STATUS Status,
  [out] OUT PULONG BytesConsumed
)
{...}

Parâmetros

[in] OffloadContext

Um ponteiro para o protocolo ou a estrutura de NDIS_OFFLOAD_HANDLE do driver intermediário para a conexão TCP na qual a indicação está sendo feita. O protocolo ou o driver intermediário forneceu esse ponteiro como um parâmetro de entrada para a função NdisInitiateOffload ao descarregar a conexão.

[in] NetBufferList

Um ponteiro para uma estrutura NET_BUFFER_LIST . Cada estrutura NET_BUFFER_LIST descreve uma lista de estruturas NET_BUFFER . Cada estrutura NET_BUFFER na lista é mapeada para uma cadeia de listas de descritores de memória (MDLs). Os MDLs contêm os dados recebidos. Os MDLs são bloqueados para que permaneçam residentes, mas não são mapeados para a memória do sistema.

A estrutura NET_BUFFER_LIST especificada por NetBufferList deve ser uma estrutura autônoma e não pode ser a primeira estrutura em uma lista vinculada de estruturas NET_BUFFER_LIST . Os destinos de descarregamento podem contornar essa limitação encadeando quantos MDLs forem necessários para o mesmo NET_BUFFER em uma indicação de recebimento de descarregamento.

[in] Status

Um driver intermediário deve propagar esse status ao chamar NdisTcpOffloadReceiveHandler.

[out] BytesConsumed

Um ponteiro para uma variável do tipo ULONG que recebe o número de bytes que foram consumidos pelo aplicativo cliente.

Retornar valor

OA função ProtocolTcpOffloadReceiveIndicate pode retornar um dos seguintes valores:

Código de retorno Descrição
NDIS_STATUS_SUCCESS
O aplicativo cliente consumiu todos os dados de recebimento indicados.
NDIS_STATUS_OFFLOAD_DATA_NOT_ACCEPTED
O aplicativo cliente rejeitou todos os dados de recebimento indicados.
NDIS_STATUS_OFFLOAD_DATA_PARTIALLY_ACCEPTED
O aplicativo cliente consumiu um subconjunto dos dados de recebimento indicados. A quantidade de dados, em bytes, que foi consumida pelo aplicativo cliente é retornada na variável especificada pelo parâmetro BytesConsumed .

Comentários

Para propagar a indicação para o driver ou pilha de host excessivamente, o driver intermediário chama o Função NdisTcpOffloadReceiveHandler . O driver intermediário passa os seguintes parâmetros para a função NdisTcpOffloadReceiveHandler :

  • O NdisOffloadHandle que o destino de descarregamento armazenou em seu contexto para a conexão TCP descarregada. Para obter mais informações, consulte Referenciando o estado descarregado por meio de um driver intermediário.
  • O ponteiro NetBufferList que o NDIS passou para a função ProtocolTcpOffloadReceiveIndicate do driver intermediário.
  • O Status que o NDIS passou para a função ProtocolTcpOffloadReceiveIndicate do driver intermediário.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho ndischimney.h (inclua Ndischimney.h)

Confira também

MDL

NDIS_OFFLOAD_HANDLE

NET_BUFFER

NET_BUFFER_LIST

NdisInitiateOffload

NdisOffloadTcpReceiveReturn

NdisTcpOffloadReceiveHandler