aboutsummaryrefslogtreecommitdiff
path: root/src/common/platform/win/ComAutoInit.cpp
blob: 55a53a8d22758a681ef869663bb79c683737018e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "cru/common/platform/win/ComAutoInit.h"
#include "cru/common/platform/win/Exception.h"

#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