FWPS_CALLOUT3 Struktur (fwpsk.h)

Die FWPS_CALLOUT3 Struktur definiert die Daten, die für einen Legendentreiber erforderlich sind, um eine Legende mit dem Filtermodul zu registrieren.

Syntax

typedef struct FWPS_CALLOUT3_ {
  GUID                                calloutKey;
  UINT32                              flags;
  FWPS_CALLOUT_CLASSIFY_FN3           classifyFn;
  FWPS_CALLOUT_NOTIFY_FN3             notifyFn;
  FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT3;

Angehörige

calloutKey

Eine beschriftungstreiberde GUID, die die Legende eindeutig identifiziert.

flags

Flags, die Beschriftungsspezifische Parameter angeben. Mögliche Kennzeichen sind:

Wert Bedeutung
FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW
0x00000001
Ein Legendentreiber kann dieses Kennzeichen angeben, wenn eine Legende registriert wird, die auf einer Ebene hinzugefügt wird, die Datenflüsse unterstützt. Wenn dieses Kennzeichen angegeben ist, ruft das Filtermodul die klassifizierenFn3 Legendenfunktion nur dann auf, wenn dem Datenfluss ein Kontext zugeordnet ist. Ein Beschriftungstreiber ordnet einen Kontext einem Datenfluss zu, indem die FwpsFlowAssociateContext0--Funktion aufgerufen wird.
FWP_CALLOUT_FLAG_ALLOW_OFFLOAD
0x00000002
Ein Beschriftungstreiber gibt dieses Kennzeichen an, um anzugeben, dass die klassifizierenFn3 Legendenfunktion nicht von der Auslagerung der Netzwerkdatenverarbeitung auf offloadfähige Netzwerkschnittstellenkarten (NICs) betroffen ist. Wenn dieses Kennzeichen nicht angegeben ist, wird das Entladen der Netzwerkdatenverarbeitung für den gesamten Datenverkehr deaktiviert, der von allen Filtern verarbeitet wird, die die Legende für die Aktion des Filters angeben.
FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY
0x00000004
Ein Popuptreiber gibt dieses Kennzeichen an, um anzugeben, dass es Benachrichtigungen zu Objekten und Filtern empfangen kann, die in einer Transaktion hinzugefügt werden. Das Filtermodul sendet die Benachrichtigung, nachdem die Transaktion zugesichert wurde.
FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION
0x00000008
Ein Popuptreiber gibt dieses Kennzeichen an, um anzugeben, dass es eine dynamische Datenstromüberprüfung von Datenflüssen auf Datenstromebene durchführen kann. Siehe Stream Inspection.
FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY
0x00000010
Ein Popuptreiber gibt dieses Kennzeichen an, um sich selbst zu registrieren, wenn ein vorhandener Socketvorgang neu klassifiziert wird.
FWP_CALLOUT_FLAG_RESERVED1
0x00000020
Reserviert für die Systemverwendung. Legendentreiber sollten dieses Flag ignorieren.
FWP_CALLOUT_FLAG_ALLOW_RSC
0x00000040
Ein Beschriftungstreiber gibt dieses Kennzeichen an, um anzugeben, dass die Legende TCP-Empfangssegmente (RSC) mit großen Paketen von bis zu 64K unterstützt. Wenn dieses Flag nicht angegeben ist und eine Legende registriert ist, wird RSC für den gesamten Datenverkehr deaktiviert, der von allen Filtern verarbeitet wird, die die Legende für die Aktion des Filters angeben.
FWP_CALLOUT_FLAG_ALLOW_L2_BATCH_CLASSIFY
0x00000080
Ein Legendentreiber gibt dieses Kennzeichen beim Registrieren einer Legende an, die auf Ebene 2 hinzugefügt wird, um anzugeben, dass die klassifizierenFn3 Legendenfunktion mehrere verkettete NET_BUFFER_LIST Strukturen klassifizieren kann. Weitere Informationen finden Sie unter Using Layer 2 Filtering.

Vorsicht:
Wenn ein Beschriftungstreiber dieses Kennzeichen festlegt, kann es nicht die folgenden Funktionen verwenden, um NET_BUFFER_LISTs zu ändern.

FwpsReferenceNetBufferList0
FwpsDereferenceNetBufferList0
FwpsAllocateCloneNetBufferList0
FwpsFreeCloneNetBufferList0

Mit diesem Flagsatz gibt FwpsAllocateCloneNetBufferList0 immer einen INVALID_PARAMETER Fehler zurück. Dies kann unerwartet dazu führen, dass ein Drittanbieter-Beschriftungstreiber die Referenzanzahl von NET_BUFFER_LISTs nicht verwaltet, wodurch Sende- und Empfangsvorgänge beendet werden.
FWP_CALLOUT_FLAG_ALLOW_USO
0x00000100
Ein Legendentreiber gibt dieses Kennzeichen an, um anzugeben, dass die Legende UDP-Segmentierungs offload (USO) mit Paketen unterstützt, die größer als die MTU des Netzwerkmediums sind. Wenn dieses Flag nicht angegeben ist und eine Legende registriert ist, wird USO für den gesamten Datenverkehr deaktiviert, der von allen Filtern verarbeitet wird, die die Legende für die Aktion des Filters angeben. Hinweis: Die früheste Version, in der dieses Flag unterstützt wird, ist Windows Insider Preview, Version 10.0.25876.
FWP_CALLOUT_FLAG_ALLOW_URO
0x00000200
Ein Popuptreiber gibt dieses Kennzeichen an, um anzugeben, dass die Legende UDP-Empfangs offload (URO) mit großen Paketen von bis zu 64K unterstützt. Wenn dieses Kennzeichen nicht angegeben ist und eine Legende registriert ist, wird URO für den gesamten Datenverkehr deaktiviert, der von allen Filtern verarbeitet wird, die die Legende für die Aktion des Filters angeben. Hinweis: Wenn dieses Flag angegeben ist, dürfen Legenden keine klonen und eingehenden URO-Pakete erneut auswerfen.

classifyFn

Ein Zeiger auf die klassifizierenFn3 Legendenfunktion des Legendentreibers. Das Filtermodul ruft diese Funktion immer dann auf, wenn es Netzwerkdaten gibt, die von der Legende verarbeitet werden sollen.

notifyFn

Ein Zeiger auf die notifyFn3-Funktion des Popuptreibers. Das Filtermodul ruft diese Funktion auf, um den Legendentreiber über Ereignisse zu benachrichtigen, die der Legende zugeordnet sind.

flowDeleteFn

Ein Zeiger auf die flowDeleteFn Legendenfunktion des Popuptreibers. Das Filtermodul ruft diese Funktion immer dann auf, wenn ein vom Popup verarbeiteter Datenfluss beendet wird.

Wenn ein Beschriftungstreiber keinen Kontext mit den Datenflüssen verknüpft, die von der Legende verarbeitet werden, sollte dieses Element auf NULL festgelegt werden.

Bemerkungen

Ein Legendentreiber übergibt einen Zeiger an eine initialisierte FWPS_CALLOUT3 Struktur an die FwpsCalloutRegister3 Funktion, wenn eine Legende mit dem Filtermodul registriert wird.

Eine Legende kann das FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW Flag nur für Verbindungen festlegen, für die der Treiber an der Durchführung von Datenstromüberprüfungen interessiert ist. Diese Legende wird für alle anderen Verbindungen ignoriert. Die Leistung wird verbessert, und der Treiber muss keine unnötigen Zustandsdaten beibehalten.

Diese Struktur ist im Wesentlichen identisch mit der vorherigen Version, FWPS_CALLOUT3. Die einzigen Unterschiede bestehen darin, dass die Member dieser Version die aktualisierten Versionen der Legendenfunktionszeiger speichern, und zusätzliche Flags sind für Popuptreiber verfügbar, die festgelegt werden sollen.

FWPS_CALLOUT3 ist die spezifische Version von FWPS_CALLOUT. Weitere Informationen finden Sie unter WFP-Version-Independent Namen und zielspezifische Versionen von Windows.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows 8.
Header- fwpsk.h

Siehe auch