Freigeben über


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

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList