FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0 콜백 함수(fwpsk.h)

필터 엔진은 vSwitchRuntimeStateRestoreNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0) 설명선 함수를 호출하여 설명선 드라이버에 가상 스위치 런타임 상태 복원 이벤트에 대해 알립니다.

FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0 특정 버전의 FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK. 자세한 내용은 WFP Version-Independent 이름 및 특정 버전의 Windows 대상 지정 을 참조하세요.

 

구문

FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0 FwpsVswitchRuntimeStateRestoreCallback0;

NTSTATUS FwpsVswitchRuntimeStateRestoreCallback0(
  [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,
  [in]           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

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

[in] runtimeStateLength

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

반환 값

콜아웃의

FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.

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

설명

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

런타임 상태를 저장하는 방법에 대한 자세한 내용은 vSwitchRuntimeStateSaveNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0) 함수를 참조하세요.

저장된 각 데이터 세그먼트는 복원 작업 중에 대상 시스템 또는 로컬 시스템의 가상 스위치 확장 스택을 통해 전송된 OID_SWITCH_NIC_RESTORE OID로 복원됩니다. WFP는 등록된 공급자 GUID와 일치한 후 vSwitchRuntimeStateRestoreNotifyFn 을 통해 데이터를 올바른 설명선으로 디스패치합니다. 이 경우 vSwitchRuntimeStateRestoreNotifyFneventType 매개 변수가 FWPS_VSWITCH_EVENT_RUNTIME_STATE_RESTORE 설정됩니다.

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

요구 사항

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

추가 정보

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

FWPS_VSWITCH_EVENT_TYPE

FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0

FilterOidRequest

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_SWITCH_PARAMETERS

OID_SWITCH_NIC_RESTORE