функция обратного вызова FWPS_VSWITCH_POLICY_EVENT_CALLBACK0 (fwpsk.h)
Подсистема фильтрации вызывает функцию выноски vSwitchPolicyEventNotifyFn (FWPS_VSWITCH_POLICY_EVENT_CALLBACK0) для уведомления драйвера выноски о событиях политики виртуального коммутатора.
Синтаксис
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, содержащую сведения о виртуальном коммутаторе.
[in, optional] vSwitchPortProperty
Указатель на структуру NDIS_SWITCH_PORT_PROPERTY_PARAMETERS. Свойство порта виртуального коммутатора.
[in, optional] vSwitchPortPropertyDelete
Указатель на структуру NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS. Свойство порта виртуального коммутатора.
Возвращаемое значение
Выноска
функция FWPS_VSWITCH_POLICY_EVENT_CALLBACK0 возвращает один из следующих кодов NTSTATUS.
Возвращаемый код | Описание |
---|---|
|
Драйвер выноски принимает уведомление от обработчика фильтров. |
|
Операция ожидается и будет завершена позже. Драйвер выноски вызовет функцию 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 |
См. также
NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS
NDIS_SWITCH_PORT_PROPERTY_PARAMETERS