Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Nastaví kategorii uloženého stavu ve virtuálním procesoru.
Syntaxe
// 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
Popisovač objektu oddílu
VpIndex
Určuje index virtuálního procesoru, jehož stav je nastaven.
StateType
Určuje kategorii stavu, který se má nastavit. Viz WHvGetVirtualProcessorState význam každé hodnoty.
Buffer
Určuje stav, který se má použít. Formát vyrovnávací paměti závisí na StateType.
BufferSizeInBytes
Určuje velikost Bufferv bajtech. Velikost se musí shodovat s velikostí státu identifikovaného StateType.
Návratová hodnota
Pokud je funkce úspěšná, návratová hodnota je S_OK.
Funkce vrátí E_INVALIDARG , pokud StateType není platným typem stavu.
Remarks
Funkce WHvSetVirtualProcessorState použije kategorii stavu virtuálního procesoru identifikovaného funkcí StateType. Je to protějšek WHvGetVirtualProcessorState.
Na rozdíl od operace get musí být vyrovnávací paměť zadaná do operace sady přesně velikost obnoveného stavu.
Požadavky
| Requirement | Value |
|---|---|
| Minimální podporovaná Windows | Windows 10 verze 20H2 (x64); Windows 11, verze 24H2, build 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Knihovna | WinHvPlatform.lib |
| knihovna DLL | WinHvPlatform.dll |
| Architektura | x64, Arm64 |