次の方法で共有


HvCallStartVirtualProcessor

HvCallStartVirtualProcessor は、仮想プロセッサを起動する有効なメソッドです。 これは従来の INIT ベースのメソッドと機能的に同等です。ただし、VP は目的のレジスタ状態で始め得るというのを除いてです。

これは、0 以外の VTL で VP を開始する唯一の方法です。

インターフェイス

HV_STATUS
HvCallStartVirtualProcessor(
   _In_ HV_PARTITION_ID PartitionId,
   _In_ HV_VP_INDEX VpIndex,
   _In_ HV_VTL TargetVtl,
   _In_ HV_INITIAL_VP_CONTEXT VpContext
   );

呼び出しコード

0x0099 (Simple)

入力パラメーター

名前 Offset サイズ 情報提供済み
PartitionId 0 8 Partition
VpIndex 8 4 開始する VP インデックス。 APIC ID から VP インデックスを取得するには、HvGetVpIndexFromApicId を使用します。
TargetVtl 12 1 ターゲット VTL
VpContext 16 224 VP を開始する最初のコンテキストを指定します。

戻り値

status code エラー条件
HV_STATUS_ACCESS_DENIED アクセスが拒否されました
HV_STATUS_INVALID_PARTITION_ID 指定されたパーティション ID が無効です。
HV_STATUS_INVALID_VP_INDEX 指定された仮想プロセッサがHV_VP_INDEX無効です。
HV_STATUS_INVALID_REGISTER_VALUE 指定されたレジスタ値が無効です。
HV_STATUS_INVALID_VP_STATE 仮想プロセッサが、指定された操作のパフォーマンスとして正しい状態にありません。
HV_STATUS_INVALID_PARTITION_STATE 指定されたパーティションは、アクティブ状態ではありません。
HV_STATUS_INVALID_VTL_STATE VTL の状態が、要求された操作と矛盾しています。

関連項目

HV_INITIAL_VP_CONTEXT