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 |
---|---|
|
O aplicativo cliente consumiu todos os dados de recebimento indicados. |
|
O aplicativo cliente rejeitou todos os dados de recebimento indicados. |
|
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) |