FWPS_TRANSPORT_SEND_PARAMS1 構造体 (fwpsk.h)
FWPS_TRANSPORT_SEND_PARAMS1構造体は、送信トランスポート層パケットのプロパティを定義します。
構文
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 を含む) |