Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ustawia kategorię zapisanego stanu na procesorze wirtualnym.
Składnia
// 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
Dojście do obiektu partycji.
VpIndex
Określa indeks procesora wirtualnego, którego stan jest ustawiony.
StateType
Określa kategorię stanu do ustawienia. Zobacz WHvGetVirtualProcessorState znaczenie każdej wartości.
Buffer
Określa stan do zastosowania. Format buforu zależy StateTypeod .
BufferSizeInBytes
Określa rozmiar Buffer, w bajtach. Rozmiar musi być zgodny z rozmiarem stanu zidentyfikowanego przez StateTypeelement .
Wartość zwracana
Jeśli funkcja powiedzie się, zwracana wartość to S_OK.
Funkcja zwraca E_INVALIDARG wartość , jeśli StateType nie jest prawidłowym typem stanu.
Remarks
Funkcja WHvSetVirtualProcessorState stosuje kategorię stanu procesora wirtualnego zidentyfikowaną przez StateType. Jest to odpowiednik .WHvGetVirtualProcessorState
W przeciwieństwie do operacji get bufor dostarczony do operacji zestawu musi być dokładnie rozmiarem przywracanego stanu.
Requirements
| Requirement | Value |
|---|---|
| Minimalna obsługiwana Windows | Windows 10, wersja 20H2 (x64); Windows 11, wersja 24H2, kompilacja 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Biblioteka | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64, Arm64 |