NdisGetHypervisorInfo 関数 (ndis.h)

重要  

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

要件

要件
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
対象プラットフォーム ユニバーサル
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

NDIS_HYPERVISOR_INFO