Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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 |