diff options
Diffstat (limited to 'src/common/platform/win/ComAutoInit.cpp')
-rw-r--r-- | src/common/platform/win/ComAutoInit.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/common/platform/win/ComAutoInit.cpp b/src/common/platform/win/ComAutoInit.cpp new file mode 100644 index 00000000..e336be59 --- /dev/null +++ b/src/common/platform/win/ComAutoInit.cpp @@ -0,0 +1,15 @@ +#include "cru/common/platform/win/ComAutoInit.hpp" +#include "cru/common/platform/win/Exception.hpp" + +#include <combaseapi.h> + +namespace cru::platform::win { +ComAutoInit::ComAutoInit() { + const auto hresult = ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + if (FAILED(hresult)) { + throw HResultError(hresult, "Failed to call CoInitializeEx."); + } +} + +ComAutoInit::~ComAutoInit() { ::CoUninitialize(); } +} // namespace cru::platform::win |