NdisAllocateReassembledNetBufferList-Funktion (ndis/nblapi.h)
Rufen Sie die NdisAllocateReassembledNetBufferList--Funktion auf, um eine fragmentierte NET_BUFFER_LIST Struktur neu zu gruppieren.
Syntax
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
);
Parameter
FragmentNetBufferList
Ein Zeiger auf die NET_BUFFER_LIST Struktur zum erneuten Zusammenbauen.
[in, optional] NetBufferAndNetBufferListPoolHandle
Ein NET_BUFFER_LIST Strukturpoolhandle, das zuvor vom NdisAllocateNetBufferListPool Funktion. Der fAllocateNetBuffer Member der NET_BUFFER_LIST_POOL_PARAMETERS Struktur, die der Aufrufer an NdisAllocateNetBufferListPool übergeben hat, muss auf TRUEfestgelegt sein, und der DataSize Member auf Null festgelegt sein. Wenn dieser Parameter NULL-ist, verwendet NDIS einen internen Pool.
[in] StartOffset
Die Datenmenge, die am Anfang jeder Quelle NET_BUFFER Struktur übersprungen werden soll. Dieser Betrag wird zusätzlich zu dem Wert angegeben, der im DataOffset- Element der NET_BUFFER-Struktur angegeben ist.
[in] DataOffsetDelta
Die Anzahl der Bytes verwendeten Datenbereichs, der in der neu zusammengesetzten NET_BUFFER Struktur hinzugefügt werden soll.
[in] DataBackFill
Wenn die Zuordnung nicht genutzten Datenbereichs (Rückfüllbereich) erforderlich ist, gibt dieser Parameter die Anzahl der Bytes nicht genutzten Datenbereichs an, zusätzlich zu DataOffsetDelta- zugewiesen werden soll.
[in] AllocateReassembleFlags
NDIS-Flags, die mit einem OR-Vorgang kombiniert werden können. Legen Sie diesen Parameter auf Null fest. Für diese Funktion sind derzeit keine Flags definiert.
Rückgabewert
Wenn der Erneutassemble-Vorgang erfolgreich ist, gibt NdisAllocateReassembledNetBufferList eine neu zusammengesetzte NET_BUFFER_LIST Struktur zurück. Wenn der Vorgang fehlschlägt, wird NULL-zurückgegeben.
Bemerkungen
NdisAllocateReassembledNetBufferList eine neue NET_BUFFER_LIST Struktur zuordnet, initialisiert und gibt eine neue NET_BUFFER_LIST-Struktur zurück, die eine NET_BUFFER Struktur und eine MDL-Kette enthält. Die neue NET_BUFFER_LIST-Struktur beschreibt die gleichen Daten wie die fragmentierte Quelle NET_BUFFER_LIST Struktur, die der Treiber an FragmentedNetBufferListübergeben hat. Nachdem die anzahl der in StartOffset in jeder fragmentierten NET_BUFFER Struktur angegebenen Bytes übersprungen wurde, verkettet NDIS die verbleibenden Daten in jeder fragmentierten NET_BUFFER Struktur in einer neu zusammengefassten NET_BUFFER Struktur. Neu zusammengesetzte NET_BUFFER_LIST Strukturen enthalten keine anfängliche NET_BUFFER_LIST_CONTEXT Struktur.
Rufen Sie die NdisFreeReassembledNetBufferList Funktion, um eine neu zusammengesetzte NET_BUFFER_LIST Struktur und alle zugehörigen NET_BUFFER Strukturen und MDL-Ketten freizulösen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.0 und höher. |
Zielplattform- | Universal |
Header- | ndis/nblapi.h (include ndis.h) |
Library | Ndis.lib |
IRQL- | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_NetBuffer_Function(ndis), NdisAllocateReassembledNetBufferList(ndis), NdisAllocateReassembledNetBufferList_InitFail(ndis) |
Siehe auch
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList