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.
Požadavky na přerušení se doručují do jednoho nebo více virtuálních procesorů v oddílu.
Syntaxe
#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
Určuje oddíl, který se má přerušit.
Interrupt
Určuje charakteristiky a cíl přerušení.
InterruptControlSize
Určuje velikost Interruptv bajtech.
Návratová hodnota
Pokud je funkce úspěšná, návratová hodnota je S_OK.
Remarks
Funkce WHvRequestInterrupt požaduje, aby přerušení popsané strukturou WHV_INTERRUPT_CONTROL bylo doručeno do oddílu.
Požadavky
| Requirement | Value |
|---|---|
| Minimální podporovaná Windows | Windows 10 verze 1809 (x64); Windows 11, verze 24H2, build 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Knihovna | WinHvPlatform.lib |
| knihovna DLL | WinHvPlatform.dll |
| Architektura | x64, Arm64 |