FWPS_INJECT_COMPLETE0回调函数 (fwpsk.h)
每当数据包数据(netBufferList参数描述)已注入到网络堆栈中时,筛选器引擎就会调用标注的 完成Fn 标注函数。
语法
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 结构的 状态 成员表示注入作的结果。
克隆或创建 NET_BUFFER_LIST 结构链中的数据包数据通过 数据包注入函数之一成功注入网络堆栈后,将调用 completionFn。
如果调用 FwpsStreamInjectAsync0 函数来注入 NET_BUFFER_LIST 结构的链, 将为链中的每个 NET_BUFFER_LIST 调用一次,每次使用相同的 completionContext 参数在 FwpsStreamInjectAsync0中指定的参数。 在这种情况下,标注驱动程序的 完成Fn 实现应调用 FwpsFreeCloneNetBufferList0 以释放当前指示的 NET_BUFFER_LIST。
筛选器引擎在 IRQL <= DISPATCH_LEVEL 调用标注的 完成Fn 标注函数。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows Vista 开始可用。 |
目标平台 | 窗户 |
标头 | fwpsk.h (包括 Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |