FWPS_VSWITCH_POLICY_EVENT_CALLBACK0 콜백 함수(fwpsk.h)

필터 엔진은 vSwitchPolicyEventNotifyFn (FWPS_VSWITCH_POLICY_EVENT_CALLBACK0) 설명선 함수를 호출하여 설명선 드라이버에 가상 스위치 정책 이벤트에 대해 알립니다.

FWPS_VSWITCH_POLICY_EVENT_CALLBACK0 특정 버전의 FWPS_VSWITCH_POLICY_EVENT_CALLBACK. 자세한 내용은 WFP 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

설명선 드라이버에서 제공하는 컨텍스트에 대한 포인터입니다. 드라이버는 FwpsvSwitchEventsSubscribe0 함수의 notifyContext 매개 변수에 이 포인터를 전달했습니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

[in] completionContext

설명선 드라이버에서 제공하는 완료 컨텍스트에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

[in] eventType

FWPS_VSWITCH_EVENT_TYPE 열거형 값 중 하나로 지정된 가상 스위치 이벤트의 형식입니다. 자세한 내용은 설명 부분을 참조하세요.

[in] vSwitch

가상 스위치에 대한 정보를 포함하는 NDIS_SWITCH_PARAMETERS 구조체에 대한 포인터입니다.

참고NDIS_SWITCH_PARAMETERS 구조체의 정보는 가상 스위치의 초기 상태를 반영하며 반드시 현재 상태가 아닙니다. 특히 가상 스위치 PnP 이벤트가 트리거되지 않는 한 NumSwitchPortsIsActive 멤버의 초기 값은 여전히 0일 수 있습니다. 현재 상태 정보는 이 콜백 함수의 다른 매개 변수에서 찾을 수 있습니다.
 

[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 함수를 호출하여 보류 중인 작업을 완료합니다.
기타 상태 코드
오류가 발생했습니다.

설명

설명선 드라이버는 FwpsvSwitchEventsSubscribe0 함수를 호출하여 vSwitchPolicyEventNotifyFn 함수를 등록합니다.

vSwitchPolicyEventNotifyFn 콜백이 등록되면 실시간 마이그레이션 중 및 마이그레이션 VM이 새 호스트에서 실행되기 전에 대상 호스트의 설명선에 가상 스위치 포트에 대해 구성된 정책에 대한 알림이 표시됩니다.

실시간 마이그레이션이 없으면 vSwitchPolicyEventNotifyFn 도 VM 저장 작업에 대해 호출됩니다.

VMMS WMI 인터페이스를 통해 구성된 공급업체 필터링 정책의 변경 내용은 OID 요청을 사용하여 WFP 가상 스위치 확장에 전달됩니다. 이러한 OID는 PropertyType 멤버가 NdisSwitchPortPropertyTypeCustom 형식으로 설정된 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 구조를 전달합니다.

WFP 필터 드라이버는 OID_SWITCH_PORT_PROPERTY_ADD OID 요청의 정보를 eventType 매개 변수에 설정된 FWPS_VSWITCH_EVENT_POLICY_ADD 형식으로 vSwitchPolicyEventNotifyFn에 전달하여 설명선 드라이버에게 가상 스위치 포트에 대한 정책 속성 추가에 대해 알립니다.

WFP 필터 드라이버는 OID_SWITCH_PORT_PROPERTY_UPDATE OID 요청의 정보를 eventType 매개 변수에 설정된 FWPS_VSWITCH_EVENT_POLICY_UPDATE 형식으로 vSwitchPolicyEventNotifyFn에 전달하여 설명선 필터 드라이버에게 가상 스위치 포트 정책의 속성 업데이트에 대해 알립니다.

이러한 ID에는 정책이 속한 WFP 공급자를 고유하게 식별하는 속성 식별자 GUID도 포함됩니다. 속성 식별자 GUID는 공급업체가 VMMS를 통해 정책을 구성할 때 제공되며, GUID는 공급업체가 공급자를 WFP에 등록하는 데 사용하는 것과 동일한 GUID여야 합니다.

WFP는 속성 식별자 GUID를 FwpsvSwitchEventsSubscribe0 함수에서 지정된 공급자 GUID와 일치시키려고 시도합니다. 일치하는 항목이 있는 경우 WFP는 해당 vSwitchPolicyEventNotifyFn 을 호출하고 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 구조를 설명선에 전달합니다.

WFP 필터 드라이버는 OID_SWITCH_PORT_PROPERTY_DELETE OID 요청의 정보를 eventType 매개 변수에 설정된 FWPS_VSWITCH_EVENT_POLICY_DELETE 형식으로 vSwitchPolicyEventNotifyFn에 전달하여 설명선 필터 드라이버에게 가상 스위치 포트에 대한 정책 속성 삭제에 대해 알립니다. 삭제 속성은 NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 구조에 지정됩니다.

설명선이 vSwitchPolicyEventNotifyFn에서 STATUS_PENDING 반환하는 경우 WFP는 filterOidRequest 처리기에 STATUS_PENDING 반환합니다. 설명선 드라이버는 FwpsvSwitchNotifyComplete0 함수를 호출하여 보류 중인 작업을 완료합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 시작해서 사용할 수 있습니다.
대상 플랫폼 Windows
헤더 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