가상 프로세서에 대한 성능 카운터를 검색합니다.
문법
HRESULT
WINAPI
WHvGetVirtualProcessorCounters(
_In_ WHV_PARTITION_HANDLE Partition,
_In_ UINT32 VpIndex,
_In_ WHV_PROCESSOR_COUNTER_SET CounterSet,
_Out_writes_bytes_to_(BufferSizeInBytes, *BytesWritten) VOID* Buffer,
_In_ UINT32 BufferSizeInBytes,
_Out_opt_ UINT32* BytesWritten
);
typedef enum WHV_PROCESSOR_COUNTER_SET
{
WHvProcessorCounterSetRuntime,
WHvProcessorCounterSetIntercepts,
WHvProcessorCounterSetEvents,
WHvProcessorCounterSetApic,
} WHV_PROCESSOR_COUNTER_SET;
typedef struct WHV_PROCESSOR_RUNTIME_COUNTERS
{
UINT64 TotalRuntime100ns;
UINT64 HypervisorRuntime100ns;
} WHV_PROCESSOR_RUNTIME_COUNTERS;
typedef struct WHV_PROCESSOR_INTERCEPT_COUNTER
{
UINT64 Count;
UINT64 Time100ns;
} WHV_PROCESSOR_INTERCEPT_COUNTER;
typedef struct WHV_PROCESSOR_INTERCEPT_COUNTERS
{
WHV_PROCESSOR_INTERCEPT_COUNTER PageInvalidations;
WHV_PROCESSOR_INTERCEPT_COUNTER ControlRegisterAccesses;
WHV_PROCESSOR_INTERCEPT_COUNTER IoInstructions;
WHV_PROCESSOR_INTERCEPT_COUNTER HaltInstructions;
WHV_PROCESSOR_INTERCEPT_COUNTER CpuidInstructions;
WHV_PROCESSOR_INTERCEPT_COUNTER MsrAccesses;
WHV_PROCESSOR_INTERCEPT_COUNTER OtherIntercepts;
WHV_PROCESSOR_INTERCEPT_COUNTER PendingInterrupts;
WHV_PROCESSOR_INTERCEPT_COUNTER EmulatedInstructions;
WHV_PROCESSOR_INTERCEPT_COUNTER DebugRegisterAccesses;
WHV_PROCESSOR_INTERCEPT_COUNTER PageFaultIntercepts;
} WHV_PROCESSOR_ACTIVITY_COUNTERS;
typedef struct WHV_PROCESSOR_EVENT_COUNTERS
{
UINT64 PageFaultCount;
UINT64 ExceptionCount;
UINT64 InterruptCount;
} WHV_PROCESSOR_GUEST_EVENT_COUNTERS;
typedef struct WHV_PROCESSOR_APIC_COUNTERS
{
UINT64 MmioAccessCount;
UINT64 EoiAccessCount;
UINT64 TprAccessCount;
UINT64 SentIpiCount;
UINT64 SelfIpiCount;
} WHV_PROCESSOR_APIC_COUNTERS;
Parameters
Partition
쿼리할 파티션을 지정합니다.
VpIndex
쿼리할 프로세서의 가상 프로세서 인덱스를 지정합니다.
CounterSet
쿼리할 카운터 집합을 지정합니다.
Buffer
카운터를 쓸 버퍼를 지정합니다.
BufferSizeInBytes
'의 크기를 바이트 단위로 지정 Buffer합니다.
BytesWritten
NULL이 아닌 경우 카운터 집합의 크기를 바이트 단위로 받습니다.
반환 값
함수가 성공하면 반환 값은 .입니다 S_OK.
인식할 수 없는 값이 전달된 CounterSet경우 반환 값은 .입니다 WHV_E_UNKNOWN_PROPERTY.
Remarks
이 함수는 WHvGetVirtualProcessorCounters 지정된 가상 프로세서에 대해 요청된 성능 카운터 집합을 제공된 버퍼로 검색합니다.
Requirements
| 요구 사항 | Value |
|---|---|
| 지원되는 최소 Windows | Windows 10, 버전 1809(x64); Windows 11 버전 24H2, 빌드 26100.3915(Arm64) |
| Header | WinHvPlatform.h |
| 라이브러리 | WinHvPlatform.lib |
| 동적 링크 라이브러리 (DLL) | WinHvPlatform.dll |
| 아키텍처 | x64, Arm64 |