Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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