1*c8dee2aaSAndroid Build Coastguard Worker /* 2*c8dee2aaSAndroid Build Coastguard Worker * Copyright 2011 Google Inc. 3*c8dee2aaSAndroid Build Coastguard Worker * 4*c8dee2aaSAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license that can be 5*c8dee2aaSAndroid Build Coastguard Worker * found in the LICENSE file. 6*c8dee2aaSAndroid Build Coastguard Worker */ 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkTypes.h" 9*c8dee2aaSAndroid Build Coastguard Worker #if defined(SK_BUILD_FOR_WIN) 10*c8dee2aaSAndroid Build Coastguard Worker 11*c8dee2aaSAndroid Build Coastguard Worker #include "src/utils/win/SkAutoCoInitialize.h" 12*c8dee2aaSAndroid Build Coastguard Worker 13*c8dee2aaSAndroid Build Coastguard Worker #include <objbase.h> 14*c8dee2aaSAndroid Build Coastguard Worker #include <winerror.h> 15*c8dee2aaSAndroid Build Coastguard Worker SkAutoCoInitialize()16*c8dee2aaSAndroid Build Coastguard WorkerSkAutoCoInitialize::SkAutoCoInitialize() : 17*c8dee2aaSAndroid Build Coastguard Worker fHR( 18*c8dee2aaSAndroid Build Coastguard Worker CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE) 19*c8dee2aaSAndroid Build Coastguard Worker ) 20*c8dee2aaSAndroid Build Coastguard Worker { } 21*c8dee2aaSAndroid Build Coastguard Worker ~SkAutoCoInitialize()22*c8dee2aaSAndroid Build Coastguard WorkerSkAutoCoInitialize::~SkAutoCoInitialize() { 23*c8dee2aaSAndroid Build Coastguard Worker if (SUCCEEDED(this->fHR)) { 24*c8dee2aaSAndroid Build Coastguard Worker CoUninitialize(); 25*c8dee2aaSAndroid Build Coastguard Worker } 26*c8dee2aaSAndroid Build Coastguard Worker } 27*c8dee2aaSAndroid Build Coastguard Worker succeeded()28*c8dee2aaSAndroid Build Coastguard Workerbool SkAutoCoInitialize::succeeded() { 29*c8dee2aaSAndroid Build Coastguard Worker return SUCCEEDED(this->fHR) || RPC_E_CHANGED_MODE == this->fHR; 30*c8dee2aaSAndroid Build Coastguard Worker } 31*c8dee2aaSAndroid Build Coastguard Worker 32*c8dee2aaSAndroid Build Coastguard Worker #endif//defined(SK_BUILD_FOR_WIN) 33