Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Legt eine Kategorie des gespeicherten Zustands für einen virtuellen Prozessor fest.
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
);
Parameter
Partition
Behandeln sie das Partitionsobjekt.
VpIndex
Gibt den Index des virtuellen Prozessors an, dessen Status festgelegt ist.
StateType
Gibt die festzulegende Statuskategorie an. Siehe WHvGetVirtualProcessorState die Bedeutung der einzelnen Werte.
Buffer
Gibt den anzuwendenden Zustand an. Das Format des Puffers hängt von StateType.
BufferSizeInBytes
Gibt die Größe von Buffer, in Byte an. Die Größe muss mit der Größe des durch StateType.
Rückgabewert
Wenn die Funktion erfolgreich ist, lautet S_OKder Rückgabewert .
Die Funktion gibt zurück E_INVALIDARG , wenn StateType es sich nicht um einen gültigen Zustandstyp handelt.
Remarks
Die WHvSetVirtualProcessorState Funktion wendet eine Kategorie des virtuellen Prozessorzustands an, der durch StateType. Es ist das Gegenstück von WHvGetVirtualProcessorState.
Im Gegensatz zum Get-Vorgang muss der für den Set-Vorgang bereitgestellte Puffer genau die Größe des wiederhergestellten Zustands sein.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützte Windows | Windows 10, Version 20H2 (x64); Windows 11, Version 24H2, Build 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Bibliothek | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64, Arm64 |