WHvGetVirtualProcessorCpuidOutput

仮想プロセッサが特定のリーフとサブリーフについて観察する CPUID の結果を返します。

Note

この関数は x64 パーティションにのみ適用されます。

構文

typedef struct WHV_CPUID_OUTPUT
{
    UINT32 Eax;
    UINT32 Ebx;
    UINT32 Ecx;
    UINT32 Edx;
} WHV_CPUID_OUTPUT;

HRESULT
WINAPI
WHvGetVirtualProcessorCpuidOutput(
    _In_ WHV_PARTITION_HANDLE Partition,
    _In_ UINT32 VpIndex,
    _In_ UINT32 Eax,
    _In_ UINT32 Ecx,
    _Out_ WHV_CPUID_OUTPUT* CpuidOutput
    );

Parameters

Partition

パーティション オブジェクトへのハンドル。

VpIndex

CPUID の結果を照会する仮想プロセッサのインデックスを指定します。

Eax

CPUID リーフ (命令時の EAX の値) を指定します。

Ecx

CPUID サブリーフ (命令時の ECX の値) を指定します。

CpuidOutput

仮想プロセッサが観察する EAXEBXECXEDX の値を受け取ります。

戻り値

関数が成功した場合、戻り値は S_OK

CpuidOutputNULL場合、戻り値はE_POINTER

Remarks

WHvGetVirtualProcessorCpuidOutput関数は、指定されたEaxリーフとサブリーフを使用してCPUID命令を実行したかどうかを、指定した仮想プロセッサが観察する CPUID の結果Ecx計算します。 結果には、仮想プロセッサの現在の拡張状態構成と、 WHvPartitionPropertyCodeCpuidResultListを介してパーティションに登録された CPUID 結果のオーバーライドが反映されるため、生のホスト CPUID 値ではなく、ゲストが実際に表示する値を表します。

Requirements

要件 価値
サポートされている最小Windows Windows 10、バージョン 20H2
Header WinHvPlatform.h
図書館 WinHvPlatform.lib
DLL WinHvPlatform.dll
Architecture x64

こちらも参照ください