SkAutoCoInitialize.cpp revision 96fcdcc219d2a0d3579719b84b28bede76efba64
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 15SkAutoCoInitialize::SkAutoCoInitialize() : 16 fHR( 17 CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE) 18 ) 19{ } 20 21SkAutoCoInitialize::~SkAutoCoInitialize() { 22 if (SUCCEEDED(this->fHR)) { 23 CoUninitialize(); 24 } 25} 26 27bool SkAutoCoInitialize::succeeded() { 28 return SUCCEEDED(this->fHR) || RPC_E_CHANGED_MODE == this->fHR; 29} 30