Home | History | Annotate | Download | only in win
      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