Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Imposta una categoria di stato salvato in un processore virtuale.
Sintassi
// 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
Handle per l'oggetto partizione.
VpIndex
Specifica l'indice del processore virtuale il cui stato è impostato.
StateType
Specifica la categoria di stato da impostare. Vedere WHvGetVirtualProcessorState per il significato di ogni valore.
Buffer
Specifica lo stato da applicare. Il formato del buffer dipende da StateType.
BufferSizeInBytes
Specifica le dimensioni di Buffer, in byte. Le dimensioni devono corrispondere alle dimensioni dello stato identificato da StateType.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è S_OK.
La funzione restituisce E_INVALIDARG se StateType non è un tipo di stato valido.
Remarks
La WHvSetVirtualProcessorState funzione applica una categoria di stato del processore virtuale identificato da StateType. È la controparte di WHvGetVirtualProcessorState.
A differenza dell'operazione get, il buffer fornito all'operazione set deve essere esattamente la dimensione dello stato da ripristinare.
Requisiti
| Requisito | Valore |
|---|---|
| Minimo Windows supportato | Windows 10 versione 20H2 (x64); Windows 11, versione 24H2, build 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Libreria | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64, Arm64 |