FWPS_TRANSPORT_SEND_PARAMS1 構造体 (fwpsk.h)

FWPS_TRANSPORT_SEND_PARAMS1構造体は、送信トランスポート層パケットのプロパティを定義します。

FWPS_TRANSPORT_SEND_PARAMS1は、Windows 7 以降で使用されるFWPS_TRANSPORT_SEND_PARAMSの特定のバージョンであることに注意してください。 詳細については、「 WFP Version-Independent 名と特定のバージョンの Windows を対象 とする」を参照してください。 Windows Vista の場合は、 FWPS_TRANSPORT_SEND_PARAMS0 を使用できます。
 

構文

typedef struct FWPS_TRANSPORT_SEND_PARAMS1_ {
  UCHAR      *remoteAddress;
  SCOPE_ID   remoteScopeId;
  WSACMSGHDR *controlData;
  ULONG      controlDataLength;
  UCHAR      *headerIncludeHeader;
  ULONG      headerIncludeHeaderLength;
} FWPS_TRANSPORT_SEND_PARAMS1;

メンバー

remoteAddress

ソケットの送信先となるリモート IP アドレスを指定するバッファーへのポインター。 このメンバーによって指定されたリモート アドレスは、コールアウト ドライバーの classifyFn 吹き出し関数に受信データ値の 1 つとして渡されるアドレスとは異なる場合があります。

バッファーには、IPv4 アドレス (4 バイト) または IPv6 アドレス (16 バイト) を含めることができます。また、アドレスはネットワークのバイト順に指定する必要があります。 IP バージョンは、 で指定された AddressFamily パラメーターと一致している必要があります。 FwpsInjectTransportSendAsync1 関数。

挿入完了関数が呼び出されるまで、バッファーは有効なままである必要があります。

remoteScopeId

リモート IP アドレスのスコープ識別子を含む SCOPE_ID 構造体。 スコープ識別子は、 の remoteScopeId メンバーを介して吹き出しに提供されます。 FWPS_INCOMING_METADATA_VALUES0 吹き出しドライバーの classifyFn 吹き出し関数に渡される構造体です。 SCOPE_ID構造体は、Ws2ipdef.h で次のように定義されます。

typedef struct {
  union {
    struct {
      ULONG  Zone : 28;
      ULONG  Level : 4;
    };
    ULONG  Value;
  };
} SCOPE_ID, *PSCOPE_ID;

controlData

WSASendMsg 関数で指定されたソケット制御データを含むバッファーへの省略可能なポインター。 WSACMSGHDR タイプの詳細については、CMSGHDR を参照してください。

存在する場合、ソケット コントロール データは、 の controlData メンバーを持つ吹き出しに提供されます。 FWPS_INCOMING_METADATA_VALUES0 吹き出しドライバーの classifyFn 吹き出し関数に渡される構造体です。

ソケット コントロール データが NULL でない場合は、呼び出しドライバーの classifyFn 関数の実装で深くコピーする必要があります。また、挿入完了関数が呼び出されるまで controlData バッファーを有効にしておく必要があります。

controlDataLength

controlData メンバーの長さ (バイト単位)。

headerIncludeHeader

含めるトランスポート ヘッダー。

headerIncludeHeaderLength

headerIncludeHeader メンバーの長さ (バイト単位)。

要件

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

こちらもご覧ください

CMSGHDR

FWPS_INCOMING_METADATA_VALUES0 FwpsInjectTransportSendAsync1

WSASendMsg

classifyFn