FWPS_TRANSPORT_SEND_PARAMS0 構造体 (fwpsk.h)

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

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

構文

typedef struct FWPS_TRANSPORT_SEND_PARAMS0_ {
  UCHAR      *remoteAddress;
  SCOPE_ID   remoteScopeId;
  WSACMSGHDR *controlData;
  ULONG      controlDataLength;
} FWPS_TRANSPORT_SEND_PARAMS0;

メンバー

remoteAddress

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

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

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

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 メンバーの長さ (バイト単位)。

要件

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

こちらもご覧ください

CMSGHDR

FWPS_INCOMING_METADATA_VALUES0

FWPS_TRANSPORT_SEND_PARAMS1

FwpsInjectTransportSendAsync0

WSASendMsg

classifyFn