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


функция обратного вызова 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 NumSwitchPorts и IsActive могут по-прежнему иметь начальное значение нуля, если событие 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 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 идентификатора свойства с ИДЕНТИФИКАТОРом поставщика, указанным из функции FwpsvSwitchEventsSubscribe0. Если имеется совпадение, МПП вызывает соответствующую vSwitchPolicyEventNotifyFn и передает структуру NDIS_SWITCH_PORT_PROPERTY_PARAMETERS в выноску.

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

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

Требования

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