FWPM_PROVIDER_CONTEXT1 structure (fwpmtypes.h)
The FWPM_PROVIDER_CONTEXT1 structure stores the state associated with a provider context. FWPM_PROVIDER_CONTEXT2 is available. For Windows Vista, FWPM_PROVIDER_CONTEXT0 is available.
Syntax
typedef struct FWPM_PROVIDER_CONTEXT1_ {
GUID providerContextKey;
FWPM_DISPLAY_DATA0 displayData;
UINT32 flags;
GUID *providerKey;
FWP_BYTE_BLOB providerData;
FWPM_PROVIDER_CONTEXT_TYPE type;
union {
IPSEC_KEYING_POLICY0 *keyingPolicy;
IPSEC_TRANSPORT_POLICY1 *ikeQmTransportPolicy;
IPSEC_TUNNEL_POLICY1 *ikeQmTunnelPolicy;
IPSEC_TRANSPORT_POLICY1 *authipQmTransportPolicy;
IPSEC_TUNNEL_POLICY1 *authipQmTunnelPolicy;
IKEEXT_POLICY1 *ikeMmPolicy;
IKEEXT_POLICY1 *authIpMmPolicy;
FWP_BYTE_BLOB *dataBuffer;
FWPM_CLASSIFY_OPTIONS0 *classifyOptions;
IPSEC_TUNNEL_POLICY1 *ikeV2QmTunnelPolicy;
IKEEXT_POLICY1 *ikeV2MmPolicy;
IPSEC_DOSP_OPTIONS0 *idpOptions;
};
UINT64 providerContextId;
} FWPM_PROVIDER_CONTEXT1;
Members
providerContextKey
Uniquely identifies the provider context. If the GUID is zero-initialized in the call to FwpmProviderContextAdd1, Base Filtering Engine (BFE) will generate one.
displayData
Allows provider contexts to be annotated in a human-readable form. The FWPM_DISPLAY_DATA0 structure is required.
flags
Possible values:
Provider context flag | Meaning |
---|---|
FWPM_PROVIDER_CONTEXT_FLAG_PERSISTENT | The object is persistent, that is, it survives across BFE stop/start. |
providerKey
GUID of the policy provider that manages this object.
providerData
An FWP_BYTE_BLOB structure that contains optional provider-specific data that allows providers to store additional context info with the object.
type
A FWPM_PROVIDER_CONTEXT_TYPE value specifying the type of provider context..
keyingPolicy
Available when type is FWPM_IPSEC_KEYING_CONTEXT.
See IPSEC_KEYING_POLICY0 for more information.
ikeQmTransportPolicy
Available when type is FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT.
See IPSEC_TRANSPORT_POLICY1 for more information.
ikeQmTunnelPolicy
Available when type is FWPM_IPSEC_IKE_QM_TUNNEL_CONTEXT.
See IPSEC_TUNNEL_POLICY1 for more information.
authipQmTransportPolicy
Available when type is FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT.
See IPSEC_TRANSPORT_POLICY1 for more information.
authipQmTunnelPolicy
Available when type is FWPM_IPSEC_AUTHIP_QM_TUNNEL_CONTEXT.
See IPSEC_TUNNEL_POLICY1 for more information.
ikeMmPolicy
Available when type is FWPM_IPSEC_IKE_MM_CONTEXT.
See IKEEXT_POLICY1 for more information.
authIpMmPolicy
Available when type is FWPM_IPSEC_AUTHIP_MM_CONTEXT.
See IKEEXT_POLICY1 for more information.
dataBuffer
Available when type is FWPM_GENERAL_CONTEXT.
See FWP_BYTE_BLOB for more information.
classifyOptions
Available when type is FWPM_CLASSIFY_OPTIONS_CONTEXT.
See FWPM_CLASSIFY_OPTIONS0 for more information.
ikeV2QmTunnelPolicy
Available when type is FWPM_IPSEC_IKEV2_QM_TUNNEL_CONTEXT.
See IPSEC_TUNNEL_POLICY1 for more information.
ikeV2MmPolicy
Available when type is FWPM_IPSEC_IKEV2_MM_CONTEXT.
See IKEEXT_POLICY1 for more information.
idpOptions
Available when type is FWPM_IPSEC_DOSP_CONTEXT.
See IPSEC_DOSP_OPTIONS0 for more information.
providerContextId
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
Requirement | Value |
---|---|
Minimum supported client | Windows 7 [desktop apps only] |
Minimum supported server | Windows Server 2008 R2 [desktop apps only] |
Header | fwpmtypes.h |