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 函数来完成挂起的作。 |
|
发生错误。 |
言论
标注驱动程序通过调用 FwpsvSwitchEventSubscribe0 函数注册 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 开始可用。 |
目标平台 | 窗户 |
标头 | fwpsk.h (包括 Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |