FwpsAllocateNetBufferAndNetBufferList0-Funktion (fwpsk.h)
Die Funktion FwpsAllocateNetBufferAndNetBufferList0 weist eine neue NET_BUFFER_LIST-Struktur zu.
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 |
---|---|
|
Die neue NET_BUFFER_LIST-Struktur wurde erfolgreich zugeordnet. |
|
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 |