FWPS_CONNECT_REQUEST0结构(fwpsk.h)

FWPS_CONNECT_REQUEST0 结构定义 FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT_V4FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT_V6 层的可修改数据。 标注驱动程序使用此数据来检查或修改连接信息。

注释FWPS_CONNECT_REQUEST0 是特定版本的 FWPS_CONNECT_REQUEST。 有关详细信息,请参阅 WFP Version-Independent 名称和面向特定版本的 Windows
 

语法

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

连接请求的本地传输地址。 这是一个 IPV4 或 IPV6 地址,TCP 端口格式化为 SOCKADDR_STORAGE 结构。

remoteAddressAndPort

连接请求的远程传输地址。 这是一个 IPV4 或 IPV6 地址和格式化为 SOCKADDR_STORAGE 结构的 TCP/UDP 端口。

portReservationToken

用于保留相应端口的令牌。 通过调用 CreatePersistentTcpPortReservationCreatePersistentUdpPortReservation来保留端口时,将获取令牌。

localRedirectTargetPID

本地主机进程的进程标识符,将处理 localAddressAndPort中指定的地址的流量。 必须设置此值,以便引擎接受环回重定向更改。

previousVersion

连接请求数据的早期版本。 此只读字段记录连接请求的修改历史记录。 如果连接请求数据之前尚未由另一个 WFP 筛选器修改,previousVersion 将设置为 NULL

modifierFilterId

函数的 筛选器 参数的 FilterId 成员的值。 有关 FilterId 成员的详细信息,请参阅 FWPS_FILTER1

localRedirectHandle

调用 FwpsRedirectHandleCreate0 函数创建的标注驱动程序的重定向句柄。

注释 从 Windows 8 开始,必须填充 localRedirectHandle 才能正常工作。
 

localRedirectContext

调用 exAllocatePoolWithTag 函数分配的标注驱动程序上下文区域。

注释 从 Windows 8 开始,为 localRedirectContext 分配的内存将由 WFP 获取其所有权,并在删除代理流时释放。
 

localRedirectContextSize

标注提供的上下文区域的大小(以字节为单位)。

注意,从 Windows 8 开始支持
 

言论

标注驱动程序通过调用 来获取此结构 FwpsAcquireWritableLayerDataPointer0 函数,该函数通过 writableLayerData 参数返回指向 FWPS_CONNECT_REQUEST0 结构的指针。 分类Fn 函数可以修改连接请求的参数,例如将本地或远程传输地址或端口重定向到另一个地址或端口。 如果它修改了连接请求的参数,则 classifyFn 函数必须执行以下作:

  • FwpsAcquireWritableLayerDataPointer0返回的 FWPS_CONNECT_REQUEST0 结构进行所有更改。 只有 remoteAddressAndPortportReservationTokenlocalRedirectTargetPIDlocalRedirectHandlelocalRedirectContextlocalRedirectContextSize 成员才能修改。
  • FwpsApplyModifiedLayerData0modifiedLayerData 参数设置为 FWPS_CONNECT_REQUEST0 结构的地址,即使标注驱动程序未修改任何数据。 此值必须与通过 返回的 modifiedLayerData 参数值相同 FwpsAcquireWritableLayerDataPointer0
此结构充当链接列表,其中包含其他标注驱动程序所做的所有更改的记录。 如果 previousVersion 成员未 NULL,则存在以前的版本信息。 若要检查完整的版本历史记录,标注驱动程序必须继续检查列表中每个结构的 previousVersion 成员,直到其设置为 NULL

要求

要求 价值
最低支持的客户端 从 Windows 7 开始可用。
标头 fwpsk.h (包括 Fwpsk.h)

另请参阅

ExAllocatePoolWithTag

FWPS_FILTER1

FwpsAcquireWritableLayerDataPointer0

FwpsApplyModifiedLayerData0

FwpsRedirectHandleCreate0

SOCKADDR_STORAGE

使用绑定或连接重定向

分类Fn