Freigeben über


NdisAllocateNetBufferListContext-Funktion (ndis/nblapi.h)

Rufen Sie die NdisAllocateNetBufferListContext--Funktion auf, um mehr Kontextbereich in der NET_BUFFER_LIST_CONTEXT Struktur einer

NET_BUFFER_LIST Struktur.

Syntax

NDIS_EXPORTED_ROUTINE NDIS_STATUS NdisAllocateNetBufferListContext(
  [in] NET_BUFFER_LIST *NetBufferList,
  [in] USHORT          ContextSize,
  [in] USHORT          ContextBackFill,
  [in] ULONG           PoolTag
);

Parameter

[in] NetBufferList

Ein Zeiger auf eine zuvor zugeordnete NET_BUFFER_LIST Struktur.

[in] ContextSize

Die Menge des Kontextbereichs, der in der NET_BUFFER_LIST_CONTEXT-Struktur zugeordnet werden soll. Dieser Betrag muss ein Vielfaches des durch sizeof(void*)definierten Werts sein.

[in] ContextBackFill

Die Menge des Arbeitsspeichers, zusätzlich zum Wert von ContextSize, zuzuordnen, wenn NDIS Speicher zuweisen muss, um die Anforderung zu erfüllen. Dieser Betrag muss ein Vielfaches des durch sizeof(void*)definierten Werts sein.

[in] PoolTag

Ein Kernelpooltag, das NDIS verwendet, um den Speicher für die NET_BUFFER_LIST_CONTEXT Struktur zuzuweisen, falls die Zuordnung erforderlich ist. Das Tag ist eine Zeichenfolge, die durch einfache Anführungszeichen mit bis zu vier Zeichen getrennt ist, normalerweise in umgekehrter Reihenfolge angegeben. Das Kernelpooltag hilft NDIS, den Besitzer des Speichers zu identifizieren.

Rückgabewert

NdisAllocateNetBufferListContext gibt eine der folgenden Werte zurück:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
NdisAllocateNetBufferListContext Kontextbereich erfolgreich zugeordnet, indem entweder der Wert des Offset Member der NET_BUFFER_LIST_CONTEXT-Struktur oder durch Zuweisung des neuen Speichers reduziert wird.
NDIS_STATUS_RESOURCES
NdisAllocateNetBufferListContext aufgrund unzureichender Ressourcen fehlgeschlagen.
NDIS_STATUS_FAILURE
NdisAllocateNetBufferListContext aus anderen Gründen als unzureichenden Ressourcen fehlgeschlagen.

Bemerkungen

Wenn in der NET_BUFFER_LIST_CONTEXT Struktur genügend nicht verwendeter Kontext verfügbar ist, um die Anforderung zu erfüllen, reduziert NdisAllocateNetBufferListContext einfach den Wert des Offset- Elements in der NET_BUFFER_LIST_CONTEXT Struktur. Andernfalls weist NDIS neuen Speicher für den Kontextbereich zu. Sie können ContextBackFill- angeben, um zusätzlichen Arbeitsspeicher zuzuweisen, sodass der nächste Aufruf von NdisAllocateNetBufferListContext keinen Speicher zuweisen muss.

Hinweis Der Kontextbereich wird immer an "sizeof(void*)" ausgerichtet. Dies ist eine angemessene Ausrichtung für alle natürlichen Typen, eignet sich jedoch nicht für Datentypen mit ungewöhnlichen Ausrichtungsanforderungen wie SLIST_ENTRY.

Rufen Sie die NdisFreeNetBufferListContext Funktion, um den Kontextbereich in der NET_BUFFER_LIST_CONTEXT Struktur freizugeben, die mit NdisAllocateNetBufferListContextzugeordnet wurde.

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)

Siehe auch

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NdisFreeNetBufferListContext