fwpsk.h) (FWPS_TRANSPORT_SEND_PARAMS1 结构
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 标注函数的地址。
缓冲区可以包含) (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) |