NdisAllocateReassembledNetBufferList-Funktion (ndis/nblapi.h)
Rufen Sie die NdisAllocateReassembledNetBufferList-Funktion auf, um eine fragmentierte NET_BUFFER_LIST-Struktur neu zusammenzufassen.
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, die neu zusammengesetzt werden soll.
[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 TRUE und das DataSize-Element auf Null festgelegt sein. Wenn dieser Parameter NULL ist, verwendet NDIS einen internen Pool.
[in] StartOffset
Die Datenmenge, die am Anfang jeder Quellstruktur NET_BUFFER übersprungen werden soll. Dieser Betrag ist zusätzlich zu dem Wert, der im DataOffset-Element der NET_BUFFER-Struktur angegeben wird.
[in] DataOffsetDelta
Die Anzahl der Bytes des verwendeten Datenbereichs , dem in der neu zusammengesetzten NET_BUFFER-Struktur hinzugefügt werden soll.
[in] DataBackFill
Wenn die Zuordnung von nicht verwendetem Datenspeicher ( Ausfüllbereich) erforderlich ist, gibt dieser Parameter die Anzahl der Bytes des nicht verwendeten Datenspeichers zusätzlich zu DataOffsetDelta an, der zugeordnet werden soll.
[in] AllocateReassembleFlags
NDIS-Flags, die mit einem OR-Vorgang kombiniert werden können. Legen Sie diesen Parameter auf 0 (null) fest. Für diese Funktion sind derzeit keine Flags definiert.
Rückgabewert
Wenn der Neuassemblevorgang erfolgreich ist, gibt NdisAllocateReassembledNetBufferList eine neu zusammengesetzte NET_BUFFER_LIST-Struktur zurück. Wenn der Vorgang fehlschlägt, wird NULL zurückgegeben.
Hinweise
NdisAllocateReassembledNetBufferList ordnet, 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 dieselben Daten wie die fragmentierte Quell- NET_BUFFER_LIST Struktur, die der Treiber an FragmentedNetBufferList übergeben hat. Nachdem die in StartOffset angegebene Anzahl von Bytes in jeder fragmentierten NET_BUFFER-Struktur übersprungen wurde, verkettet NDIS die verbleibenden Daten in jeder fragmentierten NET_BUFFER-Struktur in einer neu zusammengesetzten NET_BUFFER-Struktur. Neu zusammengesetzte NET_BUFFER_LIST Strukturen enthalten keine initiale NET_BUFFER_LIST_CONTEXT Struktur.
Rufen Sie die folgenden NdisFreeReassembledNetBufferList-Funktion , um eine neu zusammengesetzte NET_BUFFER_LIST-Struktur und alle zugeordneten NET_BUFFER-Strukturen und MDL-Ketten frei zu geben.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.0 und höher. |
Zielplattform | Universell |
Header | ndis/nblapi.h (include ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_NetBuffer_Function(ndis), NdisAllocateReassembledNetBufferList(ndis), NdisAllocateReassembledNetBufferList_InitFail(ndis) |
Weitere Informationen
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList