Freigeben über


FWPS_CONNECT_REQUEST0-Struktur (fwpsk.h)

Die FWPS_CONNECT_REQUEST0-Struktur definiert änderbare Daten für die ebenen FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT_V4 und FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT_V6 . Der Legendentreiber verwendet diese Daten, um die Verbindungsinformationen zu überprüfen oder zu ändern.

Beachten SieFWPS_CONNECT_REQUEST0 eine bestimmte Version von FWPS_CONNECT_REQUEST ist. Weitere Informationen finden Sie unter WFP-Version-Independent Namen und Spezifische Windows-Versionen .
 

Syntax

typedef struct _FWPS_CONNECT_REQUEST0 {
  SOCKADDR_STORAGE              localAddressAndPort;
  SOCKADDR_STORAGE              remoteAddressAndPort;
  UINT64                        portReservationToken;
  DWORD                         localRedirectTargetPID;
  struct _FWPS_CONNECT_REQUEST0 *previousVersion;
  UINT64                        modifierFilterId;
  HANDLE                        localRedirectHandle;
  void                          *localRedirectContext;
  SIZE_T                        localRedirectContextSize;
} FWPS_CONNECT_REQUEST0;

Member

localAddressAndPort

Die lokale Transportadresse der Verbindungsanforderung. Dies ist eine IPV4- oder IPV6-Adresse und ein TCP-Port, der als SOCKADDR_STORAGE-Struktur formatiert ist.

remoteAddressAndPort

Die Remotetransportadresse der Verbindungsanforderung. Dies ist eine IPV4- oder IPV6-Adresse und ein TCP/UDP-Port, der als SOCKADDR_STORAGE-Struktur formatiert ist.

portReservationToken

Ein Token, das verwendet wird, um den entsprechenden Port zu reservieren. Das Token wird abgerufen, wenn ein Port reserviert ist, indem entweder CreatePersistentTcpPortReservation oder CreatePersistentUdpPortReservation aufgerufen wird.

localRedirectTargetPID

Der Prozessbezeichner des lokalen Hostprozesses, der Datenverkehr an die in localAddressAndPort angegebene Adresse verarbeitet. Dieser Wert muss festgelegt werden, damit Loopbackumleitungsänderungen von der Engine akzeptiert werden.

previousVersion

Die vorherige Version der Verbindungsanforderungsdaten. Dieses schreibgeschützte Feld zeichnet den Änderungsverlauf der Verbindungsanforderung auf. Wenn die Verbindungsanforderungsdaten zuvor nicht von einem anderen WFP-Filter geändert wurden, wird previousVersion auf NULL festgelegt.

modifierFilterId

Der Wert des FilterId-Elements des Filterparameters der KlassifizierungFn-Funktion. Weitere Informationen zum FilterId-Element finden Sie unter FWPS_FILTER1.

localRedirectHandle

Das Umleitungshandle, das der Legendentreiber durch Aufrufen der Funktion FwpsRedirectHandleCreate0 erstellt hat.

Hinweis Ab Windows 8 muss localRedirectHandle aufgefüllt werden, damit die Umleitung funktioniert.
 

localRedirectContext

Ein Legendentreiberkontextbereich, den der Legendentreiber durch Aufrufen der Funktion ExAllocatePoolWithTag zugeordnet hat.

Hinweis Ab Windows 8 wird der für localRedirectContext zugeordnete Arbeitsspeicher von WFP übernommen und freigegeben, wenn der proxyierte Flow entfernt wird.
 

localRedirectContextSize

Die Größe des von der Legende bereitgestellten Kontextbereichs in Bytes.

Hinweis Unterstützt ab Windows 8.
 

Hinweise

Der Legendentreiber ruft diese Struktur durch Aufrufen der FwpsAcquireWritableLayerDataPointer0-Funktion , die einen Zeiger auf eine FWPS_CONNECT_REQUEST0-Struktur über den writableLayerData-Parameter zurückgibt. Die Funktion klassifizierenFn kann die Parameter der Verbindungsanforderung ändern, z. B. das Umleiten der lokalen oder Remote-Transportadresse oder des Ports an eine andere Adresse oder einen anderen Port. Wenn die Parameter der Verbindungsanforderung geändert werden, muss die klassifizierenFn-Funktion folgendes ausführen:

  • Nehmen Sie alle Änderungen an der FWPS_CONNECT_REQUEST0-Struktur vor , die von FwpsAcquireWritableLayerDataPointer0 zurückgegeben wurde. Nur die Member remoteAddressAndPort, portReservationToken, localRedirectTargetPID, localRedirectHandle, localRedirectContext und localRedirectContextSize können geändert werden.
  • Aufruf FwpsApplyModifiedLayerData0 mit dem modifiedLayerData-Parameter , der auf die Adresse der FWPS_CONNECT_REQUEST0-Struktur festgelegt ist, auch wenn der Legendentreiber keine Daten geändert hat. Dieser Wert muss mit dem Parameterwert modifiedLayerData übereinstimmen, der über zurückgegeben wird. FwpsAcquireWritableLayerDataPointer0.
Diese Struktur fungiert als verknüpfte Liste, die einen Datensatz aller Änderungen enthält, die von anderen Legendentreibern vorgenommen wurden. Es gibt Informationen zu früheren Versionen, wenn das previousVersion-Element nicht NULL ist. Um den vollständigen Versionsverlauf zu untersuchen, muss der Legendentreiber weiterhin den previousVersion-Member jeder Struktur in der Liste untersuchen, bis er auf NULL festgelegt ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 7.
Kopfzeile fwpsk.h (include Fwpsk.h)

Weitere Informationen

ExAllocatePoolWithTag

FWPS_FILTER1

FwpsAcquireWritableLayerDataPointer0

FwpsApplyModifiedLayerData0

FwpsRedirectHandleCreate0

SOCKADDR_STORAGE

Verwenden von Binden oder Verbinden der Umleitung

klassifizierenFn