Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Vraagt om een interrupt te leveren aan een of meer virtuele processors in een partitie.
Syntaxis
#if defined(_AMD64_)
typedef enum WHV_INTERRUPT_TYPE
{
WHvX64InterruptTypeFixed = 0,
WHvX64InterruptTypeLowestPriority = 1,
WHvX64InterruptTypeNmi = 4,
WHvX64InterruptTypeInit = 5,
WHvX64InterruptTypeSipi = 6,
WHvX64InterruptTypeLocalInt1 = 9,
} WHV_INTERRUPT_TYPE;
typedef enum WHV_INTERRUPT_DESTINATION_MODE
{
WHvX64InterruptDestinationModePhysical,
WHvX64InterruptDestinationModeLogical,
} WHV_INTERRUPT_DESTINATION_MODE;
typedef enum WHV_INTERRUPT_TRIGGER_MODE
{
WHvX64InterruptTriggerModeEdge,
WHvX64InterruptTriggerModeLevel,
} WHV_INTERRUPT_TRIGGER_MODE;
typedef struct WHV_INTERRUPT_CONTROL
{
UINT64 Type : 8; // WHV_INTERRUPT_TYPE
UINT64 DestinationMode : 4; // WHV_INTERRUPT_DESTINATION_MODE
UINT64 TriggerMode : 4; // WHV_INTERRUPT_TRIGGER_MODE
UINT64 TargetVtl : 8; // WHV_VTL
UINT64 Reserved : 40;
UINT32 Destination;
UINT32 Vector;
} WHV_INTERRUPT_CONTROL;
#elif defined(_ARM64_)
typedef enum WHV_INTERRUPT_TYPE
{
WHvArm64InterruptTypeFixed = 0x0000,
//
// Maximum (exclusive) value of interrupt type.
//
WHvArm64InterruptTypeMaximum = 0x0008,
} WHV_INTERRUPT_TYPE;
typedef union WHV_INTERRUPT_CONTROL2
{
UINT64 AsUINT64;
struct
{
WHV_INTERRUPT_TYPE InterruptType;
UINT32 Reserved1:2;
UINT32 Asserted:1;
UINT32 Retarget:1;
UINT32 Reserved2:28;
};
} WHV_INTERRUPT_CONTROL2;
typedef struct WHV_INTERRUPT_CONTROL
{
UINT64 TargetPartition;
WHV_INTERRUPT_CONTROL2 InterruptControl;
UINT64 DestinationAddress;
UINT32 RequestedVector;
UINT8 TargetVtl;
UINT8 ReservedZ0;
UINT16 ReservedZ1;
} WHV_INTERRUPT_CONTROL;
#endif // defined(_ARCH_)
HRESULT
WINAPI
WHvRequestInterrupt(
_In_ WHV_PARTITION_HANDLE Partition,
_In_ const WHV_INTERRUPT_CONTROL* Interrupt,
_In_ UINT32 InterruptControlSize
);
Parameters
Partition
Hiermee geeft u de partitie die moet worden onderbroken.
Interrupt
Hiermee geeft u de eigenschappen en bestemming van de interrupt op.
InterruptControlSize
Hiermee geeft u de grootte van Interrupt, in bytes.
Retourwaarde
Als de functie slaagt, is S_OKde retourwaarde .
Remarks
De WHvRequestInterrupt functie vraagt aan dat een interrupt die door de WHV_INTERRUPT_CONTROL structuur wordt beschreven, aan de partitie wordt geleverd.
Vereisten
| Requirement | Value |
|---|---|
| Minimaal ondersteunde Windows | Windows 10, versie 1809 (x64); Windows 11, versie 24H2, build 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Bibliotheek | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architectuur | x64, Arm64 |