FWPM_CALLOUT0 structure

The FWPM_CALLOUT0 structure defines the data that is required for a callout driver to add a callout to the filter engine.

Note FWPM_CALLOUT0 is a specific version of FWPM_CALLOUT. See WFP Version-Independent Names and Targeting Specific Versions of Windows for more information.

Syntax

typedef struct FWPM_CALLOUT0_ {
  GUID               calloutKey;
  FWPM_DISPLAY_DATA0 displayData;
  UINT32             flags;
  GUID               *providerKey;
  FWP_BYTE_BLOB      providerData;
  GUID               applicableLayer;
  UINT32             calloutId;
} FWPM_CALLOUT0;

Members

  • calloutKey
    A GUID that uniquely identifies the callout. This must be the same value as the GUID that is specified for the calloutKey member of the FWPS_CALLOUT0 structure when the callout driver registers the callout with the filter engine.

  • displayData
    An FWPM_DISPLAY_DATA0 structure that specifies a name and description for the callout.

  • flags
    Flags that specify callout-specific parameters. Possible flags are:

    • FWPM_CALLOUT_FLAG_PERSISTENT
      This flag indicates that the callout is to be persistent across system reboots. A persistent callout can be referenced by boot-time and persistent filters.

    • FWPM_CALLOUT_FLAG_REGISTERED
      This flag indicates that an existing callout is registered. For more information on registering callouts, see FwpsCalloutRegister0. Do not set this flag when adding new callouts.

    • FWPM_CALLOUT_FLAG_USES_PROVIDER_CONTEXT
      This flag indicates that the callout uses the provider context from the corresponding FWPS_FILTER0 filter structure.

  • providerKey
    A pointer to a GUID that identifies the provider with which the callout that is being added to the filter engine is associated. If the callout is not associated with a particular provider, a callout driver should set this member to NULL. For more information about providers, see the Windows Filtering Platform section in the Microsoft Windows SDK documentation.

  • providerData
    A FWP_BYTE_BLOB structure that describes any provider-specific data that is associated with the callout. If the callout is not associated with a particular provider or if the provider does not associate any provider-specific data with callouts, a callout driver should set the Size member of this structure to zero and the Data member of this structure to NULL.

  • applicableLayer
    The management identifier for the filtering layer at which the callout is applicable. For more information, see Management Filtering Layer Identifiers.

  • calloutId
    This member is not used when a callout driver uses the FWPM_CALLOUT0 structure to add a callout to the filter engine.

    If a callout driver retrieves an FWPM_CALLOUT0 structure from the filter engine, this member contains the run-time identifier for the callout.

Remarks

A callout driver passes a pointer to an initialized FWPM_CALLOUT0 structure to the FwpmCalloutAdd0 function when adding a callout to the filter engine.

Callout drivers do not typically add their callouts to the filter engine. In most situations this is handled by a user-mode Windows Filtering Platform management application.

Requirements

Version

Available starting with Windows Vista.

Header

Fwpmtypes.h (include Fwpmk.h)

See also

FWP_BYTE_BLOB

FWPM_DISPLAY_DATA0

FWPS_CALLOUT0

FWPS_FILTER0

FwpmCalloutAdd0

FwpsCalloutRegister0

Send comments about this topic to Microsoft