Прочитать на английском

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


функция обратного вызова 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 NumSwitchPorts и IsActive могут по-прежнему иметь начальное значение нуля, если событие 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.
целевая платформа Виндоус
заголовка fwpsk.h (include 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