FWPS_CALLOUT0 structure (fwpsk.h)

The FWPS_CALLOUT0 structure defines the data that is required for a callout driver to register a callout with the filter engine.

Note  FWPS_CALLOUT0 is the specific version of FWPS_CALLOUT used in Windows Vista and later. See WFP Version-Independent Names and Targeting Specific Versions of Windows for more information. For Windows 8, FWPS_CALLOUT2 is available. For Windows 7, FWPS_CALLOUT1 is available.
 

Syntax

typedef struct FWPS_CALLOUT0_ {
  GUID                                calloutKey;
  UINT32                              flags;
  FWPS_CALLOUT_CLASSIFY_FN0           classifyFn;
  FWPS_CALLOUT_NOTIFY_FN0             notifyFn;
  FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT0;

Members

calloutKey

A callout driver-defined GUID that uniquely identifies the callout.

flags

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

FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW

A callout driver can specify this flag when registering a callout that will be added at a layer that supports data flows. If this flag is specified, the filter engine calls the callout driver's classifyFn0 callout function only if there is a context associated with the data flow. A callout driver associates a context with a data flow by calling the FwpsFlowAssociateContext0 function.

FWP_CALLOUT_FLAG_ALLOW_OFFLOAD

A callout driver specifies this flag to indicate that the callout driver's classifyFn0 callout function is unaffected by offloading network data processing to offload-capable network interface cards (NICs). If this flag is not specified, then offloading of network data processing is disabled for all traffic that is processed by any filters that specify the callout for the filter's action.

classifyFn

A pointer to the callout driver's classifyFn0 callout function. The filter engine calls this function whenever there is network data to be processed by the callout.

notifyFn

A pointer to the callout driver's notifyFn0 function. The filter engine calls this function to notify the callout driver about events that are associated with the callout.

flowDeleteFn

A pointer to the callout driver's flowDeleteFn callout function. The filter engine calls this function whenever a data flow that is being processed by the callout is terminated.

If a callout driver does not associate a context with the data flows that the callout processes, then this member should be set to NULL.

Remarks

A callout driver passes a pointer to an initialized FWPS_CALLOUT0 structure to the FwpsCalloutRegister0 function when it registers a callout with the filter engine.

A callout can set the FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW flag only for connections on which the driver is interested in performing stream inspections. This callout will be ignored on all other connections. Performance will be improved and the driver will not have to maintain unnecessary state data.

Requirements

Requirement Value
Minimum supported client Available starting with Windows Vista.
Header fwpsk.h (include Fwpsk.h)

See also

FWPS_CALLOUT1

FWPS_CALLOUT2

FwpsCalloutRegister0

classifyFn0

flowDeleteFn

notifyFn0