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 |