// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_System_Diagnostics_0_H #define WINRT_Windows_System_Diagnostics_0_H WINRT_EXPORT namespace winrt::Windows::Data::Json { struct JsonObject; } WINRT_EXPORT namespace winrt::Windows::Foundation { struct HResult; } WINRT_EXPORT namespace winrt::Windows::Foundation::Collections { struct ValueSet; } WINRT_EXPORT namespace winrt::Windows::System { enum class ProcessorArchitecture : int32_t; struct User; } WINRT_EXPORT namespace winrt::Windows::System::Diagnostics { enum class DiagnosticActionState : int32_t { Initializing = 0, Downloading = 1, VerifyingTrust = 2, Detecting = 3, Resolving = 4, VerifyingResolution = 5, Executing = 6, }; struct IDiagnosticActionResult; struct IDiagnosticInvoker; struct IDiagnosticInvoker2; struct IDiagnosticInvokerStatics; struct IProcessCpuUsage; struct IProcessCpuUsageReport; struct IProcessDiagnosticInfo; struct IProcessDiagnosticInfo2; struct IProcessDiagnosticInfoStatics; struct IProcessDiagnosticInfoStatics2; struct IProcessDiskUsage; struct IProcessDiskUsageReport; struct IProcessMemoryUsage; struct IProcessMemoryUsageReport; struct ISystemCpuUsage; struct ISystemCpuUsageReport; struct ISystemDiagnosticInfo; struct ISystemDiagnosticInfoStatics; struct ISystemDiagnosticInfoStatics2; struct ISystemMemoryUsage; struct ISystemMemoryUsageReport; struct DiagnosticActionResult; struct DiagnosticInvoker; struct ProcessCpuUsage; struct ProcessCpuUsageReport; struct ProcessDiagnosticInfo; struct ProcessDiskUsage; struct ProcessDiskUsageReport; struct ProcessMemoryUsage; struct ProcessMemoryUsageReport; struct SystemCpuUsage; struct SystemCpuUsageReport; struct SystemDiagnosticInfo; struct SystemMemoryUsage; struct SystemMemoryUsageReport; } namespace winrt::impl { template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = enum_category; }; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.DiagnosticActionResult"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.DiagnosticInvoker"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.ProcessCpuUsage"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.ProcessCpuUsageReport"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.ProcessDiagnosticInfo"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.ProcessDiskUsage"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.ProcessDiskUsageReport"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.ProcessMemoryUsage"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.ProcessMemoryUsageReport"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.SystemCpuUsage"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.SystemCpuUsageReport"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.SystemDiagnosticInfo"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.SystemMemoryUsage"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.SystemMemoryUsageReport"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.DiagnosticActionState"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.IDiagnosticActionResult"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.IDiagnosticInvoker"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.IDiagnosticInvoker2"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.IDiagnosticInvokerStatics"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.IProcessCpuUsage"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.IProcessCpuUsageReport"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.IProcessDiagnosticInfo"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.IProcessDiagnosticInfo2"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.IProcessDiagnosticInfoStatics"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.IProcessDiagnosticInfoStatics2"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.IProcessDiskUsage"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.IProcessDiskUsageReport"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.IProcessMemoryUsage"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.IProcessMemoryUsageReport"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.ISystemCpuUsage"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.ISystemCpuUsageReport"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.ISystemDiagnosticInfo"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.ISystemDiagnosticInfoStatics"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.ISystemDiagnosticInfoStatics2"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.ISystemMemoryUsage"; template <> inline constexpr auto& name_v = L"Windows.System.Diagnostics.ISystemMemoryUsageReport"; template <> inline constexpr guid guid_v{ 0xC265A296,0xE73B,0x4097,{ 0xB2,0x8F,0x34,0x42,0xF0,0x3D,0xD8,0x31 } }; // C265A296-E73B-4097-B28F-3442F03DD831 template <> inline constexpr guid guid_v{ 0x187B270A,0x02E3,0x4F86,{ 0x84,0xFC,0xFD,0xD8,0x92,0xB5,0x94,0x0F } }; // 187B270A-02E3-4F86-84FC-FDD892B5940F template <> inline constexpr guid guid_v{ 0xE3BF945C,0x155A,0x4B52,{ 0xA8,0xEC,0x07,0x0C,0x44,0xF9,0x50,0x00 } }; // E3BF945C-155A-4B52-A8EC-070C44F95000 template <> inline constexpr guid guid_v{ 0x5CFAD8DE,0xF15C,0x4554,{ 0xA8,0x13,0xC1,0x13,0xC3,0x88,0x1B,0x09 } }; // 5CFAD8DE-F15C-4554-A813-C113C3881B09 template <> inline constexpr guid guid_v{ 0x0BBB2472,0xC8BF,0x423A,{ 0xA8,0x10,0xB5,0x59,0xAE,0x43,0x54,0xE2 } }; // 0BBB2472-C8BF-423A-A810-B559AE4354E2 template <> inline constexpr guid guid_v{ 0x8A6D9CAC,0x3987,0x4E2F,{ 0xA1,0x19,0x6B,0x5F,0xA2,0x14,0xF1,0xB4 } }; // 8A6D9CAC-3987-4E2F-A119-6B5FA214F1B4 template <> inline constexpr guid guid_v{ 0xE830B04B,0x300E,0x4EE6,{ 0xA0,0xAB,0x5B,0x5F,0x52,0x31,0xB4,0x34 } }; // E830B04B-300E-4EE6-A0AB-5B5F5231B434 template <> inline constexpr guid guid_v{ 0x9558CB1A,0x3D0B,0x49EC,{ 0xAB,0x70,0x4F,0x7A,0x11,0x28,0x05,0xDE } }; // 9558CB1A-3D0B-49EC-AB70-4F7A112805DE template <> inline constexpr guid guid_v{ 0x2F41B260,0xB49F,0x428C,{ 0xAA,0x0E,0x84,0x74,0x4F,0x49,0xCA,0x95 } }; // 2F41B260-B49F-428C-AA0E-84744F49CA95 template <> inline constexpr guid guid_v{ 0x4A869897,0x9899,0x4A44,{ 0xA2,0x9B,0x09,0x16,0x63,0xBE,0x09,0xB6 } }; // 4A869897-9899-4A44-A29B-091663BE09B6 template <> inline constexpr guid guid_v{ 0x5AD78BFD,0x7E51,0x4E53,{ 0xBF,0xAA,0x5A,0x6E,0xE1,0xAA,0xBB,0xF8 } }; // 5AD78BFD-7E51-4E53-BFAA-5A6EE1AABBF8 template <> inline constexpr guid guid_v{ 0x401627FD,0x535D,0x4C1F,{ 0x81,0xB8,0xDA,0x54,0xE1,0xBE,0x63,0x5E } }; // 401627FD-535D-4C1F-81B8-DA54E1BE635E template <> inline constexpr guid guid_v{ 0xF50B229B,0x827C,0x42B7,{ 0xB0,0x7C,0x0E,0x32,0x62,0x7E,0x6B,0x3E } }; // F50B229B-827C-42B7-B07C-0E32627E6B3E template <> inline constexpr guid guid_v{ 0xC2C77CBA,0x1951,0x4685,{ 0x85,0x32,0x7E,0x74,0x9E,0xCF,0x8E,0xEB } }; // C2C77CBA-1951-4685-8532-7E749ECF8EEB template <> inline constexpr guid guid_v{ 0x6037B3AC,0x02D6,0x4234,{ 0x83,0x62,0x7F,0xE3,0xAD,0xC8,0x1F,0x5F } }; // 6037B3AC-02D6-4234-8362-7FE3ADC81F5F template <> inline constexpr guid guid_v{ 0x2C26D0B2,0x9483,0x4F62,{ 0xAB,0x57,0x82,0xB2,0x9D,0x97,0x19,0xB8 } }; // 2C26D0B2-9483-4F62-AB57-82B29D9719B8 template <> inline constexpr guid guid_v{ 0xA290FE05,0xDFF3,0x407F,{ 0x9A,0x1B,0x0B,0x2B,0x31,0x7C,0xA8,0x00 } }; // A290FE05-DFF3-407F-9A1B-0B2B317CA800 template <> inline constexpr guid guid_v{ 0xD404AC21,0xFC7D,0x45F0,{ 0x9A,0x3F,0x39,0x20,0x3A,0xED,0x9F,0x7E } }; // D404AC21-FC7D-45F0-9A3F-39203AED9F7E template <> inline constexpr guid guid_v{ 0x79DED189,0x6AF9,0x4DA9,{ 0xA4,0x22,0x15,0xF7,0x32,0x55,0xB3,0xEB } }; // 79DED189-6AF9-4DA9-A422-15F73255B3EB template <> inline constexpr guid guid_v{ 0x17FFC595,0x1702,0x49CF,{ 0xAA,0x27,0x2F,0x0A,0x32,0x59,0x14,0x04 } }; // 17FFC595-1702-49CF-AA27-2F0A32591404 template <> inline constexpr guid guid_v{ 0x38663C87,0x2A9F,0x403A,{ 0xBD,0x19,0x2C,0xF3,0xE8,0x16,0x95,0x00 } }; // 38663C87-2A9F-403A-BD19-2CF3E8169500 template <> struct default_interface{ using type = winrt::Windows::System::Diagnostics::IDiagnosticActionResult; }; template <> struct default_interface{ using type = winrt::Windows::System::Diagnostics::IDiagnosticInvoker; }; template <> struct default_interface{ using type = winrt::Windows::System::Diagnostics::IProcessCpuUsage; }; template <> struct default_interface{ using type = winrt::Windows::System::Diagnostics::IProcessCpuUsageReport; }; template <> struct default_interface{ using type = winrt::Windows::System::Diagnostics::IProcessDiagnosticInfo; }; template <> struct default_interface{ using type = winrt::Windows::System::Diagnostics::IProcessDiskUsage; }; template <> struct default_interface{ using type = winrt::Windows::System::Diagnostics::IProcessDiskUsageReport; }; template <> struct default_interface{ using type = winrt::Windows::System::Diagnostics::IProcessMemoryUsage; }; template <> struct default_interface{ using type = winrt::Windows::System::Diagnostics::IProcessMemoryUsageReport; }; template <> struct default_interface{ using type = winrt::Windows::System::Diagnostics::ISystemCpuUsage; }; template <> struct default_interface{ using type = winrt::Windows::System::Diagnostics::ISystemCpuUsageReport; }; template <> struct default_interface{ using type = winrt::Windows::System::Diagnostics::ISystemDiagnosticInfo; }; template <> struct default_interface{ using type = winrt::Windows::System::Diagnostics::ISystemMemoryUsage; }; template <> struct default_interface{ using type = winrt::Windows::System::Diagnostics::ISystemMemoryUsageReport; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_ExtendedError(winrt::hresult*) noexcept = 0; virtual int32_t __stdcall get_Results(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall RunDiagnosticActionAsync(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall RunDiagnosticActionFromStringAsync(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetDefault(void**) noexcept = 0; virtual int32_t __stdcall GetForUser(void*, void**) noexcept = 0; virtual int32_t __stdcall get_IsSupported(bool*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetReport(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_KernelTime(int64_t*) noexcept = 0; virtual int32_t __stdcall get_UserTime(int64_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_ProcessId(uint32_t*) noexcept = 0; virtual int32_t __stdcall get_ExecutableFileName(void**) noexcept = 0; virtual int32_t __stdcall get_Parent(void**) noexcept = 0; virtual int32_t __stdcall get_ProcessStartTime(int64_t*) noexcept = 0; virtual int32_t __stdcall get_DiskUsage(void**) noexcept = 0; virtual int32_t __stdcall get_MemoryUsage(void**) noexcept = 0; virtual int32_t __stdcall get_CpuUsage(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetAppDiagnosticInfos(void**) noexcept = 0; virtual int32_t __stdcall get_IsPackaged(bool*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetForProcesses(void**) noexcept = 0; virtual int32_t __stdcall GetForCurrentProcess(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall TryGetForProcessId(uint32_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetReport(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_ReadOperationCount(int64_t*) noexcept = 0; virtual int32_t __stdcall get_WriteOperationCount(int64_t*) noexcept = 0; virtual int32_t __stdcall get_OtherOperationCount(int64_t*) noexcept = 0; virtual int32_t __stdcall get_BytesReadCount(int64_t*) noexcept = 0; virtual int32_t __stdcall get_BytesWrittenCount(int64_t*) noexcept = 0; virtual int32_t __stdcall get_OtherBytesCount(int64_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetReport(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_NonPagedPoolSizeInBytes(uint64_t*) noexcept = 0; virtual int32_t __stdcall get_PageFaultCount(uint32_t*) noexcept = 0; virtual int32_t __stdcall get_PageFileSizeInBytes(uint64_t*) noexcept = 0; virtual int32_t __stdcall get_PagedPoolSizeInBytes(uint64_t*) noexcept = 0; virtual int32_t __stdcall get_PeakNonPagedPoolSizeInBytes(uint64_t*) noexcept = 0; virtual int32_t __stdcall get_PeakPageFileSizeInBytes(uint64_t*) noexcept = 0; virtual int32_t __stdcall get_PeakPagedPoolSizeInBytes(uint64_t*) noexcept = 0; virtual int32_t __stdcall get_PeakVirtualMemorySizeInBytes(uint64_t*) noexcept = 0; virtual int32_t __stdcall get_PeakWorkingSetSizeInBytes(uint64_t*) noexcept = 0; virtual int32_t __stdcall get_PrivatePageCount(uint64_t*) noexcept = 0; virtual int32_t __stdcall get_VirtualMemorySizeInBytes(uint64_t*) noexcept = 0; virtual int32_t __stdcall get_WorkingSetSizeInBytes(uint64_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetReport(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_KernelTime(int64_t*) noexcept = 0; virtual int32_t __stdcall get_UserTime(int64_t*) noexcept = 0; virtual int32_t __stdcall get_IdleTime(int64_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_MemoryUsage(void**) noexcept = 0; virtual int32_t __stdcall get_CpuUsage(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetForCurrentSystem(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall IsArchitectureSupported(int32_t, bool*) noexcept = 0; virtual int32_t __stdcall get_PreferredArchitecture(int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetReport(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_TotalPhysicalSizeInBytes(uint64_t*) noexcept = 0; virtual int32_t __stdcall get_AvailableSizeInBytes(uint64_t*) noexcept = 0; virtual int32_t __stdcall get_CommittedSizeInBytes(uint64_t*) noexcept = 0; }; }; template struct consume_Windows_System_Diagnostics_IDiagnosticActionResult { [[nodiscard]] auto ExtendedError() const; [[nodiscard]] auto Results() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_IDiagnosticActionResult; }; template struct consume_Windows_System_Diagnostics_IDiagnosticInvoker { auto RunDiagnosticActionAsync(winrt::Windows::Data::Json::JsonObject const& context) const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_IDiagnosticInvoker; }; template struct consume_Windows_System_Diagnostics_IDiagnosticInvoker2 { auto RunDiagnosticActionFromStringAsync(param::hstring const& context) const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_IDiagnosticInvoker2; }; template struct consume_Windows_System_Diagnostics_IDiagnosticInvokerStatics { auto GetDefault() const; auto GetForUser(winrt::Windows::System::User const& user) const; [[nodiscard]] auto IsSupported() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_IDiagnosticInvokerStatics; }; template struct consume_Windows_System_Diagnostics_IProcessCpuUsage { auto GetReport() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_IProcessCpuUsage; }; template struct consume_Windows_System_Diagnostics_IProcessCpuUsageReport { [[nodiscard]] auto KernelTime() const; [[nodiscard]] auto UserTime() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_IProcessCpuUsageReport; }; template struct consume_Windows_System_Diagnostics_IProcessDiagnosticInfo { [[nodiscard]] auto ProcessId() const; [[nodiscard]] auto ExecutableFileName() const; [[nodiscard]] auto Parent() const; [[nodiscard]] auto ProcessStartTime() const; [[nodiscard]] auto DiskUsage() const; [[nodiscard]] auto MemoryUsage() const; [[nodiscard]] auto CpuUsage() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_IProcessDiagnosticInfo; }; template struct consume_Windows_System_Diagnostics_IProcessDiagnosticInfo2 { auto GetAppDiagnosticInfos() const; [[nodiscard]] auto IsPackaged() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_IProcessDiagnosticInfo2; }; template struct consume_Windows_System_Diagnostics_IProcessDiagnosticInfoStatics { auto GetForProcesses() const; auto GetForCurrentProcess() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_IProcessDiagnosticInfoStatics; }; template struct consume_Windows_System_Diagnostics_IProcessDiagnosticInfoStatics2 { auto TryGetForProcessId(uint32_t processId) const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_IProcessDiagnosticInfoStatics2; }; template struct consume_Windows_System_Diagnostics_IProcessDiskUsage { auto GetReport() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_IProcessDiskUsage; }; template struct consume_Windows_System_Diagnostics_IProcessDiskUsageReport { [[nodiscard]] auto ReadOperationCount() const; [[nodiscard]] auto WriteOperationCount() const; [[nodiscard]] auto OtherOperationCount() const; [[nodiscard]] auto BytesReadCount() const; [[nodiscard]] auto BytesWrittenCount() const; [[nodiscard]] auto OtherBytesCount() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_IProcessDiskUsageReport; }; template struct consume_Windows_System_Diagnostics_IProcessMemoryUsage { auto GetReport() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_IProcessMemoryUsage; }; template struct consume_Windows_System_Diagnostics_IProcessMemoryUsageReport { [[nodiscard]] auto NonPagedPoolSizeInBytes() const; [[nodiscard]] auto PageFaultCount() const; [[nodiscard]] auto PageFileSizeInBytes() const; [[nodiscard]] auto PagedPoolSizeInBytes() const; [[nodiscard]] auto PeakNonPagedPoolSizeInBytes() const; [[nodiscard]] auto PeakPageFileSizeInBytes() const; [[nodiscard]] auto PeakPagedPoolSizeInBytes() const; [[nodiscard]] auto PeakVirtualMemorySizeInBytes() const; [[nodiscard]] auto PeakWorkingSetSizeInBytes() const; [[nodiscard]] auto PrivatePageCount() const; [[nodiscard]] auto VirtualMemorySizeInBytes() const; [[nodiscard]] auto WorkingSetSizeInBytes() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_IProcessMemoryUsageReport; }; template struct consume_Windows_System_Diagnostics_ISystemCpuUsage { auto GetReport() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_ISystemCpuUsage; }; template struct consume_Windows_System_Diagnostics_ISystemCpuUsageReport { [[nodiscard]] auto KernelTime() const; [[nodiscard]] auto UserTime() const; [[nodiscard]] auto IdleTime() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_ISystemCpuUsageReport; }; template struct consume_Windows_System_Diagnostics_ISystemDiagnosticInfo { [[nodiscard]] auto MemoryUsage() const; [[nodiscard]] auto CpuUsage() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_ISystemDiagnosticInfo; }; template struct consume_Windows_System_Diagnostics_ISystemDiagnosticInfoStatics { auto GetForCurrentSystem() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_ISystemDiagnosticInfoStatics; }; template struct consume_Windows_System_Diagnostics_ISystemDiagnosticInfoStatics2 { auto IsArchitectureSupported(winrt::Windows::System::ProcessorArchitecture const& type) const; [[nodiscard]] auto PreferredArchitecture() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_ISystemDiagnosticInfoStatics2; }; template struct consume_Windows_System_Diagnostics_ISystemMemoryUsage { auto GetReport() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_ISystemMemoryUsage; }; template struct consume_Windows_System_Diagnostics_ISystemMemoryUsageReport { [[nodiscard]] auto TotalPhysicalSizeInBytes() const; [[nodiscard]] auto AvailableSizeInBytes() const; [[nodiscard]] auto CommittedSizeInBytes() const; }; template <> struct consume { template using type = consume_Windows_System_Diagnostics_ISystemMemoryUsageReport; }; } #endif