Freigeben über


FwpsReferenceNetBufferList0-Funktion (fwpsk.h)

Die FwpsReferenceNetBufferList0-Funktion erhöht die Verweisanzahl für eine NET_BUFFER_LIST-Struktur .

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

Syntax

void FwpsReferenceNetBufferList0(
  [in, out] NET_BUFFER_LIST *netBufferList,
  [in]      BOOLEAN         intendToModify
);

Parameter

[in, out] netBufferList

Ein Zeiger auf die NET_BUFFER_LIST-Struktur , für die die Verweisanzahl erhöht wird.

[in] intendToModify

Ein Wert, der angibt, ob eine Legende die geklonte Netzwerkpufferliste ändern möchte, auf deren übergeordnetes Element der netBufferList-Parameter verweist, nachdem die funktion klassifizierenFn zurückgegeben wurde. Wenn TRUE, beabsichtigt die Legende, die geklonte Netzpufferliste zu ändern, nachdem klassifizierenFn zurückgegeben wurde (eine Out-of-Band-Änderung). Legen Sie andernfalls auf FALSE fest.

Rückgabewert

Keine

Bemerkungen

Ein Legendentreiber ruft die Funktion FwpsReferenceNetBufferList0 auf, um die Verweisanzahl für eine NET_BUFFER_LIST-Struktur zu erhöhen, sodass die Netzwerkpufferliste außerhalb der klassifizierenFn-Funktion gültig bleibt.

Wenn ein Legendentreiber beispielsweise paketreassembly ausführt, erhöht er die Verweisanzahl für jede empfangene NET_BUFFER_LIST Strukturen, die die Paketfragmente beschreiben, aus denen ein einzelnes Paket besteht. Dadurch kann die neue NET_BUFFER_LIST-Struktur, die das neu zusammengesetzte Paket beschreibt, sicher auf die Speicherdeskriptorlisten (MDLs) verweisen, auf die die NET_BUFFER_LIST-Strukturen verweisen, die die Paketfragmente beschreiben. Nachdem der Legendentreiber die neue NET_BUFFER_LIST-Struktur in den Netzwerkstapel eingefügt hat, verringert er die Referenzanzahl für jede der NET_BUFFER_LIST-Strukturen, die die Paketfragmente aus seiner Paketeinschleusungs-Vervollständigungsroutine beschreiben.

Ein Legendentreiber muss die Funktion FwpsDereferenceNetBufferList0 für die NET_BUFFER_LIST-Struktur aufrufen, nachdem der Legendentreiber die Referenzierung der Struktur abgeschlossen hat.

Richtlinien für die Verwaltung referenzierter Pakete

Ein Legendentreiber darf keine Pakete enthalten, auf die verwiesen wird, unbegrenzt. Ein Paket, auf das verwiesen wird, kann Energieverwaltungsvorgänge auf einem nicht mehr erhaltenen Computer beeinträchtigen.

Die beabsichtigte Verwendung von Paketen, auf die in WFP verwiesen wird, besteht darin, eine Klärung durch eine Benutzermodusanwendung oder einen anderen relativ schnellen Vorgang zu erhalten. Der Legendentreiber darf keine Pakete enthalten, auf die verwiesen wird, während er z. B. auf Benutzereingaben, Webdienstfreigaben oder andere Vorgänge wartet, die eine beliebige Zeit in Anspruch nehmen können.

Wenn der Legendentreiber auf einen potenziell langwierigen Vorgang warten muss, sollte er eine tiefe Kopie des Pakets mithilfe von FwpsAllocateNetBufferAndNetBufferList0 erstellen und das ursprüngliche Paket blockieren und absorbieren.

Legendentreiber sollten gehaltene Pakete immer so schnell wie möglich zurückgeben.

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

FwpsDereferenceNetBufferList0

NET_BUFFER_LIST

klassifizierenFn