Condividi tramite


W_INITIATE_OFFLOAD_HANDLER funzione di callback (ndischimney.h)

[La funzionalità di offload del camino TCP è deprecata e non deve essere usata.]

MiniportInitiateOffload esegue l'offload dello stato del camino TCP dallo stack host.

Sintassi

W_INITIATE_OFFLOAD_HANDLER WInitiateOffloadHandler;

void WInitiateOffloadHandler(
  [in]      IN NDIS_HANDLE MiniportAdapterContext,
  [in, out] IN OUT PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST OffloadBlockList
)
{...}

Parametri

[in] MiniportAdapterContext

Handle in un'area di contesto allocata di destinazione offload in cui la destinazione di offload gestisce le informazioni sullo stato relative a questa istanza dell'adattatore. Il driver miniport ha fornito questo handle a NDIS quando viene chiamato NdisMSetMiniportAttributes da Funzione MiniportInitializeEx .

[in, out] OffloadBlockList

Puntatore a un oggetto NDIS_MINIPORT_OFFLOAD_BLOCK_LIST struttura che può essere una struttura autonoma o la radice di un elenco collegato di tali strutture.

Valore restituito

nessuno

Osservazioni

La funzione MiniportInitiateOffload archivia il puntatore OffloadBlockList e quindi restituisce. La destinazione di offload completa sempre l'operazione di offload in modo asincrono chiamando NdisMInitiateOffloadComplete. L'albero di stato a cui punta il puntatore OffloadBlockList è valido fino a quando il driver miniport chiama NdisMInitiateOffloadComplete.

Dopo la restituzione dalla funzione MiniportInitiateOffload , la destinazione di offload esegue l'offload dello stato dall'albero di stato. Una struttura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST il cui membro MiniportOffloadContext punta a una posizione di memoria che contiene un valore NULL è seguito dallo stato da offload. Per altre informazioni, vedere Archiviazione e riferimento allo stato offloaded. Il membro Header di una struttura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST contiene un membro Type che specifica il tipo di stato di offload e, in modo implicito, la struttura o le strutture dello stato di offload che seguono immediatamente la struttura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST in memoria.

La destinazione di offload scarica lo stato di offload associato a una struttura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST in un'area del contesto di offload. Per altre informazioni, vedere Archiviazione e riferimento allo stato offloaded.

Quando si esegue l'offload dello stato, la destinazione di offload deve attraversare l'albero di stato in modo depth-first/breadth-next. È fondamentale che un'offload target offload offload offload venga eseguito in questo modo.

Alcune delle strutture NDIS_MINIPORT_OFFLOAD_BLOCK_LIST nell'albero di stato passate alla funzione MiniportInitiateOffload possono essere segnaposto o nodi di collegamento che non hanno lo stato a cui è associata l'offload. Per altre informazioni, vedere Segnaposto, Linker e Nuovi offload.

La destinazione di offload può ricevere dati memorizzati nel buffer dallo stack host per una connessione in fase di offload. La destinazione di offload deve copiare questi dati nel proprio buffer prima di completare l'operazione di offload. Per altre informazioni sull'elaborazione dei dati di ricezione memorizzati nel buffer, vedere Gestione dei dati di ricezione memorizzati nel buffer durante e dopo un'operazione di offload.

Per ogni oggetto stato che esegue l'offload, la destinazione di offload deve specificare anche un valore PVOID che fa riferimento all'area del contesto di offload in cui la destinazione di offload archivia l'oggetto stato. La destinazione di offload scrive questo valore PVOID nella posizione di memoria a cui punta il membro *MiniportOffloadContext della struttura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST associata allo stato. Se la destinazione di offload non ha eseguito correttamente l'offload dello stato associato alla struttura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST, non deve scrivere un valore nella posizione di memoria a cui punta il membro *MiniportOffloadContext . Per altre informazioni, vedere Archiviazione e riferimento allo stato offloaded.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione ndischimney.h (include Ndischimney.h)
IRQL Qualsiasi livello

Vedi anche

MiniportInitializeEx

NDIS_MINIPORT_OFFLOAD_BLOCK_LIST

NdisMInitiateOffloadComplete

NdisMSetMiniportAttributes