Home | History | Annotate | Download | only in win
      1 /*
      2  * Copyright 2011 Google Inc.
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 #include "SkTypes.h"
      9 
     10 #include "SkHRESULT.h"
     11 
     12 void SkTraceHR(const char* file, unsigned long line, HRESULT hr, const char* msg) {
     13     if (msg) {
     14         SkDebugf("%s\n", msg);
     15     }
     16     SkDebugf("%s(%lu) : error 0x%x: ", file, line, hr);
     17 
     18     LPSTR errorText = NULL;
     19     FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER |
     20                    FORMAT_MESSAGE_FROM_SYSTEM |
     21                    FORMAT_MESSAGE_IGNORE_INSERTS,
     22                    NULL,
     23                    hr,
     24                    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
     25                    (LPSTR) &errorText,
     26                    0,
     27                    NULL
     28     );
     29 
     30     if (NULL == errorText) {
     31         SkDebugf("<unknown>\n");
     32     } else {
     33         SkDebugf("%s", errorText);
     34         LocalFree(errorText);
     35         errorText = NULL;
     36     }
     37 }
     38