/* * Copyright 2011 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "SkTypes.h" #include "SKHRESULT.h" void SkTraceHR(const char* file, unsigned long line, HRESULT hr, const char* msg) { SkDEBUGCODE(if (NULL != msg) SkDEBUGF(("%s\n", msg))); SkDEBUGF(("%s(%lu) : error 0x%x: ", file, line, hr)); LPSTR errorText = NULL; FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, hr, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR) &errorText, 0, NULL ); if (NULL == errorText) { SkDEBUGF(("<unknown>\n")); } else { SkDEBUGF(("%s", errorText)); LocalFree(errorText); errorText = NULL; } }