функция обратного вызова 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 |
См. также раздел
Функции выноски драйвера выноски