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. 자세한 내용은 WFP 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

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

[in] completionContext

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

[in] eventType

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

[in] vSwitch

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

참고

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

[in] portId

원본 스위치 포트 식별자입니다.

runtimeState

런타임 상태 출력 결과 버퍼의 위치입니다.

[out] runtimeStateLength

런타임 상태 버퍼의 런타임 상태 정보의 길이(바이트)입니다.

반환 값

설명선의 FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS 설명선 드라이버는 필터 엔진의 알림을 수락합니다.
STATUS_PENDING 작업이 보류 중이며 나중에 완료됩니다. 설명선 드라이버는 FwpsvSwitchNotifyComplete0 함수를 호출하여 보류 중인 작업을 완료합니다.
기타 상태 코드 오류가 발생했습니다.

설명

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

vSwitchRuntimeStateSaveNotifyFn 콜백이 등록된 경우 콜아웃에 원본 VM의 런타임 상태를 검색하고 라이브 마이그레이션 또는 로컬 저장 및 복원 작업 중에 대상 VM의 런타임 상태를 복원하라는 알림이 표시됩니다. 저장 사례에서 vSwitchRuntimeStateSaveNotifyFneventType 매개 변수가 FWPS_VSWITCH_EVENT_RUNTIME_STATE_SAVE 설정됩니다.

가상 스위치 확장 프로토콜 드라이버는 가상 스위치 포트에 대한 런타임 데이터를 저장하는 작업 중에 OID_SWITCH_NIC_SAVE OID(개체 식별자) 메서드 요청을 실행합니다. 필터 드라이버는 가상 스위치 포트에 대한 런타임 데이터를 나중에 저장하고 복원할 수 있도록 이 데이터를 반환합니다.

모든 설명선의 런타임 데이터 Blob이 수집된 후 WFP는 NDIS_SWITCH_NIC_SAVE_STATE 구조를 수집된 데이터로 채우고 저장 상태 요청을 완료합니다.

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

런타임 상태 복원에 대한 자세한 내용은 vSwitchRuntimeStateRestoreNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0) 함수를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 사용하여 사용할 수 있습니다.
대상 플랫폼 Windows
헤더 fwpsk.h(Fwpsk.h 포함)
IRQL <= DISPATCH_LEVEL

추가 정보

설명선 드라이버 설명선 함수

FWPS_VSWITCH_EVENT_TYPE

FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0

FilterOidRequest

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_SWITCH_NIC_SAVE_STATE

NDIS_SWITCH_PARAMETERS

OID_SWITCH_NIC_SAVE