7#include "HRESULTErrorException.h"
16 inline COMInitializer::COMInitializer (COINIT initFlag,
bool worksWithAnyCoInitFlag)
18 using namespace Characters::Literals;
19 Debug::TraceContextBumper ctx{
"Execution::Platform::Windows::COMInitializer::CTOR"};
20 HRESULT hr = ::CoInitializeEx (
nullptr, initFlag);
23 fNeedsShutdown_ =
true;
26 fNeedsShutdown_ =
true;
28 case RPC_E_CHANGED_MODE: {
29 if (worksWithAnyCoInitFlag) {
30 fNeedsShutdown_ =
true;
31 DbgTrace (
"RPC_E_CHANGED_MODE being ignored"_f);
42 inline COMInitializer::~COMInitializer ()
44 Debug::TraceContextBumper ctx{
"Execution::Platform::Windows::COMInitializer::~COMInitializer"};
45 if (fNeedsShutdown_) {