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_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList