WHvGetVirtualProcessorCounters

가상 프로세서에 대한 성능 카운터를 검색합니다.

문법

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

참고하십시오