// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Microsoft_Windows_System_0_H #define WINRT_Microsoft_Windows_System_0_H WINRT_EXPORT namespace winrt::Microsoft::Windows::System { struct IEnvironmentManager; struct IEnvironmentManager2; struct IEnvironmentManagerStatics; struct EnvironmentManager; struct EnvironmentManagerContract; } 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 = class_category; }; template <> inline constexpr auto& name_v = L"Microsoft.Windows.System.EnvironmentManager"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.System.IEnvironmentManager"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.System.IEnvironmentManager2"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.System.IEnvironmentManagerStatics"; template <> inline constexpr auto& name_v = L"Microsoft.Windows.System.EnvironmentManagerContract"; template <> inline constexpr guid guid_v{ 0xD1B239BB,0x7013,0x5176,{ 0xB0,0x2A,0x63,0x47,0x74,0x10,0xD9,0x86 } }; // D1B239BB-7013-5176-B02A-63477410D986 template <> inline constexpr guid guid_v{ 0xCFC0AD51,0x02B7,0x57FF,{ 0x8C,0xA7,0xE0,0x15,0x25,0x17,0x37,0xCB } }; // CFC0AD51-02B7-57FF-8CA7-E015251737CB template <> inline constexpr guid guid_v{ 0x407B1522,0x6156,0x5398,{ 0x93,0xFD,0xD6,0x41,0x1C,0x35,0xE7,0xB1 } }; // 407B1522-6156-5398-93FD-D6411C35E7B1 template <> struct default_interface{ using type = winrt::Microsoft::Windows::System::IEnvironmentManager; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetEnvironmentVariables(void**) noexcept = 0; virtual int32_t __stdcall GetEnvironmentVariable(void*, void**) noexcept = 0; virtual int32_t __stdcall SetEnvironmentVariable(void*, void*) noexcept = 0; virtual int32_t __stdcall AppendToPath(void*) noexcept = 0; virtual int32_t __stdcall RemoveFromPath(void*) noexcept = 0; virtual int32_t __stdcall AddExecutableFileExtension(void*) noexcept = 0; virtual int32_t __stdcall RemoveExecutableFileExtension(void*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_AreChangesTracked(bool*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetForProcess(void**) noexcept = 0; virtual int32_t __stdcall GetForUser(void**) noexcept = 0; virtual int32_t __stdcall GetForMachine(void**) noexcept = 0; virtual int32_t __stdcall get_IsSupported(bool*) noexcept = 0; }; }; template struct consume_Microsoft_Windows_System_IEnvironmentManager { auto GetEnvironmentVariables() const; auto GetEnvironmentVariable(param::hstring const& name) const; auto SetEnvironmentVariable(param::hstring const& name, param::hstring const& value) const; auto AppendToPath(param::hstring const& path) const; auto RemoveFromPath(param::hstring const& path) const; auto AddExecutableFileExtension(param::hstring const& pathExt) const; auto RemoveExecutableFileExtension(param::hstring const& pathExt) const; }; template <> struct consume { template using type = consume_Microsoft_Windows_System_IEnvironmentManager; }; template struct consume_Microsoft_Windows_System_IEnvironmentManager2 { [[nodiscard]] auto AreChangesTracked() const; }; template <> struct consume { template using type = consume_Microsoft_Windows_System_IEnvironmentManager2; }; template struct consume_Microsoft_Windows_System_IEnvironmentManagerStatics { auto GetForProcess() const; auto GetForUser() const; auto GetForMachine() const; [[nodiscard]] auto IsSupported() const; }; template <> struct consume { template using type = consume_Microsoft_Windows_System_IEnvironmentManagerStatics; }; } #endif