Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengatur kategori status tersimpan pada prosesor virtual.
Syntax
// WHvGetVirtualProcessorState and WHvSetVirtualProcessorState types.
#if defined(_AMD64_)
typedef enum WHV_VIRTUAL_PROCESSOR_STATE_TYPE
{
WHvVirtualProcessorStateTypeSynicMessagePage = 0x00000000,
WHvVirtualProcessorStateTypeSynicEventFlagPage = 0x00000001,
WHvVirtualProcessorStateTypeSynicTimerState = 0x00000002,
WHvVirtualProcessorStateTypeInterruptControllerState2 = 0x00001000,
WHvVirtualProcessorStateTypeXsaveState = 0x00001001,
WHvVirtualProcessorStateTypeNestedState = 0x00001002,
} WHV_VIRTUAL_PROCESSOR_STATE_TYPE;
#elif defined (_ARM64_)
#define WHV_VIRTUAL_PROCESSOR_STATE_TYPE_PFN (1ui32 << 31)
#define WHV_VIRTUAL_PROCESSOR_STATE_TYPE_ANY_VP (1ui32 << 30)
typedef enum WHV_VIRTUAL_PROCESSOR_STATE_TYPE
{
WHvVirtualProcessorStateTypeInterruptControllerState = 0x00000000 | WHV_VIRTUAL_PROCESSOR_STATE_TYPE_PFN,
WHvVirtualProcessorStateTypeSynicMessagePage = 0x00000002 | WHV_VIRTUAL_PROCESSOR_STATE_TYPE_PFN,
WHvVirtualProcessorStateTypeSynicEventFlagPage = 0x00000003 | WHV_VIRTUAL_PROCESSOR_STATE_TYPE_PFN,
WHvVirtualProcessorStateTypeSynicTimerState = 0x00000004,
WHvVirtualProcessorStateTypeGlobalInterruptState = 0x00000006 | WHV_VIRTUAL_PROCESSOR_STATE_TYPE_PFN | WHV_VIRTUAL_PROCESSOR_STATE_TYPE_ANY_VP,
WHvVirtualProcessorStateTypeSveState = 0x00000007 | WHV_VIRTUAL_PROCESSOR_STATE_TYPE_PFN,
} WHV_VIRTUAL_PROCESSOR_STATE_TYPE;
#endif
HRESULT
WINAPI
WHvSetVirtualProcessorState(
_In_ WHV_PARTITION_HANDLE Partition,
_In_ UINT32 VpIndex,
_In_ WHV_VIRTUAL_PROCESSOR_STATE_TYPE StateType,
_In_reads_bytes_(BufferSizeInBytes) const VOID* Buffer,
_In_ UINT32 BufferSizeInBytes
);
Parameters
Partition
Tangani ke objek partisi.
VpIndex
Menentukan indeks prosesor virtual yang statusnya diatur.
StateType
Menentukan kategori status yang akan diatur. Lihat WHvGetVirtualProcessorState untuk arti dari setiap nilai.
Buffer
Menentukan status yang akan diterapkan. Format buffer tergantung pada StateType.
BufferSizeInBytes
Menentukan ukuran Buffer, dalam byte. Ukuran harus cocok dengan ukuran status yang diidentifikasi oleh StateType.
Mengembalikan Nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah S_OK.
Fungsi mengembalikan E_INVALIDARG jika StateType bukan tipe status yang valid.
Remarks
Fungsi ini WHvSetVirtualProcessorState menerapkan kategori status prosesor virtual yang diidentifikasi oleh StateType. Ini adalah mitra dari WHvGetVirtualProcessorState.
Tidak seperti operasi get, buffer yang disediakan ke operasi yang ditetapkan harus sama persis dengan ukuran status yang sedang dipulihkan.
Requirements
| Persyaratan | Nilai |
|---|---|
| Windows minimum yang didukung | Windows 10, versi 20H2 (x64); Windows 11, versi 24H2, build 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Perpustakaan | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64, Arm64 |