FwpsReferenceNetBufferList0-Funktion (fwpsk.h)
Die FwpsReferenceNetBufferList0-Funktion erhöht die Verweisanzahl für eine NET_BUFFER_LIST-Struktur .
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 |