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 zielspezifische Versionen von Windows.
 

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 Referenzanzahl erhöht wird.

[in] intendToModify

Ein Wert, der angibt, ob eine Legende beabsichtigt, die geklonte Netzwerkpufferliste zu ändern, auf deren übergeordnetes Element durch den netBufferList Parameter verwiesen wird, nachdem die klassifizierenFn Funktion zurückgegeben wurde. Wenn TRUE, beabsichtigt die Legende, die geklonte Netzpufferliste zu ändern, nachdem klassifizierenFn zurückgegeben wurde (eine Out-of-Band-Änderung). Andernfalls wird auf FALSE-festgelegt.

Rückgabewert

Nichts

Bemerkungen

Ein Popuptreiber ruft die FwpsReferenceNetBufferList0--Funktion 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 beispielsweise ein Beschriftungstreiber die Paketassembly durchführt, erhöht er die Referenzanzahl für jede empfangene NET_BUFFER_LIST Strukturen, die die Paketfragmente beschreiben, aus denen ein einzelnes Paket besteht. Dies ermöglicht die neue NET_BUFFER_LIST-Struktur, die das neu zusammengesetzte Paket beschreibt, um sicher auf die Speicherdeskriptorlisten (MDLs) zu verweisen, auf die von den NET_BUFFER_LIST Strukturen verwiesen wird, die die Paketfragmente beschreiben. Nachdem der Beschriftungstreiber die neue NET_BUFFER_LIST-Struktur in den Netzwerkstapel eingefügt hat, wird die Referenzanzahl für jede der NET_BUFFER_LIST Strukturen erhöht, die die Paketfragmente aus ihrer Paketeinfügungs-Abschlussroutine beschreiben.

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

Richtlinien für die Verwaltung referenzierter Pakete

Ein Beschriftungstreiber darf nicht unbegrenzt auf referenzierte Pakete verweisen. Ein referenziertes Paket kann die Energieverwaltungsvorgänge auf einem Leerlaufcomputer beeinträchtigen.

Die beabsichtigte Verwendung für referenzierte Pakete in WFP besteht darin, eine Klarstellung von einer Benutzermodusanwendung oder einem anderen relativ schnellen Vorgang zu erhalten. Der Beschriftungstreiber darf keine referenzierten Pakete enthalten, z. B. warten auf Benutzereingaben, Webdienstfreigaben oder andere Vorgänge, die eine beliebige Zeit in Anspruch nehmen können.

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

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

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows Vista.
Zielplattform- Universal
Header- fwpsk.h (include Fwpsk.h)
Library Fwpkclnt.lib
IRQL- <= DISPATCH_LEVEL

Siehe auch

FwpsDereferenceNetBufferList0

NET_BUFFER_LIST

klassifizierenFn-