100 lines
2.9 KiB
C
100 lines
2.9 KiB
C
/*==========================================================================;
|
|
*
|
|
*
|
|
* File: dxerr.h
|
|
* Content: DirectX Error Library Include File
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef _DXERR_H_
|
|
#define _DXERR_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif //__cplusplus
|
|
|
|
//
|
|
// DXGetErrorString
|
|
//
|
|
// Desc: Converts a DirectX HRESULT to a string
|
|
//
|
|
// Args: HRESULT hr Can be any error code from
|
|
// XACT XAUDIO2 XAPO XINPUT DXGI D3D10 D3DX10 D3D9 D3DX9 DDRAW DSOUND DINPUT DSHOW
|
|
//
|
|
// Return: Converted string
|
|
//
|
|
const char* WINAPI DXGetErrorStringA(__in HRESULT hr);
|
|
const WCHAR* WINAPI DXGetErrorStringW(__in HRESULT hr);
|
|
|
|
#ifdef UNICODE
|
|
#define DXGetErrorString DXGetErrorStringW
|
|
#else
|
|
#define DXGetErrorString DXGetErrorStringA
|
|
#endif
|
|
|
|
|
|
//
|
|
// DXGetErrorDescription
|
|
//
|
|
// Desc: Returns a string description of a DirectX HRESULT
|
|
//
|
|
// Args: HRESULT hr Can be any error code from
|
|
// XACT XAUDIO2 XAPO XINPUT DXGI D3D10 D3DX10 D3D9 D3DX9 DDRAW DSOUND DINPUT DSHOW
|
|
//
|
|
// Return: String description
|
|
//
|
|
const char* WINAPI DXGetErrorDescriptionA(__in HRESULT hr);
|
|
const WCHAR* WINAPI DXGetErrorDescriptionW(__in HRESULT hr);
|
|
|
|
#ifdef UNICODE
|
|
#define DXGetErrorDescription DXGetErrorDescriptionW
|
|
#else
|
|
#define DXGetErrorDescription DXGetErrorDescriptionA
|
|
#endif
|
|
|
|
|
|
//
|
|
// DXTrace
|
|
//
|
|
// Desc: Outputs a formatted error message to the debug stream
|
|
//
|
|
// Args: CHAR* strFile The current file, typically passed in using the
|
|
// __FILE__ 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 DXTraceA( __in_z const char* strFile, __in DWORD dwLine, __in HRESULT hr, __in_z_opt const char* strMsg, __in BOOL bPopMsgBox );
|
|
HRESULT WINAPI DXTraceW( __in_z const char* strFile, __in DWORD dwLine, __in HRESULT hr, __in_z_opt const WCHAR* strMsg, __in BOOL bPopMsgBox );
|
|
|
|
#ifdef UNICODE
|
|
#define DXTrace DXTraceW
|
|
#else
|
|
#define DXTrace DXTraceA
|
|
#endif
|
|
|
|
|
|
//
|
|
// Helper macros
|
|
//
|
|
#if defined(DEBUG) | defined(_DEBUG)
|
|
#define DXTRACE_MSG(str) DXTrace( __FILE__, (DWORD)__LINE__, 0, str, FALSE )
|
|
#define DXTRACE_ERR(str,hr) DXTrace( __FILE__, (DWORD)__LINE__, hr, str, FALSE )
|
|
#define DXTRACE_ERR_MSGBOX(str,hr) DXTrace( __FILE__, (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
|
|
|
|
#endif // _DXERR_H_
|