Export (0) Print
Expand All
Expand Minimize

FWPM_PROVIDER_CONTEXT2 structure

The FWPM_PROVIDER_CONTEXT2 structure stores the state associated with a provider context.

Note  FWPM_PROVIDER_CONTEXT2 is the specific implementation of FWPM_PROVIDER_CONTEXT used in Windows 8. See WFP Version-Independent Names and Targeting Specific Versions of Windows for more information. For Windows 7, FWPM_PROVIDER_CONTEXT1 is available. For Windows Vista, FWPM_PROVIDER_CONTEXT0 is available.

Syntax


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;

Members

providerContextKey

Type: GUID

Uniquely identifies the provider context. If the GUID is zero-initialized in the call to FwpmProviderContextAdd2, Base Filtering Engine (BFE) will generate one.

displayData

Type: FWPM_DISPLAY_DATA0

Allows provider contexts to be annotated in a human-readable form. The name member of the FWPM_DISPLAY_DATA0 structure is required.

flags

Type: UINT32

Possible values:

Provider context flagMeaning
FWPM_PROVIDER_CONTEXT_FLAG_PERSISTENT

The object is persistent, that is, it survives across BFE stop/start.

FWPM_PROVIDER_CONTEXT_FLAG_DOWNLEVEL

Reserved for internal use.

 

providerKey

Type: GUID*

GUID of the policy provider that manages this object.

providerData

Type: FWP_BYTE_BLOB

Optional provider-specific data that allows providers to store additional context info with the object.

type

Type: FWPM_PROVIDER_CONTEXT_TYPE

The type of provider context.

keyingPolicy

Type: IPSEC_KEYING_POLICY1*

Available when type is FWPM_IPSEC_KEYING_CONTEXT.

ikeQmTransportPolicy

Type: IPSEC_TRANSPORT_POLICY2*

Available when type is FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT.

ikeQmTunnelPolicy

Type: IPSEC_TUNNEL_POLICY2*

Available when type is FWPM_IPSEC_IKE_QM_TUNNEL_CONTEXT.

authipQmTransportPolicy

Type: IPSEC_TRANSPORT_POLICY2*

[case()][unique]

authipQmTunnelPolicy

Type: IPSEC_TUNNEL_POLICY2*

Available when type is FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT.

ikeMmPolicy

Type: IKEEXT_POLICY2*

Available when type is FWPM_IPSEC_IKE_MM_CONTEXT.

authIpMmPolicy

Type: IKEEXT_POLICY2*

Available when type is FWPM_IPSEC_AUTHIP_MM_CONTEXT.

dataBuffer

Type: FWP_BYTE_BLOB*

Available when type is FWPM_GENERAL_CONTEXT.

classifyOptions

Type: FWPM_CLASSIFY_OPTIONS0*

Available when type is FWPM_CLASSIFY_OPTIONS_CONTEXT.

ikeV2QmTunnelPolicy

Type: IPSEC_TUNNEL_POLICY2*

Available when type is FWPM_IPSEC_IKEV2_QM_TUNNEL_CONTEXT.

ikeV2QmTransportPolicy

Type: IPSEC_TRANSPORT_POLICY2*

Available when type is FWPM_IPSEC_IKEV2_QM_TRANSPORT_CONTEXT.

ikeV2MmPolicy

Type: IKEEXT_POLICY2*

Available when type is FWPM_IPSEC_IKEV2_MM_CONTEXT.

idpOptions

Type: IPSEC_DOSP_OPTIONS0*

Available when type is FWPM_IPSEC_DOSP_CONTEXT.

providerContextId

Type: UINT64

LUID identifying the context. This is the context value stored in the FWPS_FILTER1 structure for filters that reference a provider context. The FWPS_FILTER1 structure is documented in the WDK.

Remarks

The first seven elements of the union are information supplied when adding objects.

The last element is additional information returned when getting/enumerating objects.

Requirements

Minimum supported client

Windows 8 [desktop apps only]

Minimum supported server

Windows Server 2012 [desktop apps only]

Header

Fwpmtypes.h

IDL

Fwpmtypes.idl

See also

Windows Filtering Platform API Structures
FwpmProviderContextAdd2
FWPM_DISPLAY_DATA0
FWP_BYTE_BLOB
FWPM_PROVIDER_CONTEXT_TYPE
IPSEC_KEYING_POLICY0
IPSEC_TRANSPORT_POLICY2
IPSEC_TUNNEL_POLICY2
IKEEXT_POLICY2
IPSEC_DOSP_OPTIONS0

 

 

Community Additions

ADD
Show:
© 2014 Microsoft