가상 프로세서에서 SynIC(가상 인터럽트 컨트롤러) 이벤트 플래그를 신호로 표시합니다.
문법
typedef UINT8 WHV_VTL;
typedef struct WHV_SYNIC_EVENT_PARAMETERS
{
UINT32 VpIndex;
UINT8 TargetSint;
WHV_VTL TargetVtl;
UINT16 FlagNumber;
} WHV_SYNIC_EVENT_PARAMETERS;
HRESULT
WINAPI
WHvSignalVirtualProcessorSynicEvent(
_In_ WHV_PARTITION_HANDLE Partition,
_In_ WHV_SYNIC_EVENT_PARAMETERS SynicEvent,
_Out_opt_ BOOL* NewlySignaled
);
Parameters
Partition
파티션 개체에 대한 핸들입니다.
SynicEvent
이벤트의 대상을 지정합니다.
VpIndex 는 가상 프로세서를 식별하고, TargetSint SINT(가상 인터럽트 원본)를 식별하고, TargetVtl 대상 가상 신뢰 수준을 식별하고, FlagNumber 설정할 이벤트 플래그를 식별합니다.
NewlySignaled
NULL이 아닌 경우 이벤트 플래그가 clear에서 이 호출의 결과로 설정되도록 전환된 경우와 FALSE 플래그가 이미 설정된 경우 수신 TRUE 합니다.
반환 값
함수가 성공하면 반환 값은 .입니다 S_OK.
함수가 반환되지 않으면 TargetVtl0반환 E_INVALIDARG 됩니다. 대상 가상 프로세서의 가상 인터럽트 컨트롤러가 이벤트를 수신하도록 구성되지 않은 경우 함수는 반환합니다 HRESULT_FROM_WIN32(ERROR_HV_INVALID_SYNIC_STATE).
Remarks
이 함수는 WHvSignalVirtualProcessorSynicEvent 대상 가상 프로세서의 SynIC 이벤트 플래그 페이지에서 식별되는 FlagNumber 이벤트 플래그를 설정하고 지정된 SINT에서 에지 트리거 인터럽트를 제공합니다. 이는 SynIC 이벤트 포트를 통해 게스트에게 신호를 보낼 때 사용되는 메커니즘입니다.
출력은 NewlySignaled 이 호출이 이미 보류 중인 플래그와 설정된 플래그를 구분합니다.
Requirements
| 요구 사항 | Value |
|---|---|
| 지원되는 최소 Windows | Windows 10, 버전 20H2(x64); Windows 11 버전 24H2, 빌드 26100.3915(Arm64) |
| Header | WinHvPlatform.h |
| 라이브러리 | WinHvPlatform.lib |
| 동적 링크 라이브러리 (DLL) | WinHvPlatform.dll |
| 아키텍처 | x64, Arm64 |