Freigeben über


FwpsAllocateNetBufferAndNetBufferList0-Funktion (fwpsk.h)

Die Funktion FwpsAllocateNetBufferAndNetBufferList0 weist eine neue NET_BUFFER_LIST-Struktur zu.

HinweisFwpsAllocateNetBufferAndNetBufferList0 ist eine bestimmte Version von FwpsAllocateNetBufferAndNetBufferList. Weitere Informationen finden Sie unter WFP Version-Independent Namen und Zielgruppenspezifische Windows-Versionen .
 

Syntax

NTSTATUS FwpsAllocateNetBufferAndNetBufferList0(
  [in]           NDIS_HANDLE     poolHandle,
  [in]           USHORT          contextSize,
  [in]           USHORT          contextBackFill,
  [in, optional] MDL             *mdlChain,
  [in]           ULONG           dataOffset,
  [in]           SIZE_T          dataLength,
  [out]          NET_BUFFER_LIST **netBufferList
);

Parameter

[in] poolHandle

Ein NET_BUFFER_LIST Poolhandle, das von einem vorherigen Aufruf der NdisAllocateNetBufferListPool-Funktion abgerufen wurde.

[in] contextSize

Die Größe des verwendeten Datenbereichs in Bytes in der NET_BUFFER_LIST_CONTEXT Struktur, die für den Legendentreiber reserviert werden soll. Der Wert dieses Parameters muss ein Vielfaches des durch MEMORY_ALLOCATION_ALIGNMENT definierten Werts sein.

[in] contextBackFill

Die Größe des nicht verwendeten Datenbereichs (Backfill-Speicherplatz) in Bytes, den der Legendentreiber benötigt. Die Funktion FwpsAllocateNetBufferAndNetBufferList0 fügt diesen Wert dem im ContextSize-Parameter angegebenen Wert hinzu und weist zusätzlichen Speicherplatz zu. Der Wert dieses Parameters muss ein Vielfaches des durch MEMORY_ALLOCATION_ALIGNMENT definierten Werts sein.

[in, optional] mdlChain

Ein Zeiger auf eine MDL-Kette, die verwendet wird, um die vorab zugeordnete NET_BUFFER Struktur zu initialisieren. Dieser Parameter ist optional und kann NULL sein.

[in] dataOffset

Der anfängliche Offset in Bytes vom Anfang des Puffers bis zum Anfang des verwendeten Datenbereichs in der MDL-Kette. Datenbereich vor diesem Offset ist nicht genutzter Datenbereich. Daher stellt dieser Wert auch die anfängliche Menge des verfügbaren Verfüllbereichs in der MDL-Kette dar.

[in] dataLength

Die Länge des verwendeten Datenbereichs in Bytes in der MDL-Kette.

[out] netBufferList

Ein Zeiger auf eine Variable, die einen Zeiger auf die neue NET_BUFFER_LIST-Struktur empfängt.

Rückgabewert

Die Funktion FwpsAllocateNetBufferAndNetBufferList0 gibt einen der folgenden NTSTATUS-Codes zurück.

Rückgabecode Beschreibung
STATUS_SUCCESS
Die neue NET_BUFFER_LIST-Struktur wurde erfolgreich zugeordnet.
Andere status Codes
Ein Fehler ist aufgetreten.

Hinweise

Ein Legendentreiber ruft die Funktion FwpsAllocateNetBufferAndNetBufferList0 auf, um eine neue NET_BUFFER_LIST-Struktur zuzuweisen.

Diese Funktion ist ein Wrapper um die Die NdisAllocateNetBufferAndNetBufferList-Funktion ist jedoch für die Verwendung durch WFP-Paketeinschleusungsfunktionen spezialisiert.

Nachdem die durch die neue NET_BUFFER_LIST-Struktur beschriebenen Daten erfolgreich in den Netzwerkstapel eingefügt wurden, gibt der Legendentreiber die neue NET_BUFFER_LIST-Struktur frei, indem er die FwpsFreeNetBufferList0-Funktion .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows Vista.
Zielplattform Universell
Header fwpsk.h (include fwpsk.h)
Bibliothek Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Weitere Informationen

FwpsFreeNetBufferList0

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

Paketeinschleusungsfunktionen