FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0 콜백 함수(fwpsk.h)
필터 엔진은 vSwitchRuntimeStateRestoreNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0) 설명선 함수를 호출하여 설명선 드라이버에 가상 스위치 런타임 상태 복원 이벤트에 대해 알립니다.
구문
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 구조체에 대한 포인터입니다.
[in] portId
원본 스위치 포트 식별자입니다.
runtimeState
런타임 상태 출력 결과 버퍼의 위치입니다.
[in] runtimeStateLength
런타임 상태 버퍼의 런타임 상태 정보의 길이(바이트)입니다.
반환 값
콜아웃의
FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
설명선 드라이버는 필터 엔진의 알림을 수락합니다. |
|
작업이 보류 중이며 나중에 완료됩니다. 설명선 드라이버는 FwpsvSwitchNotifyComplete0 함수를 호출하여 보류 중인 작업을 완료합니다. |
|
오류가 발생했습니다. |
설명
설명선 드라이버는 FwpsvSwitchEventsSubscribe0 함수를 호출하여 vSwitchRuntimeStateRestoreNotifyFn 함수를 등록합니다.
런타임 상태를 저장하는 방법에 대한 자세한 내용은 vSwitchRuntimeStateSaveNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0) 함수를 참조하세요.
저장된 각 데이터 세그먼트는 복원 작업 중에 대상 시스템 또는 로컬 시스템의 가상 스위치 확장 스택을 통해 전송된 OID_SWITCH_NIC_RESTORE OID로 복원됩니다. WFP는 등록된 공급자 GUID와 일치한 후 vSwitchRuntimeStateRestoreNotifyFn 을 통해 데이터를 올바른 설명선으로 디스패치합니다. 이 경우 vSwitchRuntimeStateRestoreNotifyFn의 eventType 매개 변수가 FWPS_VSWITCH_EVENT_RUNTIME_STATE_RESTORE 설정됩니다.
설명선은 vSwitchRuntimeStateRestoreNotifyFn에서 STATUS_PENDING 반환할 수 있습니다. 이 경우 WFP는 FilterOidRequest 처리기에서 STATUS_PENDING 반환하고 나중에 완료합니다. 설명선 드라이버는 FwpsvSwitchNotifyComplete0 함수를 호출하여 보류 중인 작업을 완료합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 시작해서 사용할 수 있습니다. |
대상 플랫폼 | Windows |
헤더 | fwpsk.h(Fwpsk.h 포함) |
IRQL | <= DISPATCH_LEVEL |