OID_SWITCH_NIC_RESTORE

Hyper-V 확장 가능 스위치의 프로토콜 에지는 확장 가능한 스위치 포트 및 네트워크 어댑터 연결을 위해 복원할 수 있는 런타임 데이터에 대해 확장 가능한 스위치 확장에 알리기 위해 OID_SWITCH_NIC_RESTORE OID(개체 식별자) 집합 요청을 실행합니다.

NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버에는 NDIS_SWITCH_NIC_SAVE_STATE 구조체에 대한 포인터가 포함되어 있습니다. 이 구조체는 확장 가능한 스위치의 프로토콜 에지에 의해 할당됩니다.

설명

OID_SWITCH_NIC_RESTORE OID 집합 요청을 받으면 확장 가능한 스위치 확장이 런타임 데이터를 소유하는지 여부를 먼저 결정해야 합니다. 확장은 NDIS_SWITCH_NIC_SAVE_STATE 구조체의 ExtensionId 멤버 값을 확장이 자신을 식별하는 데 사용하는 GUID 값과 비교하여 이 작업을 수행합니다.

확장이 확장 가능한 스위치 포트에 대한 런타임 데이터를 소유하는 경우 다음과 같은 방식으로 이 데이터를 복원합니다.

  1. 확장은 SaveData 멤버의 런타임 데이터를 확장 할당 스토리지에 복사합니다.

    참고NDIS_SWITCH_NIC_SAVE_STATE 구조체의 PortId 멤버 값은 런타임 데이터가 저장되었을 때의 PortId 값과 다를 수 있습니다. 이는 실시간 마이그레이션 중에 런타임 데이터가 한 호스트에서 다른 호스트로 저장된 경우에 발생할 수 있습니다. 그러나 확장 가능한 스위치 포트의 구성은 라이브 마이그레이션 중에 유지됩니다. 이렇게 하면 확장에서 새 PortId 값을 사용하여 런타임 데이터를 확장 가능한 스위치 포트로 복원할 수 있습니다.

  2. 확장은 NDIS_STATUS_SUCCESS 사용하여 OID 집합 요청을 완료합니다.

확장이 지정된 런타임 데이터를 소유하지 않는 경우 확장은 NdisFOidRequest 를 호출하여 이 OID 집합 요청을 확장 가능한 스위치 드라이버 스택의 기본 확장으로 전달합니다. 이 경우 확장은 OID 요청과 연결된 NDIS_SWITCH_NIC_SAVE_STATE 구조를 수정해서는 안됩니다.

확장 가능한 스위치의 미니포트 가장자리에서 OID_SWITCH_NIC_RESTORE 집합 요청을 받으면 NDIS_STATUS_SUCCESS 사용하여 OID 요청을 완료합니다. 확장 가능 스위치의 프로토콜 에지에 런타임 데이터를 소유하는 확장이 없음을 알릴 수 있습니다.

런타임 데이터를 복원하는 방법에 대한 자세한 내용은 Hyper-V 확장 가능한 스위치 Run-Time 데이터 복원을 참조하세요.

참고 확장이 OID 집합 요청에 실패하면 확장 가능한 스위치가 전체 복원 작업에 실패합니다. 따라서 가능한 경우 확장에서 OID 요청 실패를 방지해야 합니다. 예를 들어 확장에서 런타임 데이터를 복원하는 데 필요한 리소스를 할당할 수 없는 경우 런타임 데이터를 복원하지 않고 제대로 작동할 수 없는 경우 OID 요청이 실패해야 합니다. 그러나 확장이 실패 조건에서 복구할 수 있는 경우 OID 집합 요청에 실패하지 않아야 합니다.

반환 상태 코드

확장이 OID_SWITCH_NIC_RESTORE OID 집합 요청을 완료하면 다음 상태 코드 중 하나를 반환합니다.

상태 코드 Description

NDIS_STATUS_SUCCESS

OID 요청이 성공적으로 완료되었습니다.

NDIS_STATUS_Xxx

다른 이유로 인해 요청이 실패했습니다.

요구 사항

Version

NDIS 6.30 이상에서 지원됩니다.

헤더

Ntddndis.h(Ndis.h 포함)

추가 정보


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_SAVE_STATE

NdisFOidRequest