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 |