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 da funzione NdisAllocateNetBufferListPool. Il membro fAllocateNetBuffer della struttura NET_BUFFER_LIST_POOL_PARAMETERS passata al chiamante NdisAllocateNetBufferListPool deve essere stato impostato su TRUEe 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à è oltre al valore specificato nel membro DataOffset della struttura NET_BUFFER.
[in] DataOffsetDelta
Numero di byte di utilizzato spazio dati da aggiungere nella struttura NET_BUFFER riassemblata.
[in] DataBackFill
Se è necessaria l'allocazione di spazio dati inutilizzato (spazio di backfill), 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 stati definiti flag per questa funzione.
Valore restituito
Se l'operazione di riassemblazione ha esito positivo, NdisAllocateReassembledNetBufferList restituisce una struttura NET_BUFFER_LIST riassemblata. Se l'operazione non riesce, restituisce NULL.
Osservazioni
NdisAllocateReassembledNetBufferList alloca, inizializza e restituisce una nuova struttura 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 dal driver in 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 NET_BUFFER_LIST riassemblate non includono un valore iniziale NET_BUFFER_LIST_CONTEXT struttura.
Chiamare il funzione NdisFreeReassembledNetBufferList per liberare una struttura NET_BUFFER_LIST riassemblata e tutte le strutture NET_BUFFER associate e catene MDL.
Fabbisogno
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) |
Vedere anche
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList