W_INITIATE_OFFLOAD_HANDLER função de retorno de chamada (ndischimney.h)
[O recurso de descarregamento de chaminé TCP foi preterido e não deve ser usado.]
MiniportInitiateOffload descarrega o estado da chaminé TCP da pilha de host.
Sintaxe
W_INITIATE_OFFLOAD_HANDLER WInitiateOffloadHandler;
void WInitiateOffloadHandler(
[in] IN NDIS_HANDLE MiniportAdapterContext,
[in, out] IN OUT PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST OffloadBlockList
)
{...}
Parâmetros
[in] MiniportAdapterContext
O identificador para uma área de contexto alocada de destino de descarregamento na qual o destino de descarregamento mantém informações de estado sobre essa instância do adaptador. O driver de miniporto forneceu esse identificador para o NDIS quando ele chamou NdisMSetMiniportAttributes de sua função MiniportInitializeEx.
[in, out] OffloadBlockList
Um ponteiro para um NDIS_MINIPORT_OFFLOAD_BLOCK_LIST estrutura que pode ser uma estrutura autônoma ou a raiz de uma lista vinculada dessas estruturas.
Valor de retorno
Nenhum
Observações
A função MiniportInitiateOffload armazena o ponteiro OffloadBlockList e retorna. O destino de descarregamento sempre conclui a operação de descarregamento de forma assíncrona chamando NdisMInitiateOffloadComplete. A árvore de estado apontada pelo ponteiro OffloadBlockList é válida até que o driver de miniporto chame NdisMInitiateOffloadComplete.
Depois de retornar de sua função MiniportInitiateOffload, o destino de descarregamento descarrega o estado da árvore de estado. Uma estrutura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST cujo membro MiniportOffloadContext aponta para um local de memória que contém um valor NULL é seguido pelo estado a ser descarregado. Para obter mais informações, consulte Armazenando e referenciandode estado descarregado. O header membro de uma estrutura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST contém um membro Type que especifica o tipo de estado de descarregamento e, por implicação, a estrutura de estado de descarregamento ou estruturas, que seguem imediatamente a estrutura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST na memória.
O destino de descarregamento descarrega o estado de descarregamento associado a uma estrutura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST em uma área de contexto de descarregamento. Para obter mais informações, consulte Armazenando e referenciandode estado descarregado.
Ao descarregar o estado, o destino de descarregamento deve atravessar a árvore de estado de forma de profundidade/largura seguinte. É fundamental que um destino de descarregamento descarregre o estado dessa maneira.
Algumas das estruturas de NDIS_MINIPORT_OFFLOAD_BLOCK_LIST na árvore de estado que são passadas para a função MiniportInitiateOffload podem ser espaços reservados ou nós de vinculação que não têm estado de acompanhamento a serem descarregados. Para obter mais informações, consulte Espaços Reservados, Vinculadores e Novos Descarregamentos.
O destino de descarregamento pode receber dados em buffer da pilha de host para uma conexão que está sendo descarregada. O destino de descarregamento deve copiar esses dados para seu próprio buffer antes de concluir a operação de descarregamento. Para obter mais informações sobre o processamento de dados de recebimento em buffer, consulte manipulação de dados de recebimento em buffer durante e após uma operação de descarregamento.
Para cada objeto de estado descarregado, o destino de descarregamento também deve fornecer um valor PVOID que referencia a área de contexto de descarregamento na qual o destino de descarregamento armazena o objeto de estado. O destino de descarregamento grava esse valor PVOID no local de memória apontado pela *MiniportOffloadContext membro da estrutura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST associada ao estado. Se o destino de descarregamento não tiver descarregado com êxito o estado associado à estrutura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST, ele não deverá gravar um valor no local de memória apontado pelo membro *MiniportOffloadContext. Para obter mais informações, consulte Armazenando e referenciandode estado descarregado.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Windows |
cabeçalho | ndischimney.h (inclua Ndischimney.h) |
IRQL | Qualquer nível |