FWPS_INJECT_COMPLETE0 callback function (fwpsk.h)

The filter engine calls a callout's completionFn callout function whenever packet data, described by the netBufferList parameter in one of the packet injection functions, has been injected into the network stack.

Syntax

FWPS_INJECT_COMPLETE0 FwpsInjectComplete0;

void FwpsInjectComplete0(
  [in]      void *context,
  [in, out] NET_BUFFER_LIST *netBufferList,
  [in]      BOOLEAN dispatchLevel
)
{...}

Parameters

[in] context

A pointer to the completionContext parameter of one of the packet injection functions called by the callout driver.

[in, out] netBufferList

The pointer passed in the netBufferList parameter of one of the packet injection functions called by the callout driver.

[in] dispatchLevel

A value that indicates the IRQL at which the completionFn callout function is being called. If this parameter is TRUE, the completionFn callout function is being called at IRQL = DISPATCH_LEVEL. If this parameter is FALSE, the completionFn callout function is being called at an IRQL < DISPATCH_LEVEL.

Return value

None

Remarks

The FWPS_INJECT_COMPLETE0 type is defined as a pointer to the completionFn function as follows:

typedef void (NTAPI *FWPS_INJECT_COMPLETE0) completionFn

The Status member of the NET_BUFFER_LIST structure pointed to by NetBufferList indicates the result of the injection operation.

After packet data in a cloned or created NET_BUFFER_LIST structure chain has successfully been injected into the network stack by one of the packet injection functions, completionFn is called.

If the FwpsStreamInjectAsync0 function is called to inject a chain of NET_BUFFER_LIST structures, completionFn will be called once for each NET_BUFFER_LIST in the chain, each time using the same completionContext parameter specified in FwpsStreamInjectAsync0. In this case, the callout driver's completionFn implementation should call FwpsFreeCloneNetBufferList0 to free the currently indicated NET_BUFFER_LIST.

The filter engine calls a callout's completionFn callout function at IRQL <= DISPATCH_LEVEL.

Requirements

Requirement Value
Minimum supported client Available starting with Windows Vista.
Target Platform Windows
Header fwpsk.h (include Fwpsk.h)
IRQL <= DISPATCH_LEVEL

See also

Callout Driver Callout Functions

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsFreeCloneNetBufferList0

FwpsInjectionHandleCreate0

FwpsInjectionHandleDestroy0

FwpsStreamInjectAsync0

NET_BUFFER_LIST

Packet Injection Functions