fwpsk.h) (FWPS_CONNECT_REQUEST0 结构
FWPS_CONNECT_REQUEST0 结构定义FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT_V4层和FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT_V6层的可修改数据。 标注驱动程序使用此数据来检查或修改连接信息。
语法
typedef struct _FWPS_CONNECT_REQUEST0 {
SOCKADDR_STORAGE localAddressAndPort;
SOCKADDR_STORAGE remoteAddressAndPort;
UINT64 portReservationToken;
DWORD localRedirectTargetPID;
struct _FWPS_CONNECT_REQUEST0 *previousVersion;
UINT64 modifierFilterId;
HANDLE localRedirectHandle;
void *localRedirectContext;
SIZE_T localRedirectContextSize;
} FWPS_CONNECT_REQUEST0;
成员
localAddressAndPort
连接请求的本地传输地址。 这是格式化为 SOCKADDR_STORAGE 结构的 IPV4 或 IPV6 地址和 TCP 端口。
remoteAddressAndPort
连接请求的远程传输地址。 这是格式化为 SOCKADDR_STORAGE 结构的 IPV4 或 IPV6 地址和 TCP/UDP 端口。
portReservationToken
用于保留相应端口的令牌。 通过调用 CreatePersistentTcpPortReservation 或 CreatePersistentUdpPortReservation 保留端口时获取令牌。
localRedirectTargetPID
将处理 localAddressAndPort 中指定的地址的流量的本地主机进程的进程标识符。 必须设置此值,才能让引擎接受环回重定向更改。
previousVersion
以前版本的连接请求数据。 此只读字段记录连接请求的修改历史记录。 如果连接请求数据以前未由其他 WFP 筛选器修改, 则 previousVersion 将设置为 NULL。
modifierFilterId
classifyFn 函数的筛选器参数的 FilterId 成员的值。 有关 FilterId 成员的详细信息,请参阅 FWPS_FILTER1。
localRedirectHandle
标注驱动程序通过调用 FwpsRedirectHandleCreate0 函数创建的重定向句柄。
localRedirectContext
标注驱动程序通过调用 ExAllocatePoolWithTag 函数分配的标注驱动程序上下文区域。
localRedirectContextSize
标注提供的上下文区域的大小(以字节为单位)。
注解
标注驱动程序通过调用 获取此结构 FwpsAcquireWritableLayerDataPointer0 函数,它通过 writableLayerData 参数返回指向 FWPS_CONNECT_REQUEST0 结构的指针。 classifyFn 函数可以修改连接请求的参数,例如将本地或远程传输地址或端口重定向到另一个地址或端口。 如果它修改了连接请求的参数,则 classifyFn 函数必须执行以下操作:
- 对 FwpsAcquireWritableLayerDataPointer0 返回的 FWPS_CONNECT_REQUEST0 结构进行所有更改。 只能修改 remoteAddressAndPort、 portReservationToken、 localRedirectTargetPID、 localRedirectHandle、 localRedirectContext 和 localRedirectContextSize 成员。
- 调用 FwpsApplyModifiedLayerData0 ,将 modifiedLayerData 参数设置为 FWPS_CONNECT_REQUEST0 结构的地址,即使标注驱动程序未修改任何数据也是如此。 此值必须与通过 返回的 modifiedLayerData 参数值相同 FwpsAcquireWritableLayerDataPointer0。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 7 开始可用。 |
标头 | fwpsk.h (包括 Fwpsk.h) |