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


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

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

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

Синтаксис

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

Указатель на контекст, предоставляемый драйвером выноски. Драйвер передал этот указатель на параметр 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, optional] vSwitchPortProperty

Указатель на структуру NDIS_SWITCH_PORT_PROPERTY_PARAMETERS . Свойство порта виртуального коммутатора.

[in, optional] vSwitchPortPropertyDelete

Указатель на структуру NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS . Свойство порта виртуального коммутатора.

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

Выноска

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

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

Комментарии

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

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

Без динамической миграции vSwitchPolicyEventNotifyFn также будет вызываться для операции сохранения виртуальной машины.

Изменения в политиках фильтрации поставщиков, настроенные с помощью интерфейса WMI VMMS, передаются в расширение виртуального коммутатора ПППП с запросами OID. Эти OID содержат структуру NDIS_SWITCH_PORT_PROPERTY_PARAMETERS с элементом PropertyType , который имеет тип NdisSwitchPortPropertyTypeCustom .

Драйвер фильтра МПП передает сведения из запроса OID_SWITCH_PORT_PROPERTY_ADD OID в vSwitchPolicyEventNotifyFn с типом FWPS_VSWITCH_EVENT_POLICY_ADD, заданным в параметре eventType , чтобы уведомить драйверов выноски о добавлении свойства политики для порта виртуального коммутатора.

Драйвер фильтра МПП передает сведения из запроса OID_SWITCH_PORT_PROPERTY_UPDATE OID в vSwitchPolicyEventNotifyFn с типом FWPS_VSWITCH_EVENT_POLICY_UPDATE, заданным в параметре eventType , чтобы уведомить драйверы фильтров выносок об обновлении свойства для политики портов виртуального коммутатора.

Эти идентификаторы OID также включают идентификатор GUID свойства, который однозначно определяет, к какому поставщику МПП принадлежит политика. Guid идентификатора свойства предоставляется, когда поставщик настраивает свою политику с помощью VMMS, а GUID должен быть тем же ИДЕНТИФИКАТОРом GUID, который поставщик использует для регистрации своего поставщика в ПРОГРАММе ПППП.

МПП пытается сопоставить идентификатор guid свойства с GUID поставщика, заданным из функции FwpsvSwitchEventsSubscribe0 . Если совпадение имеется, ПРОГРАММА МПП вызывает соответствующий объект vSwitchPolicyEventNotifyFn и передает структуру NDIS_SWITCH_PORT_PROPERTY_PARAMETERS в выноску.

Драйвер фильтра МПП передает сведения из запроса OID_SWITCH_PORT_PROPERTY_DELETE OID в vSwitchPolicyEventNotifyFn с типом FWPS_VSWITCH_EVENT_POLICY_DELETE, заданным в параметре eventType , чтобы уведомить драйверы фильтров выносок об удалении свойства политики для порта виртуального коммутатора. Свойства удаления указываются в структуре NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS .

Если выноска возвращает STATUS_PENDING из vSwitchPolicyEventNotifyFn, ФУНКЦИЯ МПП возвращает STATUS_PENDING обработчику FilterOidRequest . Драйвер выноски вызовет функцию FwpsvSwitchNotifyComplete0 для завершения ожидающей операции.

Требования

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

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

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

FWPS_VSWITCH_EVENT_TYPE

FilterOidRequest

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_SWITCH_PARAMETERS

NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS

NDIS_SWITCH_PORT_PROPERTY_PARAMETERS

OID_SWITCH_PORT_PROPERTY_ADD

OID_SWITCH_PORT_PROPERTY_DELETE

OID_SWITCH_PORT_PROPERTY_UPDATE