1 2 /* 3 * Copyright 2011 Google Inc. 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9 10 #define WIN32_LEAN_AND_MEAN 11 #include <windows.h> 12 #include <ole2.h> 13 #include "SkAutoCoInitialize.h" 14 15 SkAutoCoInitialize::SkAutoCoInitialize() : 16 fHR( 17 CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE) 18 ) 19 { } 20 21 SkAutoCoInitialize::~SkAutoCoInitialize() { 22 if (SUCCEEDED(this->fHR)) { 23 CoUninitialize(); 24 } 25 } 26 27 bool SkAutoCoInitialize::succeeded() { 28 return SUCCEEDED(this->fHR) || RPC_E_CHANGED_MODE == this->fHR; 29 } 30