fwpmtypes.h) (FWPM_PROVIDER_CONTEXT3 结构

存储与提供程序上下文关联的状态。 提供FWPM_PROVIDER_CONTEXT0FWPM_PROVIDER_CONTEXT1FWPM_PROVIDER_CONTEXT2

语法

typedef struct FWPM_PROVIDER_CONTEXT3_ {
  GUID                       providerContextKey;
  FWPM_DISPLAY_DATA0         displayData;
  UINT32                     flags;
  GUID                       *providerKey;
  FWP_BYTE_BLOB              providerData;
  FWPM_PROVIDER_CONTEXT_TYPE type;
  union {
    IPSEC_KEYING_POLICY1                     *keyingPolicy;
    IPSEC_TRANSPORT_POLICY2                  *ikeQmTransportPolicy;
    IPSEC_TUNNEL_POLICY3                     *ikeQmTunnelPolicy;
    IPSEC_TRANSPORT_POLICY2                  *authipQmTransportPolicy;
    IPSEC_TUNNEL_POLICY3                     *authipQmTunnelPolicy;
    IKEEXT_POLICY2                           *ikeMmPolicy;
    IKEEXT_POLICY2                           *authIpMmPolicy;
    FWP_BYTE_BLOB                            *dataBuffer;
    FWPM_CLASSIFY_OPTIONS0                   *classifyOptions;
    IPSEC_TUNNEL_POLICY3                     *ikeV2QmTunnelPolicy;
    IPSEC_TRANSPORT_POLICY2                  *ikeV2QmTransportPolicy;
    IKEEXT_POLICY2                           *ikeV2MmPolicy;
    IPSEC_DOSP_OPTIONS0                      *idpOptions;
    FWPM_NETWORK_CONNECTION_POLICY_SETTINGS0 *networkConnectionPolicy;
  };
  UINT64                     providerContextId;
} FWPM_PROVIDER_CONTEXT3;

成员

providerContextKey

类型: GUID

唯一标识提供程序上下文。 如果在调用 FwpmProviderContextAdd2 时 GUID 为零初始化,则基本筛选引擎 (BFE) 将生成一个。

displayData

类型: FWPM_DISPLAY_DATA0

允许以用户可读的形式批注提供程序上下文。 需要FWPM_DISPLAY_DATA0结构。

flags

类型: UINT32

可能的值:

提供程序上下文标志 含义
FWPM_PROVIDER_CONTEXT_FLAG_PERSISTENT 对象是永久性的,也就是说,它在 BFE 停止/启动中幸存下来。
FWPM_PROVIDER_CONTEXT_FLAG_DOWNLEVEL 保留以供内部使用。

providerKey

类型: GUID*

管理此对象的策略提供程序的 GUID。

providerData

类型: FWP_BYTE_BLOB

特定于提供程序的可选数据,允许提供程序使用 对象存储其他上下文信息。

type

类型: FWPM_PROVIDER_CONTEXT_TYPE

提供程序上下文的类型。

keyingPolicy

类型: IPSEC_KEYING_POLICY1*

类型为 FWPM_IPSEC_KEYING_CONTEXT 时可用。

ikeQmTransportPolicy

类型: IPSEC_TRANSPORT_POLICY2*

类型为 FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT 时可用。

ikeQmTunnelPolicy

类型: IPSEC_TUNNEL_POLICY2*

类型FWPM_IPSEC_IKE_QM_TUNNEL_CONTEXT 时可用。

authipQmTransportPolicy

类型: IPSEC_TRANSPORT_POLICY2*

[case () ][unique]

authipQmTunnelPolicy

类型: IPSEC_TUNNEL_POLICY2*

类型为 FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT 时可用。

ikeMmPolicy

类型: IKEEXT_POLICY2*

类型FWPM_IPSEC_IKE_MM_CONTEXT 时可用。

authIpMmPolicy

类型: IKEEXT_POLICY2*

类型FWPM_IPSEC_AUTHIP_MM_CONTEXT 时可用。

dataBuffer

类型: FWP_BYTE_BLOB*

类型为 FWPM_GENERAL_CONTEXT 时可用。

classifyOptions

类型: FWPM_CLASSIFY_OPTIONS0*

类型为 FWPM_CLASSIFY_OPTIONS_CONTEXT 时可用。

ikeV2QmTunnelPolicy

类型: IPSEC_TUNNEL_POLICY2*

类型为 FWPM_IPSEC_IKEV2_QM_TUNNEL_CONTEXT 时可用。

ikeV2QmTransportPolicy

类型: IPSEC_TRANSPORT_POLICY2*

类型为 FWPM_IPSEC_IKEV2_QM_TRANSPORT_CONTEXT 时可用。

ikeV2MmPolicy

类型: IKEEXT_POLICY2*

类型FWPM_IPSEC_IKEV2_MM_CONTEXT 时可用。

idpOptions

类型: IPSEC_DOSP_OPTIONS0*

类型FWPM_IPSEC_DOSP_CONTEXT 时可用。

networkConnectionPolicy

指向包含网络连接策略数的 FWPM_NETWORK_CONNECTION_POLICY_SETTINGS0 结构的指针,以及这些策略已设置格式的列表。

providerContextId

类型: UINT64

标识上下文的 LUID。 这是存储在引用提供程序上下文的筛选器 的FWPS_FILTER1 结构中的上下文值。 WDK 中记录了FWPS_FILTER1结构。 这是获取/枚举对象时返回的其他信息。

注解

联合的前七个元素是在添加对象时提供的信息。

要求

要求
Header fwpmtypes.h

另请参阅

FWPM_DISPLAY_DATA0

FWPM_PROVIDER_CONTEXT_TYPE

FWP_BYTE_BLOB

FwpmProviderContextAdd2

IKEEXT_POLICY2

IPSEC_DOSP_OPTIONS0

IPSEC_KEYING_POLICY0

IPSEC_TRANSPORT_POLICY2

IPSEC_TUNNEL_POLICY2

Windows 筛选平台 API 结构