NdisGetHypervisorInfo 함수(ndis.h)

중요  

Windows 10 버전 1703부터 NdisGetHypervisorInfo는 더 이상 사용되지 않으며 사용해서는 안 됩니다. 드라이버는 이후 버전의 운영 체제에서 사용할 수 없으므로 드라이버에서 벗어나는 것이 좋습니다.

대신 드라이버는 하이퍼바이저의 지침에 따라 하이퍼바이저 현재 상태 및 기능을 쿼리해야 합니다. 예를 들어 Hyper-V의 지침은 최상위 기능 사양에 설명되어 있습니다.

NdisGetHypervisorInfo 함수는 시스템에 있는 하이퍼바이저에 대한 정보를 반환합니다.

구문

NDIS_STATUS NdisGetHypervisorInfo(
  [in, out] PNDIS_HYPERVISOR_INFO HypervisorInfo
);

매개 변수

[in, out] HypervisorInfo

시스템에 있는 하이퍼바이저에 대한 정보를 포함하는 호출자가 할당한 NDIS_HYPERVISOR_INFO 구조체에 대한 포인터입니다.

반환 값

NdisGetHypervisorInfo는 다음 상태 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
NDIS_STATUS_SUCCESS
작업이 성공적으로 완료되었습니다.
NDIS_STATUS_BUFFER_TOO_SHORT
입력 매개 변수 버퍼의 크기가 너무 작습니다.

설명

NDIS 미니포트 드라이버는 NdisGetHypervisorInfo 함수를 호출하여 하이퍼바이저가 시스템에 있는지 여부를 확인합니다.

NdisGetHypervisorInfo 함수가 반환되면 HypervisorInfo 매개 변수에 NDIS_HYPERVISOR_INFO 구조체에 대한 포인터가 포함됩니다. 이 구조체에는 이 함수가 호출된 파티션 형식과 함께 하이퍼바이저가 있는지 여부에 대한 정보가 포함됩니다. NDIS_HYPERVISOR_INFO 구조는 다음과 같은 방법으로 이 정보를 제공합니다.

  • 하이퍼바이저가 있는 경우 플래그 멤버에 NDIS_HYPERVISOR_INFO_FLAG_HYPERVISOR_PRESENT플래그 가 설정됩니다.
  • Microsoft 하이퍼바이저가 있는 경우 PartitionType 멤버는 다음 값 중 하나로 설정됩니다.
    • Hyper-V 부모 파티션에서 실행되는 관리 운영 체제에서 NdisGetHypervisorInfo 함수를 호출한 경우 PartitionType 멤버는 NdisHypervisorPartitionTypeMsHvParent로 설정됩니다.
    • Hyper-V 자식 파티션에서 실행되는 게스트 운영 체제에서 NdisGetHypervisorInfo 함수를 호출한 경우 PartitionType 멤버는 NdisHypervisorPartitionMsHvChild로 설정됩니다.
  • 다른 공급업체의 하이퍼바이저가 있는 경우 PartitionType 멤버가 NdisHypervisorPartitionTypeUnknown으로 설정됩니다.
참고 드라이버는 NdisGetHypervisorInfo 함수를 호출하기 전에 NDIS_HYPERVISOR_INFO 구조체의 Header 멤버를 초기화해야 합니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
대상 플랫폼 유니버설
헤더 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL <= DISPATCH_LEVEL

추가 정보

NDIS_HYPERVISOR_INFO