共用方式為


HvCallEnableVpVtl

HvCallEnableVpVtl 可讓 VTL 在 VP 上執行。 此 hypercall 應該搭配 HvCallEnablePartitionVtl 使用,以啟用和使用 VTL。 若要在 VP 上啟用 VTL,必須先為磁碟分割啟用該資料分割。 此呼叫不會變更主動 VTL。

介面

HV_STATUS
HvEnableVpVtl(
   _In_ HV_PARTITION_ID TargetPartitionId,
   _In_ HV_VP_INDEX VpIndex,
   _In_ HV_VTL TargetVtl,
   _In_ HV_INITIAL_VP_CONTEXT VpVtlContext
   );

限制

一般來說,只有更高的 VTL 才能啟用 VTL。 這項規則有一個例外:針對分割區啟用的最高 VTL 可以啟用較高的目標 VTL。

一旦在 VP 上啟用目標 VTL 之後,所有其他啟用 VTL 的呼叫都必須來自相等或更高的 Vtl。 如果呼叫以啟用已為 VP 啟用的 VTL,此 hypercall 將會失敗。

呼叫程式碼

0x000F (簡單的)

輸入參數

名稱 Offset 大小 提供的資訊
TargetPartitionId 0 8 提供此要求所針對之分割區的分割區識別碼。
VpIndex 8 4 指定要啟用 VTL 的虛擬處理器索引。
TargetVtl 12 1 指定此 hypercall 要啟用的 VTL。
RsvdZ 13 3
VpVtlContext 16 224 指定在目標 VTL 的第一個專案開始時,VP 應開始的初始內容。

另請參閱

HV_INITIAL_VP_CONTEXT