WHvGetVirtualProcessorCounters

Hiermee worden prestatiemeteritems opgehaald voor een virtuele processor.

Syntaxis

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

Hiermee geeft u de partitie om een query uit te voeren.

VpIndex

Hiermee geeft u de virtuele processorindex van de processor om een query uit te voeren.

CounterSet

Hiermee geeft u de teller ingesteld op query.

Buffer

Hiermee geeft u de buffer om de tellers naar te schrijven.

BufferSizeInBytes

Hiermee geeft u Bufferde grootte in bytes.

BytesWritten

Als niet-NULL is, ontvangt u de grootte van de teller die is ingesteld in bytes.

Retourwaarde

Als de functie slaagt, is S_OKde retourwaarde .

Als er een niet-herkende waarde is doorgegeven CounterSet, is WHV_E_UNKNOWN_PROPERTYde retourwaarde .

Remarks

De WHvGetVirtualProcessorCounters functie haalt de aangevraagde set prestatiemeteritems voor de opgegeven virtuele processor op in de opgegeven buffer.

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

Zie ook