Compartilhar via


FWPS_CALLOUT0 (Compact 2013)

3/26/2014

This structure defines the data that is required for a callout driver to register a callout with the WFP Filter Engine.

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 as follows:

    • 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's classifyFn callout function if there is a context associated with the data flow.
    • FWP_CALLOUT_FLAG_ALLOW_OFFLOAD: A callout driver specifies this flag to indicate that the callout's classifyFn callout function is unaffected by offloading network data processing to offload-capable network adapters. If this flag is not specified, 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's classifyFn 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's notifyFn callout 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'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, 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 bitfield flag for connections on which the driver is interested in performing stream inspections only. This callout is ignored on all other connections. Performance is improved and the driver will not have to maintain unnecessary state data.

Requirements

Header

fwpsk.h

See Also

Reference

WFP Callout Driver Structures
classifyFn
FwpsFlowAssociateContext0
notifyFn
flowDeleteFn
FwpsCalloutRegister0
WFP Callout Driver Reference