fwpsk.h) (FWPS_TRANSPORT_SEND_PARAMS1 结构

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 标注函数的地址。

缓冲区可以包含) (4 个字节的 IPv4 地址,也可以包含) (16 字节的 IPv6 地址,必须按网络字节顺序指定该地址。 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 开始可用。
标头 fwpsk.h (包括 Fwpsk.h)

另请参阅

CMSGHDR

FWPS_INCOMING_METADATA_VALUES0 FwpsInjectTransportSendAsync1

WSASendMsg

classifyFn