Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Définit une catégorie d’état enregistré sur un processeur virtuel.
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
);
Paramètres
Partition
Gérer l’objet de partition.
VpIndex
Spécifie l’index du processeur virtuel dont l’état est défini.
StateType
Spécifie la catégorie d’état à définir. Consultez WHvGetVirtualProcessorState la signification de chaque valeur.
Buffer
Spécifie l’état à appliquer. Le format de la mémoire tampon dépend StateTypede .
BufferSizeInBytes
Spécifie la taille de Buffer, en octets. La taille doit correspondre à la taille de l’état identifié par StateType.
Valeur de retour
Si la fonction réussit, la valeur de retour est S_OK.
La fonction retourne E_INVALIDARG si StateType elle n’est pas un type d’état valide.
Remarks
La WHvSetVirtualProcessorState fonction applique une catégorie d’état de processeur virtuel identifiée par StateType. C’est l’équivalent de WHvGetVirtualProcessorState.
Contrairement à l’opération get, la mémoire tampon fournie à l’opération set doit être exactement la taille de l’état en cours de restauration.
Exigences
| Requirement | Valeur |
|---|---|
| Windows minimum pris en charge | Windows 10, version 20H2 (x64) ; Windows 11, version 24H2, build 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Bibliothèque | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64, Arm64 |