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 迷你埠驅動程式會呼叫 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 |