This commit is contained in:
		| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
| #include "utils/file_directory.hpp" | #include "utils/file_directory.hpp" | ||||||
|  |  | ||||||
|  | #include "utils/com_init_wrapper.hpp" | ||||||
| #include "utils/common.hpp" | #include "utils/common.hpp" | ||||||
| #include "utils/error.hpp" | #include "utils/error.hpp" | ||||||
| #include "utils/string.hpp" | #include "utils/string.hpp" | ||||||
| @@ -172,6 +173,8 @@ auto directory::create_directory(std::string_view path) const | |||||||
|     } |     } | ||||||
|  |  | ||||||
| #if defined(_WIN32) | #if defined(_WIN32) | ||||||
|  |     [[maybe_unused]] static const utils::com_init_wrapper wrapper; | ||||||
|  |  | ||||||
|     auto res = ::SHCreateDirectory(nullptr, |     auto res = ::SHCreateDirectory(nullptr, | ||||||
|                                    utils::string::from_utf8(abs_path).c_str()); |                                    utils::string::from_utf8(abs_path).c_str()); | ||||||
|     if (res != ERROR_SUCCESS) { |     if (res != ERROR_SUCCESS) { | ||||||
|   | |||||||
| @@ -23,6 +23,7 @@ | |||||||
|  |  | ||||||
| #include "utils/windows.hpp" | #include "utils/windows.hpp" | ||||||
|  |  | ||||||
|  | #include "utils/com_init_wrapper.hpp" | ||||||
| #include "utils/error.hpp" | #include "utils/error.hpp" | ||||||
| #include "utils/file.hpp" | #include "utils/file.hpp" | ||||||
| #include "utils/path.hpp" | #include "utils/path.hpp" | ||||||
| @@ -65,6 +66,8 @@ auto get_last_error_code() -> DWORD { return ::GetLastError(); } | |||||||
| auto get_local_app_data_directory() -> const std::string & { | auto get_local_app_data_directory() -> const std::string & { | ||||||
|   REPERTORY_USES_FUNCTION_NAME(); |   REPERTORY_USES_FUNCTION_NAME(); | ||||||
|  |  | ||||||
|  |   [[maybe_unused]] static const utils::com_init_wrapper wrapper; | ||||||
|  |  | ||||||
|   static std::string app_data = ([]() -> std::string { |   static std::string app_data = ([]() -> std::string { | ||||||
|     PWSTR local_app_data{}; |     PWSTR local_app_data{}; | ||||||
|     if (SUCCEEDED(::SHGetKnownFolderPath(FOLDERID_LocalAppData, 0, nullptr, |     if (SUCCEEDED(::SHGetKnownFolderPath(FOLDERID_LocalAppData, 0, nullptr, | ||||||
| @@ -142,6 +145,8 @@ auto run_process_elevated(std::vector<const char *> args) -> int { | |||||||
| void set_last_error_code(DWORD error_code) { ::SetLastError(error_code); } | void set_last_error_code(DWORD error_code) { ::SetLastError(error_code); } | ||||||
|  |  | ||||||
| auto get_startup_folder() -> std::wstring { | auto get_startup_folder() -> std::wstring { | ||||||
|  |   [[maybe_unused]] static const utils::com_init_wrapper wrapper; | ||||||
|  |  | ||||||
|   PWSTR raw{nullptr}; |   PWSTR raw{nullptr}; | ||||||
|   auto result = ::SHGetKnownFolderPath(FOLDERID_Startup, 0, nullptr, &raw); |   auto result = ::SHGetKnownFolderPath(FOLDERID_Startup, 0, nullptr, &raw); | ||||||
|   if (FAILED(result)) { |   if (FAILED(result)) { | ||||||
| @@ -160,6 +165,8 @@ auto get_startup_folder() -> std::wstring { | |||||||
| auto create_shortcut(const shortcut_cfg &cfg, bool overwrite_existing) -> bool { | auto create_shortcut(const shortcut_cfg &cfg, bool overwrite_existing) -> bool { | ||||||
|   REPERTORY_USES_FUNCTION_NAME(); |   REPERTORY_USES_FUNCTION_NAME(); | ||||||
|  |  | ||||||
|  |   [[maybe_unused]] static const utils::com_init_wrapper wrapper; | ||||||
|  |  | ||||||
|   const auto hr_hex = [](HRESULT result) -> std::string { |   const auto hr_hex = [](HRESULT result) -> std::string { | ||||||
|     std::ostringstream oss; |     std::ostringstream oss; | ||||||
|     oss << "0x" << std::uppercase << std::hex << std::setw(8) |     oss << "0x" << std::uppercase << std::hex << std::setw(8) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user