FWPM_PROVIDER_CONTEXT3 structure (fwpmtypes.h)
Stores the state associated with a provider context. FWPM_PROVIDER_CONTEXT0, FWPM_PROVIDER_CONTEXT1, and FWPM_PROVIDER_CONTEXT2 are available.
Syntax
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;
Members
providerContextKey
Type: GUID
Uniquely identifies the provider context. If the GUID is zero-initialized in the call to FwpmProviderContextAdd2, then Base Filtering Engine (BFE) will generate one.
displayData
Type: FWPM_DISPLAY_DATA0
Allows provider contexts to be annotated in a human-readable form. The FWPM_DISPLAY_DATA0 structure is required.
flags
Type: UINT32
Possible values:
Provider context flag | Meaning |
---|---|
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.
networkConnectionPolicy
A pointer to a FWPM_NETWORK_CONNECTION_POLICY_SETTINGS0 structure containing the number of network connection polices, and a list of those policies formatted.
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. This is additional information returned when getting/enumerating objects.
Remarks
The first seven elements of the union are information supplied when adding objects.
Requirements
Requirement | Value |
---|---|
Header | fwpmtypes.h |