/*==========================================================================; * * * File: dxerr8.h * Content: DirectX Error Library Include File * ****************************************************************************/ #ifndef _DXERR8_H_ #define _DXERR8_H_ #ifdef __cplusplus extern "C" { #endif //__cplusplus // // DXGetErrorString8 // // Desc: Converts a DirectX HRESULT to a string // // Args: HRESULT hr Can be any error code from // D3D8 D3DX8 DDRAW DPLAY8 DMUSIC DSOUND DINPUT DSHOW // // Return: Converted string // const char* WINAPI DXGetErrorString8A(HRESULT hr); const WCHAR* WINAPI DXGetErrorString8W(HRESULT hr); #ifdef UNICODE #define DXGetErrorString8 DXGetErrorString8W #else #define DXGetErrorString8 DXGetErrorString8A #endif // // DXGetErrorDescription8 // // Desc: Returns a string description of a DirectX HRESULT // // Args: HRESULT hr Can be any error code from // D3D8 D3DX8 DDRAW DPLAY8 DMUSIC DSOUND DINPUT DSHOW // // Return: String description // const char* WINAPI DXGetErrorDescription8A(HRESULT hr); const WCHAR* WINAPI DXGetErrorDescription8W(HRESULT hr); #ifdef UNICODE #define DXGetErrorDescription8 DXGetErrorDescription8W #else #define DXGetErrorDescription8 DXGetErrorDescription8A #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( char* strFile, DWORD dwLine, HRESULT hr, char* strMsg, BOOL bPopMsgBox ); HRESULT WINAPI DXTraceW( char* strFile, DWORD dwLine, HRESULT hr, WCHAR* strMsg, 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, TRUE ) #define DXTRACE_ERR_NOMSGBOX(str,hr) DXTrace( __FILE__, (DWORD)__LINE__, hr, str, FALSE ) #else #define DXTRACE_MSG(str) (0L) #define DXTRACE_ERR(str,hr) (hr) #define DXTRACE_ERR_NOMSGBOX(str,hr) (hr) #endif #ifdef __cplusplus } #endif //__cplusplus #endif // _DXERR8_H_