FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0回调函数 (fwpsk.h)

筛选器引擎调用 vSwitchRuntimeStateRestoreNotifyFnFWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0) 标注函数,以通知标注驱动程序虚拟交换机运行时状态还原事件。

注释FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0 是特定版本的 FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK。 有关详细信息,请参阅 WFP Version-Independent 名称和面向特定版本的 Windows

 

语法

FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0 FwpsVswitchRuntimeStateRestoreCallback0;

NTSTATUS FwpsVswitchRuntimeStateRestoreCallback0(
  [in, optional] void *notifyContext,
  [in]           void *completionContext,
  [in]           FWPS_VSWITCH_EVENT_TYPE eventType,
  [in]           const NDIS_SWITCH_PARAMETERS *vSwitch,
  [in]           NDIS_SWITCH_PORT_ID portId,
                 void *runtimeState,
  [in]           SIZE_T runtimeStateLength
)
{...}

参数

[in, optional] notifyContext

指向标注驱动程序提供的上下文的指针。 驱动程序将此指针传递给 FwpsvSwitchEventsSubscribe0 函数的 notifyContext 参数。 此参数是可选的,可以是 NULL。

[in] completionContext

指向标注驱动程序提供的完成上下文的指针。 此参数是可选的,可以是 NULL。

[in] eventType

指定为 FWPS_VSWITCH_EVENT_TYPE 枚举值之一的虚拟交换机事件的类型。 有关详细信息,请参阅“备注”。

[in] vSwitch

指向包含虚拟交换机信息的 NDIS_SWITCH_PARAMETERS 结构的指针。

注释NDIS_SWITCH_PARAMETERS 结构中的信息反映虚拟交换机的初始状态,不一定反映其当前状态。 特别是,NumSwitchPortsIsActive 成员可能仍具有其初始值为零,除非触发了虚拟交换机 PnP 事件。 可以在此回调函数的其他参数中找到当前状态信息。
 

[in] portId

源交换机端口标识符。

runtimeState

运行时状态输出结果缓冲区的位置。

[in] runtimeStateLength

运行时状态缓冲区中运行时状态信息的长度(以字节为单位)。

返回值

标注的

FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0 函数返回以下 NTSTATUS 代码之一。

返回代码 描述
STATUS_SUCCESS
标注驱动程序接受来自筛选器引擎的通知。
STATUS_PENDING
该作处于挂起状态,稍后将完成。 标注驱动程序将调用 FwpsvSwitchNotifyComplete0 函数来完成挂起的作。
其他状态代码
发生错误。

言论

标注驱动程序通过调用 FwpsvSwitchEventsSubscribe0 函数来注册 vSwitchRuntimeStateRestoreNotifyFn 函数。

有关保存运行时状态的信息,请参阅 vSwitchRuntimeStateSaveNotifyFnFWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0) 函数。

在还原作期间,将还原每个保存的数据段,其中 OID_SWITCH_NIC_RESTORE OID 通过目标系统上或本地系统上的虚拟交换机扩展堆栈发送。 在与已注册的提供程序 GUID 匹配后,WFP 将通过 vSwitchRuntimeStateRestoreNotifyFn 将数据调度到正确的标注。 在这种情况下,vSwitchRuntimeStateRestoreNotifyFneventType 参数设置为FWPS_VSWITCH_EVENT_RUNTIME_STATE_RESTORE。

标注可以从 vSwitchRuntimeStateRestoreNotifyFn返回STATUS_PENDING。 在这种情况下,WFP 将在 FilterOidRequest 处理程序中返回STATUS_PENDING,并在稍后完成它。 标注驱动程序将调用 FwpsvSwitchNotifyComplete0 函数来完成挂起的作。

要求

要求 价值
最低支持的客户端 从 Windows 8 开始可用。
目标平台 窗户
标头 fwpsk.h (包括 Fwpsk.h)
IRQL <= DISPATCH_LEVEL

另请参阅

标注驱动程序标注函数

FWPS_VSWITCH_EVENT_TYPE

FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0

FilterOidRequest

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_SWITCH_PARAMETERS

OID_SWITCH_NIC_RESTORE