2025-05-13 19:45:22 +03:00

44 lines
814 B
C

#ifndef GPUMON_H
#define GPUMON_H
// Macros
#define BYTES_NEEDED_FOR_BITS(Bits) ((((Bits) + sizeof(ULONG) * 8 - 1) / 8) & ~(SIZE_T)(sizeof(ULONG) - 1)) // divide round up
// Structures
typedef struct _ETP_GPU_ADAPTER
{
LUID AdapterLuid;
PPH_STRING Description;
ULONG SegmentCount;
ULONG NodeCount;
ULONG FirstNodeIndex;
BOOLEAN HasActivity;
RTL_BITMAP ApertureBitMap;
ULONG ApertureBitMapBuffer[1];
} ETP_GPU_ADAPTER, *PETP_GPU_ADAPTER;
// Functions
BOOLEAN EtpInitializeD3DStatistics(
VOID
);
PETP_GPU_ADAPTER EtpAllocateGpuAdapter(
_In_ ULONG NumberOfSegments
);
PPH_STRING EtpQueryDeviceDescription(
_In_ PWSTR DeviceInterface
);
VOID NTAPI EtGpuProcessesUpdatedCallback(
_In_opt_ PVOID Parameter,
_In_opt_ PVOID Context
);
#endif