Freigeben über


NdisAllocateNetBufferList-Funktion (ndis/nblapi.h)

Rufen Sie die NdisAllocateNetBufferList--Funktion auf, um eine NET_BUFFER_LIST Struktur aus einem NET_BUFFER_LIST Strukturpool zuzuweisen und zu initialisieren.

Syntax

NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateNetBufferList(
  [in] NDIS_HANDLE PoolHandle,
  [in] USHORT      ContextSize,
  [in] USHORT      ContextBackFill
);

Parameter

[in] PoolHandle

Ein NET_BUFFER_LIST Strukturpoolhandle, das zuvor von einem Aufruf an NdisAllocateNetBufferListPool.

[in] ContextSize

Die Menge verwendeten Datenbereichs in der NET_BUFFER_LIST_CONTEXT Struktur, die für den Aufrufer reserviert werden soll. Die ContextSize- muss ein Vielfaches des durch MEMORY_ALLOCATION_ALIGNMENT definierten Werts sein.

[in] ContextBackFill

Die Menge nicht genutzten Datenbereichs (Rückfüllbereich), den der Aufrufer benötigt. NDIS fügt diesen Wert dem ContextSize- hinzu und weist zusätzlichen Speicherplatz zu. Die ContextBackFill- muss ein Vielfaches des durch MEMORY_ALLOCATION_ALIGNMENT definierten Werts sein.

Rückgabewert

NdisAllocateNetBufferList gibt einen Zeiger auf die zugeordnete NET_BUFFER_LIST Struktur zurück. Wenn die Zuordnung nicht erfolgreich war, ist dieser Zeiger NULL-.

Bemerkungen

Sie können die NdisAllocateNetBufferList oder NdisAllocateNetBufferAndNetBufferList Funktion, um eine NET_BUFFER_LIST Struktur aus einem Pool zuzuweisen.

HinweisNET_BUFFER und NET_BUFFER_LIST Strukturen müssen aus einem NDIS-Pufferpool zugeordnet werden. Ein Treiber darf keine NET_BUFFER_LIST oder NET_BUFFER Struktur aus seinem privaten Speicherpool oder dem Stapel zuordnen und initialisieren.
 
Wenn Sie NdisAllocateNetBufferList- aufrufen und der NET_BUFFER_LIST Strukturpool durch Aufrufen des NdisAllocateNetBufferListPool Funktion mit dem fAllocateNetBuffer Element der NET_BUFFER_LIST_POOL_PARAMETERS Struktur auf TRUEfestgelegt, weist NDIS eine NET_BUFFER_LIST, NET_BUFFER, MDL und Daten zu.

Rufen Sie die NdisFreeNetBufferList--Funktion auf, um eine NET_BUFFER_LIST Struktur frei zu geben.

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), NdisAllocateNetBufferList2(ndis), NdisAllocateNetBufferList2_InitFail(ndis)

Siehe auch

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

NdisFreeNetBufferList