FWPS_VSWITCH_PORT_EVENT_CALLBACK0回调函数 (fwpsk.h)
筛选器引擎调用 vSwitchPortEventNotifyFn (FWPS_VSWITCH_PORT_EVENT_CALLBACK0) 标注函数,以通知标注驱动程序与虚拟交换机 (vSwitch) 端口关联的事件。
语法
FWPS_VSWITCH_PORT_EVENT_CALLBACK0 FwpsVswitchPortEventCallback0;
NTSTATUS FwpsVswitchPortEventCallback0(
[in, optional] void *notifyContext,
[in] void *completionContext,
[in] FWPS_VSWITCH_EVENT_TYPE eventType,
[in] const NDIS_SWITCH_PARAMETERS *vSwitch,
[in] const NDIS_SWITCH_PORT_PARAMETERS *vSwitchPort
)
{...}
参数
[in, optional] notifyContext
指向标注驱动程序提供的上下文的指针。 驱动程序将此指针传递给 FwpsvSwitchEventsSubscribe0 函数的 notifyContext 参数。 此参数是可选的,可以为 NULL。
[in] completionContext
指向标注驱动程序提供的完成上下文的指针。 此参数是可选的,可以为 NULL。
[in] eventType
指定为 FWPS_VSWITCH_EVENT_TYPE 枚举值之一的虚拟交换机 vSwitch 事件的类型。 有关详细信息,请参阅“备注”。
[in] vSwitch
指向包含虚拟交换机相关信息 的 NDIS_SWITCH_PARAMETERS 结构的指针。
[in] vSwitchPort
指向包含 vSwitch 上端口参数 的 NDIS_SWITCH_PORT_PARAMETERS 结构的指针。
返回值
标注的
FWPS_VSWITCH_PORT_EVENT_CALLBACK0 函数返回以下 NTSTATUS 代码之一。
返回代码 | 说明 |
---|---|
|
标注驱动程序接受来自筛选器引擎的通知。 |
|
操作处于挂起状态,稍后将完成。 标注驱动程序将调用 FwpsvSwitchNotifyComplete0 函数来完成挂起的操作。 |
|
出现了错误。 |
注解
标注驱动程序通过调用 FwpsvSwitchEventsSubscribe0 函数注册 vSwitchPortEventNotifyFn 函数。
如果注册了 vSwitchPortEventNotifyFn 回调,标注驱动程序将收到有关创建和删除端口的通知。
如果 eventType 参数设置为 FWPS_VSWITCH_EVENT_PORT_CREATE,则创建 vSwitch 端口。 在这种情况下, vSwitch 参数标识一个 NDIS_SWITCH_PARAMETERS 结构,该结构包含有关虚拟交换机的信息 (vSwitch ) ,NDIS_SWITCH_PORT_PARAMETERS 参数包含有关端口的信息。
标注可以从 vSwitchPortEventNotifyFn 返回STATUS_PENDING。 在这种情况下,标注驱动程序调用 FwpsvSwitchNotifyComplete0 函数来完成挂起的操作。
删除端口后,WFP 筛选器驱动程序调用 vSwitchPortEventNotifyFn ,并在 eventType 参数中设置FWPS_VSWITCH_EVENT_PORT_DELETE。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从Windows 8开始可用。 |
目标平台 | Windows |
标头 | fwpsk.h (包括 Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |