Funzione NdisAllocateReassembledNetBufferList (ndis/nblapi.h)

Chiamare la funzione NdisAllocateReassembledNetBufferList per riassemblare una struttura NET_BUFFER_LIST frammentata.

Sintassi

NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateReassembledNetBufferList(
                 NET_BUFFER_LIST *FragmentNetBufferList,
  [in, optional] NDIS_HANDLE     NetBufferAndNetBufferListPoolHandle,
  [in]           ULONG           StartOffset,
  [in]           ULONG           DataOffsetDelta,
  [in]           ULONG           DataBackFill,
  [in]           ULONG           AllocateReassembleFlags
);

Parametri

FragmentNetBufferList

Puntatore alla struttura NET_BUFFER_LIST da riassemblare.

[in, optional] NetBufferAndNetBufferListPoolHandle

Handle del pool di strutture NET_BUFFER_LIST restituito in precedenza dall'oggetto Funzione NdisAllocateNetBufferListPool . Il membro fAllocateNetBuffer della struttura NET_BUFFER_LIST_POOL_PARAMETERS che il chiamante passato a NdisAllocateNetBufferListPool deve essere stato impostato su TRUE e il membro DataSize impostato su zero. Se questo parametro è NULL, NDIS usa un pool interno.

[in] StartOffset

Quantità di dati da ignorare all'inizio di ogni struttura di NET_BUFFER di origine. Questa quantità viene aggiunta al valore specificato nel membro DataOffset della struttura NET_BUFFER.

[in] DataOffsetDelta

Numero di byte di spazio dati usato da aggiungere nella struttura NET_BUFFER riassemblata.

[in] DataBackFill

Se è necessaria l'allocazione dello spazio dati inutilizzato (spazio di riempimento indietro), questo parametro specifica il numero di byte di spazio dati inutilizzato oltre a DataOffsetDelta da allocare.

[in] AllocateReassembleFlags

Flag NDIS che possono essere combinati con un'operazione OR. Impostare questo parametro su zero. Attualmente non sono presenti flag definiti per questa funzione.

Valore restituito

Se l'operazione di riassemblaggio ha esito positivo, NdisAllocateReassembledNetBufferList restituisce una struttura NET_BUFFER_LIST riassemblata. Se l'operazione ha esito negativo, restituisce NULL.

Commenti

NdisAllocateReassembledNetBufferList alloca, inizializza e restituisce una nuova struttura di NET_BUFFER_LIST che include una struttura NET_BUFFER e una catena MDL. La nuova struttura NET_BUFFER_LIST descrive gli stessi dati della struttura di origine frammentata NET_BUFFER_LIST passata al driver FragmentedNetBufferList. Dopo aver ignorato il numero di byte specificati in StartOffset in ogni struttura NET_BUFFER frammentata, NDIS concatena i dati rimanenti in ogni struttura NET_BUFFER frammentata in una struttura NET_BUFFER riassemblata. Le strutture di NET_BUFFER_LIST riassemblate non includono un'iniziale NET_BUFFER_LIST_CONTEXT struttura.

Chiamare l'oggetto Funzione NdisFreeReassembledNetBufferList per liberare una struttura di NET_BUFFER_LIST riassemblata e tutte le strutture NET_BUFFER associate e le catene MDL associate.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Universale
Intestazione ndis/nblapi.h (include ndis.h)
Libreria Ndis.lib
IRQL <= DISPATCH_LEVEL
Regole di conformità DDI Irql_NetBuffer_Function(ndis), NdisAllocateReassembledNetBufferList(ndis), NdisAllocateReassembledNetBufferList_InitFail(ndis)

Vedi anche

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList