FWPS_VSWITCH_POLICY_EVENT_CALLBACK0回调函数 (fwpsk.h)
筛选器引擎调用 vSwitchPolicyEventNotifyFn (FWPS_VSWITCH_POLICY_EVENT_CALLBACK0) 标注函数,以通知标注驱动程序虚拟交换机策略事件。
语法
FWPS_VSWITCH_POLICY_EVENT_CALLBACK0 FwpsVswitchPolicyEventCallback0;
NTSTATUS FwpsVswitchPolicyEventCallback0(
[in, optional] void *notifyContext,
[in] void *completionContext,
[in] FWPS_VSWITCH_EVENT_TYPE eventType,
[in] const NDIS_SWITCH_PARAMETERS *vSwitch,
[in, optional] const NDIS_SWITCH_PORT_PROPERTY_PARAMETERS *vSwitchPortProperty,
[in, optional] const NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS *vSwitchPortPropertyDelete
)
{...}
参数
[in, optional] notifyContext
指向标注驱动程序提供的上下文的指针。 驱动程序将此指针传递给 FwpsvSwitchEventsSubscribe0 函数的 notifyContext 参数。 此参数是可选的,可以为 NULL。
[in] completionContext
指向标注驱动程序提供的完成上下文的指针。 此参数是可选的,可以为 NULL。
[in] eventType
指定为 FWPS_VSWITCH_EVENT_TYPE 枚举值之一的虚拟交换机事件的类型。 有关详细信息,请参阅“备注”。
[in] vSwitch
指向包含虚拟交换机相关信息 的 NDIS_SWITCH_PARAMETERS 结构的指针。
[in, optional] vSwitchPortProperty
指向 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 结构的指针。 虚拟交换机端口属性。
[in, optional] vSwitchPortPropertyDelete
指向 NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 结构的指针。 虚拟交换机端口属性。
返回值
标注的
FWPS_VSWITCH_POLICY_EVENT_CALLBACK0 函数返回以下 NTSTATUS 代码之一。
返回代码 | 说明 |
---|---|
|
标注驱动程序接受来自筛选器引擎的通知。 |
|
操作处于挂起状态,稍后将完成。 标注驱动程序将调用 FwpsvSwitchNotifyComplete0 函数来完成挂起的操作。 |
|
出现了错误。 |
注解
标注驱动程序通过调用 FwpsvSwitchEventsSubscribe0 函数注册 vSwitchPolicyEventNotifyFn 函数。
如果注册了 vSwitchPolicyEventNotifyFn 回调,则会在实时迁移期间和迁移 VM 在新主机上运行之前通知目标主机上为虚拟交换机端口配置的策略。
如果没有实时迁移,还将为 VM 保存操作调用 vSwitchPolicyEventNotifyFn 。
对通过 VMMS WMI 接口配置的供应商筛选策略的更改将传递给带有 OID 请求的 WFP 虚拟交换机扩展。 这些 OID 携带 一个 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 结构, 其中 PropertyType 成员设置为 NdisSwitchPortPropertyTypeCustom 类型。
WFP 筛选器驱动程序将 OID_SWITCH_PORT_PROPERTY_ADD OID 请求中的信息传递给 vSwitchPolicyEventNotifyFn ,并在 eventType 参数中设置了FWPS_VSWITCH_EVENT_POLICY_ADD类型,以通知标注驱动程序添加虚拟交换机端口的策略属性。
WFP 筛选器驱动程序将 OID_SWITCH_PORT_PROPERTY_UPDATE OID 请求中的信息传递给 vSwitchPolicyEventNotifyFn ,并在 eventType 参数中设置了FWPS_VSWITCH_EVENT_POLICY_UPDATE类型,以通知标注筛选器驱动程序虚拟交换机端口策略的属性更新。
这些 OID 还包括唯一标识策略所属的 WFP 提供程序的属性标识符 GUID。 当供应商通过 VMMS 配置其策略时,会提供属性标识符 GUID,并且 GUID 必须与供应商用于向 WFP 注册其提供程序的 GUID 相同。
WFP 尝试将属性标识符 GUID 与 从 FwpsvSwitchEventsSubscribe0 函数指定的提供程序 GUID 匹配。 如果有匹配项,WFP 将调用相应的 vSwitchPolicyEventNotifyFn 并将 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 结构传递给标注。
WFP 筛选器驱动程序将 OID_SWITCH_PORT_PROPERTY_DELETE OID 请求中的信息传递给 vSwitchPolicyEventNotifyFn ,并在 eventType 参数中设置了FWPS_VSWITCH_EVENT_POLICY_DELETE类型,以通知标注筛选器驱动程序删除虚拟交换机端口的策略属性。 删除属性在 NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 结构中指定。
如果标注从 vSwitchPolicyEventNotifyFn 返回STATUS_PENDING,则 WFP 会将STATUS_PENDING返回到 FilterOidRequest 处理程序。 标注驱动程序将调用 FwpsvSwitchNotifyComplete0 函数来完成挂起的操作。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从Windows 8开始可用。 |
目标平台 | Windows |
标头 | fwpsk.h (包括 Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |
另请参阅
NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS
NDIS_SWITCH_PORT_PROPERTY_PARAMETERS