FWPS_INJECT_COMPLETE0回调函数 (fwpsk.h)

只要数据包数据(由其中一个数据包注入函数中的 netBufferList 参数描述)已注入网络堆栈,筛选器引擎就会调用标注的 completionFn 标注函数。

语法

FWPS_INJECT_COMPLETE0 FwpsInjectComplete0;

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

参数

[in] context

指向标注驱动程序调用的数据包注入函数之一的 completionContext 参数的指针。

[in, out] netBufferList

在标注驱动程序调用的某个数据包注入函数netBufferList 参数中传递的指针。

[in] dispatchLevel

一个 值,该值指示调用 completionFn 标注函数的 IRQL。 如果此参数为 TRUE,则会在 IRQL = DISPATCH_LEVEL调用 completionFn 标注函数。 如果此参数为 FALSE,则会在 IRQL < DISPATCH_LEVEL调用 completionFn 标注函数。

返回值

备注

FWPS_INJECT_COMPLETE0类型定义为指向 completionFn 函数的指针,如下所示:

typedef void (NTAPI *FWPS_INJECT_COMPLETE0) completionFn

NetBufferList 指向的 NET_BUFFER_LIST 结构的 Status 成员指示注入操作的结果。

在某个数据包注入函数成功将克隆或创建的 NET_BUFFER_LIST 结构链中的 数据包数据注入网络堆栈后,将调用 completionFn

如果调用 FwpsStreamInjectAsync0 函数来注入NET_BUFFER_LIST结构链,则将针对链中的每个NET_BUFFER_LIST调用一次 completionFn,每次使用 FwpsStreamInjectAsync0 中指定的相同 completionContext 参数。 在这种情况下,标注驱动程序的 completionFn 实现应调用 FwpsFreeCloneNetBufferList0 以释放当前指示 NET_BUFFER_LIST

筛选器引擎在 IRQL <= DISPATCH_LEVEL调用标注的 completionFn 标注函数。

要求

要求
最低受支持的客户端 从 Windows Vista 开始可用。
目标平台 Windows
标头 fwpsk.h (包括 Fwpsk.h)
IRQL <= DISPATCH_LEVEL

另请参阅

标注驱动程序标注函数

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsFreeCloneNetBufferList0

FwpsInjectionHandleCreate0

FwpsInjectionHandleDestroy0

FwpsStreamInjectAsync0

NET_BUFFER_LIST

数据包注入函数