Compartilhar via


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

Consulte também

MiniportInitializeEx

NDIS_MINIPORT_OFFLOAD_BLOCK_LIST

NdisMInitiateOffloadComplete

NdisMSetMiniportAttributes