FWPS_CALLOUT2-Struktur (fwpsk.h)
Die FWPS_CALLOUT2-Struktur definiert die Daten, die für einen Legendentreiber erforderlich sind, um eine Legende bei der Filter-Engine zu registrieren.
Syntax
typedef struct FWPS_CALLOUT2_ {
GUID calloutKey;
UINT32 flags;
FWPS_CALLOUT_CLASSIFY_FN2 classifyFn;
FWPS_CALLOUT_NOTIFY_FN2 notifyFn;
FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT2;
Member
calloutKey
Eine vom Legendentreiber definierte GUID , die die Legende eindeutig identifiziert.
flags
Flags, die beschriftungsspezifische Parameter angeben. Mögliche Flags sind:
Wert | Bedeutung |
---|---|
|
Ein Legendentreiber kann dieses Flag angeben, wenn eine Legende registriert wird, die auf einer Ebene hinzugefügt wird, die Datenflüsse unterstützt. Wenn dieses Flag angegeben ist, ruft die Filter-Engine die Legendenfunktion klassifizierenFn2 des Legendentreibers nur dann auf, wenn dem Datenfluss ein Kontext zugeordnet ist. Ein Legendentreiber ordnet einen Kontext einem Datenfluss zu, indem er die Funktion FwpsFlowAssociateContext0 aufruft . |
|
Ein Legendentreiber gibt dieses Flag an, um anzugeben, dass die Legendenfunktion klassifizierenFn2 des Legendentreibers nicht durch das Auslagern der Netzwerkdatenverarbeitung in ausladende Netzwerkschnittstellenkarten (NICs) beeinträchtigt wird. Wenn dieses Flag nicht angegeben ist, wird die Auslagerung der Netzwerkdatenverarbeitung für den gesamten Datenverkehr deaktiviert, der von Filtern verarbeitet wird, die die Legende für die Aktion des Filters angeben. |
|
Ein Legendentreiber gibt dieses Flag an, um anzugeben, dass er Benachrichtigungen über Objekte und Filter empfangen kann, die innerhalb einer Transaktion hinzugefügt werden. Die Filter-Engine sendet die Benachrichtigung nach dem Commit der Transaktion. |
|
Ein Legendentreiber gibt dieses Flag an, um anzugeben, dass er eine dynamische Streamüberprüfung von Datenflüssen auf Streamebene durchführen kann. Weitere Informationen finden Sie unter Stream Inspektion. |
|
Ein Legendentreiber gibt dieses Flag an, um sich für den Aufruf zu registrieren, wenn ein vorhandener Socketvorgang neu klassifiziert wird. |
|
Ist für das System reserviert. Legendentreiber sollten dieses Flag ignorieren. |
|
Ein Legendentreiber gibt dieses Flag an, um anzugeben, dass die Legende tcp Receive Segment Coalescing (RSC) mit großen Paketen von bis zu 64K unterstützt. Wenn dieses Flag nicht angegeben und eine Legende registriert ist, wird RSC für den gesamten Datenverkehr deaktiviert, der von Filtern verarbeitet wird, die die Legende für die Aktion des Filters angeben. |
|
Ein Legendentreiber gibt dieses Flag an, wenn eine Legende registriert wird, die auf Ebene 2 hinzugefügt wird, um anzugeben, dass seine KlassifizierungFn2-Legendenfunktion mehrere verkettete NET_BUFFER_LIST-Strukturen klassifizieren kann. Weitere Informationen finden Sie unter Verwenden der Layer-2-Filterung.
Vorsicht
Wenn ein Legendentreiber dieses Flag festlegt, kann er die folgenden Funktionen nicht verwenden, um NET_BUFFER_LISTs zu ändern.
Mit diesem Flagsatz gibt FwpsAllocateCloneNetBufferList0 immer einen INVALID_PARAMETER Fehler zurück. Dies kann unerwartet dazu führen, dass ein 3-Drittanbieter-Callouttreiber die Referenzanzahl von NET_BUFFER_LISTs nicht verwaltet, wodurch Sende- und Empfangsvorgänge beendet werden. |
|
Ein Legendentreiber gibt dieses Flag an, um anzugeben, dass die Legende UDP-Segmentierungsauslagerung (UDP Segmentation Offload, USO) mit Paketen unterstützt, die größer als die MTU des Netzwerkmediums sind. Wenn dieses Flag nicht angegeben und eine Legende registriert wird, wird USO für den gesamten Datenverkehr deaktiviert, der von filtern verarbeitet wird, die die Legende für die Aktion des Filters angeben. Hinweis: Die früheste Version, für die dieses Flag unterstützt wird, ist Windows Insider Preview, Version 10.0.25876. |
|
Ein Legendentreiber gibt dieses Flag an, um anzugeben, dass die Legende udp Receive Offload (URO) mit großen Paketen von bis zu 64K unterstützt. Wenn dieses Flag nicht angegeben und eine Legende registriert ist, wird URO für den gesamten Datenverkehr deaktiviert, der von filtern verarbeitet wird, die die Legende für die Aktion des Filters angeben. Hinweis: Wenn dieses Flag angegeben ist, dürfen Legenden eingehende URO-Pakete nicht klonen und erneut auswerfen. |
classifyFn
Ein Zeiger auf die Legendentreiberfunktion klassifizierenFn2 . Die Filter-Engine ruft diese Funktion auf, wenn Netzwerkdaten vorhanden sind, die von der Legende verarbeitet werden sollen.
notifyFn
Ein Zeiger auf die Funktion notifyFn2 des Legendentreibers. Die Filter-Engine ruft diese Funktion auf, um den Legendentreiber über Ereignisse zu benachrichtigen, die der Legende zugeordnet sind.
flowDeleteFn
Ein Zeiger auf die Legendenfunktion flowDeleteFn des Legendentreibers. Die Filter-Engine ruft diese Funktion immer dann auf, wenn ein Von der Legende verarbeiteter Datenfluss beendet wird.
Wenn ein Legendentreiber den Datenflüssen, die die Legende verarbeitet, keinen Kontext ordnet, sollte dieser Member auf NULL festgelegt werden.
Hinweise
Ein Legendentreiber übergibt einen Zeiger auf eine initialisierte FWPS_CALLOUT2-Struktur an die FwpsCalloutRegister2-Funktion , wenn er eine Legende beim Filtermodul registriert.
Eine Legende kann das FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW-Flag nur für Verbindungen festlegen, für die der Treiber an Streamüberprüfungen interessiert ist. Diese Beschriftung wird bei allen anderen Verbindungen ignoriert. Die Leistung wird verbessert, und der Treiber muss keine unnötigen Zustandsdaten verwalten.
Diese Struktur ist im Wesentlichen identisch mit der vorherigen Version , FWPS_CALLOUT1. Der einzige Unterschied besteht darin, dass die Member dieser Version die aktualisierten Versionen der Legendenfunktionszeiger speichern und zusätzliche Flags für Legendentreiber zum Festlegen verfügbar sind.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8. |
Kopfzeile | fwpsk.h (include fwpsk.h) |