Поделиться через


функция обратного вызова FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0 (fwpsk.h)

Модуль фильтров вызывает функцию выноски vSwitchRuntimeStateSaveNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0), чтобы уведомить драйвер выноски о событиях сохранения состояния выполнения виртуального коммутатора.

Примечание

FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0 — это определенная версия FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK. Дополнительные сведения см. в разделах Имена Version-Independent и Выбор конкретных версий Windows .

Синтаксис

FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0 FwpsVswitchRuntimeStateSaveCallback0;

NTSTATUS FwpsVswitchRuntimeStateSaveCallback0(
  [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,
  [out]          SIZE_T *runtimeStateLength
)
{...}

Параметры

[in, optional] notifyContext

Указатель на контекст, предоставляемый драйвером выноски. Драйвер передал этот указатель на параметр notifyContext функции FwpsvSwitchEventsSubscribe0 . Этот параметр является необязательным и может иметь значение NULL.

[in] completionContext

Указатель на контекст завершения, предоставляемый драйвером выноски. Этот параметр является необязательным и может иметь значение NULL.

[in] eventType

Тип события виртуального коммутатора, указанный в качестве одного из значений перечисления FWPS_VSWITCH_EVENT_TYPE . Дополнительные сведения см. в подразделе "Примечания".

[in] vSwitch

Указатель на структуру NDIS_SWITCH_PARAMETERS , содержащую сведения о виртуальном коммутаторе.

Примечание

Сведения в структуре NDIS_SWITCH_PARAMETERS отражают начальное состояние виртуального коммутатора, но не обязательно его текущее состояние. В частности, элементы NumSwitchPorts и IsActive могут по-прежнему иметь начальное значение 0, если не было активировано событие PnP виртуального коммутатора. Сведения о текущем состоянии можно найти в других параметрах этой функции обратного вызова.

[in] portId

Идентификатор порта исходного коммутатора.

runtimeState

Расположение буфера выходных результатов состояния выполнения.

[out] runtimeStateLength

Длина (в байтах) сведений о состоянии времени выполнения в буфере состояния времени выполнения.

Возвращаемое значение

Функция FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0 выноски возвращает один из следующих кодов NTSTATUS.

Код возврата Описание
STATUS_SUCCESS Драйвер выноски принимает уведомление от подсистемы фильтров.
STATUS_PENDING Операция находится в состоянии ожидания и будет завершена позже. Драйвер выноски вызовет функцию FwpsvSwitchNotifyComplete0 для завершения ожидающей операции.
Другие коды состояния Произошла ошибка.

Комментарии

Драйвер выноски регистрирует функцию vSwitchRuntimeStateSaveNotifyFn , вызывая функцию FwpsvSwitchEventsSubscribe0 .

Если обратный вызов vSwitchRuntimeStateSaveNotifyFn зарегистрирован, выноска будет уведомлена о получении состояния среды выполнения исходной виртуальной машины и восстановлении состояния времени выполнения целевой виртуальной машины во время динамической миграции или локальной операции сохранения и восстановления. В случае сохранения параметру eventTypevSwitchRuntimeStateSaveNotifyFn присвоено значение FWPS_VSWITCH_EVENT_RUNTIME_STATE_SAVE.

Драйвер протокола расширения виртуального коммутатора выдает запрос метода идентификатора объекта (OID) OID_SWITCH_NIC_SAVE во время операции, чтобы сохранить данные времени выполнения для порта виртуального коммутатора. Драйвер фильтра возвращает эти данные, чтобы данные времени выполнения для порта виртуального коммутатора можно было сохранить и восстановить позже.

После сбора большого двоичного объекта данных во время выполнения из всех выносок МПП заполняет структуру NDIS_SWITCH_NIC_SAVE_STATE собранными данными и завершает запрос состояния сохранения.

Выноска может возвращать STATUS_PENDING из vSwitchRuntimeStateSaveNotifyFn. В этом случае МПП вернет STATUS_PENDING в обработчике FilterOidRequest и завершит его позже. Драйвер выноски вызовет функцию FwpsvSwitchNotifyComplete0 для завершения ожидающей операции.

Сведения о восстановлении состояния среды выполнения см. в функции vSwitchRuntimeStateRestoreNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0).

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 8.
Целевая платформа Windows
Header fwpsk.h (включая Fwpsk.h)
IRQL <= DISPATCH_LEVEL

См. также раздел

Функции выноски драйвера выноски

FWPS_VSWITCH_EVENT_TYPE

FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0

FilterOidRequest

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_SWITCH_NIC_SAVE_STATE

NDIS_SWITCH_PARAMETERS

OID_SWITCH_NIC_SAVE