次の方法で共有


NdisGetHypervisorInfo 関数 (ndis.h)

重要な  

Windows 10 バージョン 1703 以降では、NdisGetHypervisorInfo は非推奨となり、使用しないでください。 ドライバーは、今後のバージョンのオペレーティング システムでは使用できない可能性があるため、ドライバーから離れて移動することをお勧めします。

ドライバーは、代わりにハイパーバイザーの指示に従って、ハイパーバイザーの存在と機能を照会する必要があります。 たとえば、Hyper-V の手順については、Top-Level 機能仕様に記載されています。

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 フラグは Flags メンバーに設定されます。
  • Microsoft ハイパーバイザーが存在する場合、PartitionType メンバーは次のいずれかの値に設定されます。
    • NdisGetHypervisorInfo 関数が、Hyper-V 親パーティションで実行されている管理オペレーティング システムから呼び出された場合、PartitionType メンバーは、NdisHypervisorPartitionTypeMsHvParent に設定されます。
    • NdisGetHypervisorInfo 関数が、Hyper-V 子パーティションで実行されているゲスト オペレーティング システムから呼び出された場合、PartitionType メンバーは NdisHypervisorPartitionMsHvChild に設定されます。
  • 別のベンダーのハイパーバイザーが存在する場合、PartitionType メンバーは NdisHypervisorPartitionTypeUnknown に設定されます。
ドライバーは、NdisGetHypervisorInfo 関数を呼び出す前に、NDIS_HYPERVISOR_INFO 構造体の ヘッダー メンバーを初期化する必要があります。
 

必要条件

要件 価値
サポートされる最小クライアント NDIS 6.0 以降でサポートされています。
ターゲット プラットフォーム 万国
ヘッダー ndis.h (Ndis.h を含む)
ライブラリ Ndis.lib
IRQL <= DISPATCH_LEVEL

関連項目

NDIS_HYPERVISOR_INFO