次の方法で共有


FWPS_CONNECT_REQUEST0構造体 (fwpsk.h)

FWPS_CONNECT_REQUEST0 構造体は、FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT_V4 レイヤーと FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT_V6 レイヤーの変更可能なデータを定義します。 コールアウト ドライバーは、このデータを使用して接続情報を検査または変更します。

注意FWPS_CONNECT_REQUEST0 は、FWPS_CONNECT_REQUESTの特定のバージョンです。 詳細については、「WFP Version-Independent 名の と Windows の特定のバージョンを対象とする」を参照してください。
 

構文

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;

メンバーズ

localAddressAndPort

接続要求のローカル トランスポート アドレス。 これは、SOCKADDR_STORAGE 構造体として書式設定された IPV4 または IPV6 アドレスと TCP ポートです。

remoteAddressAndPort

接続要求のリモート トランスポート アドレス。 これは、IPV4 または IPV6 アドレスと、SOCKADDR_STORAGE 構造体として書式設定された TCP/UDP ポートです。

portReservationToken

適切なポートを予約するために使用されるトークン。 このトークンは、CreatePersistentTcpPortReservation または CreatePersistentUdpPortReservation 呼び出すことによって、ポートが予約されている場合に取得されます。

localRedirectTargetPID

localAddressAndPort で指定されたアドレスへのトラフィック処理するローカル ホスト プロセスのプロセス識別子。 ループバック リダイレクトの変更をエンジンが受け入れるには、この値を設定する必要があります。

previousVersion

以前のバージョンの接続要求データ。 この読み取り専用フィールドには、接続要求の変更履歴が記録されます。 接続要求データが別の WFP フィルターによって以前に変更されていない場合は、previousVersion NULL 設定されます。

modifierFilterId

FilterIdclassifyFn 関数の filter パラメーターのメンバーの値。 FilterId メンバーの詳細については、「FWPS_FILTER1」を参照してください。

localRedirectHandle

FwpsRedirectHandleCreate0 関数を呼び出すことによってコールアウト ドライバーが作成したリダイレクト ハンドル。

Windows 8 以降では、リダイレクトを機能させるには、localRedirectHandle を設定する必要があります。
 

localRedirectContext

ExAllocatePoolWithTag 関数を呼び出すことによってコールアウト ドライバーが割り当てた引き出しドライバー コンテキスト領域。

注意 Windows 8 以降では、localRedirectContext に割り当てられたメモリの所有権は WFP によって取得され、プロキシされたフローが削除されると解放されます。
 

localRedirectContextSize

吹き出しで指定されたコンテキスト領域のサイズ (バイト単位)。

Windows 8 以降でサポートされています。
 

備考

引き出しドライバーは、次の呼び出しを呼び出すことによって、この構造体を取得します。fwpsAcquireWritableLayerDataPointer0 関数を します。この関数は、書き込み可能なLayerData パラメーターを介して FWPS_CONNECT_REQUEST0 構造体へのポインターを返します。 classifyFn 関数は、ローカルまたはリモートのトランスポート アドレスまたはポートを別のアドレスまたはポートにリダイレクトするなど、接続要求のパラメーターを変更できます。 接続要求のパラメーターを変更する場合、classifyFn 関数は次の操作を行う必要があります。

  • FwpsAcquireWritableLayerDataPointer0 によって返された FWPS_CONNECT_REQUEST0 構造体に対するすべての変更を行います。 remoteAddressAndPortportReservationTokenlocalRedirectTargetPIDlocalRedirectHandlelocalRedirectContext、localRedirectContextSize メンバー のみ変更できます。
  • 呼び出しfwpsApplyModifiedLayerData0 modifiedLayerData パラメーターを FWPS_CONNECT_REQUEST0 構造体のアドレスに設定して します(コールアウト ドライバーがデータを変更しなかった場合でも)。 この値は、modifiedLayerData パラメーター値と同じである必要があります。FwpsAcquireWritableLayerDataPointer0 します。
この構造体は、他の引き出し線ドライバーによって行われたすべての変更のレコードを含むリンク リストとして機能します。 previousVersion メンバーが NULL されていない場合は、以前のバージョン情報があります。 完全なバージョン履歴を調べるには、引き出し線ドライバーは、NULLに設定されるまで、リスト内の各構造体の previousVersion メンバーを調べ続ける必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 7 以降で使用できます。
ヘッダー fwpsk.h (Fwpsk.h を含む)

関連項目

ExAllocatePoolWithTag

FWPS_FILTER1

FwpsAcquireWritableLayerDataPointer0

FwpsApplyModifiedLayerData0

FwpsRedirectHandleCreate0

SOCKADDR_STORAGE

バインドまたは接続リダイレクト を使用した

classifyFn