77 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
//--------------------------------------------------------------------------------------
 | 
						|
// File: DXErr.h
 | 
						|
//
 | 
						|
// DirectX Error Library
 | 
						|
//
 | 
						|
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
 | 
						|
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
 | 
						|
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
 | 
						|
// PARTICULAR PURPOSE.
 | 
						|
//
 | 
						|
// Copyright (c) Microsoft Corporation. All rights reserved.
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
 | 
						|
// This version only supports UNICODE.
 | 
						|
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include <windows.h>
 | 
						|
#include <sal.h>
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
// DXGetErrorString
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
const WCHAR* WINAPI DXGetErrorStringW( _In_ HRESULT hr );
 | 
						|
 | 
						|
#define DXGetErrorString DXGetErrorStringW
 | 
						|
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
// DXGetErrorDescription has to be modified to return a copy in a buffer rather than
 | 
						|
// the original static string.
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
void WINAPI DXGetErrorDescriptionW( _In_ HRESULT hr, _Out_cap_(count) WCHAR* desc, _In_ size_t count );
 | 
						|
 | 
						|
#define DXGetErrorDescription DXGetErrorDescriptionW
 | 
						|
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
//  DXTrace
 | 
						|
//
 | 
						|
//  Desc:  Outputs a formatted error message to the debug stream
 | 
						|
//
 | 
						|
//  Args:  WCHAR* strFile   The current file, typically passed in using the 
 | 
						|
//                         __FILEW__ macro.
 | 
						|
//         DWORD dwLine    The current line number, typically passed in using the 
 | 
						|
//                         __LINE__ macro.
 | 
						|
//         HRESULT hr      An HRESULT that will be traced to the debug stream.
 | 
						|
//         CHAR* strMsg    A string that will be traced to the debug stream (may be NULL)
 | 
						|
//         BOOL bPopMsgBox If TRUE, then a message box will popup also containing the passed info.
 | 
						|
//
 | 
						|
//  Return: The hr that was passed in.  
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
HRESULT WINAPI DXTraceW( _In_z_ const WCHAR* strFile, _In_ DWORD dwLine, _In_ HRESULT hr, _In_opt_ const WCHAR* strMsg, _In_ bool bPopMsgBox );
 | 
						|
 | 
						|
#define DXTrace DXTraceW
 | 
						|
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
//
 | 
						|
// Helper macros
 | 
						|
//
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
#if defined(DEBUG) || defined(_DEBUG)
 | 
						|
#define DXTRACE_MSG(str)              DXTrace( __FILEW__, (DWORD)__LINE__, 0, str, false )
 | 
						|
#define DXTRACE_ERR(str,hr)           DXTrace( __FILEW__, (DWORD)__LINE__, hr, str, false )
 | 
						|
#define DXTRACE_ERR_MSGBOX(str,hr)    DXTrace( __FILEW__, (DWORD)__LINE__, hr, str, true )
 | 
						|
#else
 | 
						|
#define DXTRACE_MSG(str)              (0L)
 | 
						|
#define DXTRACE_ERR(str,hr)           (hr)
 | 
						|
#define DXTRACE_ERR_MSGBOX(str,hr)    (hr)
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif //__cplusplus
 |