fwpmtypes.h) (FWPM_PROVIDER_CONTEXT2 结构

FWPM_PROVIDER_CONTEXT2 结构存储与提供程序上下文关联的状态。 FWPM_PROVIDER_CONTEXT0 可用。

语法

typedef struct FWPM_PROVIDER_CONTEXT2_ {
  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_POLICY2    *ikeQmTunnelPolicy;
    IPSEC_TRANSPORT_POLICY2 *authipQmTransportPolicy;
    IPSEC_TUNNEL_POLICY2    *authipQmTunnelPolicy;
    IKEEXT_POLICY2          *ikeMmPolicy;
    IKEEXT_POLICY2          *authIpMmPolicy;
    FWP_BYTE_BLOB           *dataBuffer;
    FWPM_CLASSIFY_OPTIONS0  *classifyOptions;
    IPSEC_TUNNEL_POLICY2    *ikeV2QmTunnelPolicy;
    IPSEC_TRANSPORT_POLICY2 *ikeV2QmTransportPolicy;
    IKEEXT_POLICY2          *ikeV2MmPolicy;
    IPSEC_DOSP_OPTIONS0     *idpOptions;
  };
  UINT64                     providerContextId;
} FWPM_PROVIDER_CONTEXT2;

成员

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 时可用。

providerContextId

类型: UINT64

标识上下文的 LUID。 这是存储在引用提供程序上下文的筛选器 的FWPS_FILTER1 结构中的上下文值。 WDK 中记录了FWPS_FILTER1结构。

注解

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

最后一个元素是在获取/枚举对象时返回的其他信息。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
标头 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 结构