共用方式為


NdisGetHypervisorInfo 函式 (ndis.h)

重要  

從 Windows 10 版本 1703 開始,NdisGetHypervisorInfo 已被取代,不應使用。 建議驅動程式從中移開,因為未來版本的操作系統可能無法使用。

驅動程式應該改為遵循 Hypervisor 的指示來查詢 Hypervisor 目前狀態和功能。 例如,Hyper-V 的指示記載於 最上層功能規格中。

NdisGetHypervisorInfo 函式會傳回系統上存在 Hypervisor 的相關信息。

語法

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

參數

[in, out] HypervisorInfo

呼叫端配置的 NDIS_HYPERVISOR_INFO 結構的指標,其中包含系統上存在的 Hypervisor 相關信息。

傳回值

NdisGetHypervisorInfo 可以傳回下列其中一個狀態值:

傳回碼 Description
NDIS_STATUS_SUCCESS
作業已成功完成。
NDIS_STATUS_BUFFER_TOO_SHORT
輸入參數緩衝區的大小太小。

備註

NDIS 迷你埠驅動程式會呼叫 NdisGetHypervisorInfo 函式,以判斷 Hypervisor 是否存在於系統上。

NdisGetHypervisorInfo 函式傳回時, HypervisorInfo 參數會包含 NDIS_HYPERVISOR_INFO 結構的指標。 此結構包含 Hypervisor 是否存在的相關信息,以及呼叫此函式的分割區類型。 NDIS_HYPERVISOR_INFO 結構會以下列方式提供這項資訊:

  • 如果 Hypervisor 存在,則會在 Flags 成員中設定NDIS_HYPERVISOR_INFO_FLAG_HYPERVISOR_PRESENT旗標。
  • 如果 Microsoft Hypervisor 存在, PartitionType 成員會設定為下列其中一個值:
    • 如果從在 Hyper-V 父分割區中執行的管理作業系統呼叫 NdisGetHypervisorInfo 函式,PartitionType 成員就會設定為 NdisHypervisorPartitionTypeMsHvParent
    • 如果從 Hyper-V 子分割中執行的客體作業系統呼叫 NdisGetHypervisorInfo 函式, PartitionType 成員會設定為 NdisHypervisorPartitionMsHvChild
  • 如果有另一個廠商的 Hypervisor,PartitionType 成員會設定為 NdisHypervisorPartitionTypeUnknown
注意驅動程式必須先初始化 NDIS_HYPERVISOR_INFO 結構的 Header 成員,才能呼叫 NdisGetHypervisorInfo 函式。
 

規格需求

需求
最低支援的用戶端 NDIS 6.0 和更新版本支援。
目標平台 Universal
標頭 ndis.h (包含 Ndis.h)
程式庫 Ndis.lib
IRQL <= DISPATCH_LEVEL

另請參閱

NDIS_HYPERVISOR_INFO