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 miniporta 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.
Retornar valor
Nenhum
Comentários
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 é seguida pelo estado a ser descarregado. Para obter mais informações, consulte Armazenando e referenciando o estado descarregado. O membro Header 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 ou estruturas de estado de descarregamento , 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 referenciando o estado descarregado.
Ao descarregar o estado, o destino de descarregamento deve percorrer a árvore de estado de forma detalhada/em segundo plano. É fundamental que um destino de descarregamento descarregre o estado dessa maneira.
Algumas das estruturas NDIS_MINIPORT_OFFLOAD_BLOCK_LIST na árvore de estado passadas para a função MiniportInitiateOffload podem ser espaços reservados ou nós de vinculação que não têm o estado de acompanhamento a ser descarregado. Para obter mais informações, consulte Espaços reservados, vinculadores e novos descarregamentos.
O destino de descarregamento pode receber dados armazenados em buffer da pilha de host para uma conexão que está sendo descarregada. O destino de descarregamento deve copiar esses dados em seu próprio buffer antes de concluir a operação de descarregamento. Para obter mais informações sobre como processar dados de recebimento em buffer, consulte Manipulando 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 referencie 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 pelo membro *MiniportOffloadContext 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 referenciando o estado descarregado.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | ndischimney.h (inclua Ndischimney.h) |
IRQL | Qualquer nível |