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 driver intermediário função ProtocolTcpOffloadReceiveIndicate para fornecer dados recebidos que estão sendo indicados por um destino de descarregamento ou driver subjacente.
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 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 de 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 na memória do sistema.
A estrutura de 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 quantas MDLs forem necessárias 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.
Valor de retorno
O 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. |
Observações
Para propagar a indicação para o driver ou pilha de host excessivamente, o driver intermediário chama o função de NdisTcpOffloadReceiveHandler. O driver intermediário passa os seguintes parâmetros para a função NdisTcpOffloadReceiveHandler:
- O NdisOffloadHandle que o destino de descarregamento armazenado em seu contexto para a conexão TCP descarregada. Para obter mais informações, consulte referenciando o estado descarregado por meio de umde 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 |
---|---|
da Plataforma de Destino | Windows |
cabeçalho | ndischimney.h (inclua Ndischimney.h) |