view win32/directx/dxerr.d @ 5:496dfd8f7342 default tip

added: -repeat option for "in", "ov" -run until a line option -run until a function option -break on a function start -n is an alias for ov
author marton@basel.hu
date Sun, 17 Apr 2011 11:05:31 +0200
parents 4a9dcbd9e54f
children
line wrap: on
line source

/***********************************************************************\
*                                 dxerr.d                               *
*                                                                       *
*                       Windows API header module                       *
*                                                                       *
*                       Placed into public domain                       *
\***********************************************************************/
module win32.directx.dxerr;

import win32.windows;

pragma(lib, "dxerr.lib");

extern (Windows) {
	CHAR*  DXGetErrorStringA(HRESULT hr);
	WCHAR* DXGetErrorStringW(HRESULT hr);
	CHAR*  DXGetErrorDescriptionA(HRESULT hr);
	WCHAR* DXGetErrorDescriptionW(HRESULT hr);
	HRESULT DXTraceA(CHAR* strFile, DWORD dwLine, HRESULT hr, CHAR* strMsg,
	  BOOL bPopMsgBox);
	HRESULT DXTraceW(CHAR* strFile, DWORD dwLine, HRESULT hr, WCHAR* strMsg,
	  BOOL bPopMsgBox);
}

version (Unicode) {
	alias DXGetErrorStringW DXGetErrorString;
	alias DXGetErrorDescriptionW DXGetErrorDescription;
	alias DXTraceW DXTrace;
} else {
	alias DXGetErrorStringA DXGetErrorString;
	alias DXGetErrorDescriptionA DXGetErrorDescription;
	alias DXTraceA DXTrace;
}

debug (dxerr) {
	HRESULT DXTRACE_MSG(TCHAR* str) {
		return DXTrace(__FILE__, __LINE__, 0, str, false);
	}
	HRESULT DXTRACE_ERR(TCHAR* str, HRESULT hr) {
		return DXTrace(__FILE__, __LINE__, hr, str, false);
	}
	HRESULT DXTRACE_ERR_MSGBOX(TCHAR* str, HRESULT hr) {
		return DXTrace(__FILE__, __LINE__, hr, str, true);
	}
} else {
	HRESULT DXTRACE_MSG(TCHAR* str) {
		return 0;
	}
	HRESULT DXTRACE_ERR(TCHAR* str, HRESULT hr) {
		return hr;
	}
	HRESULT DXTRACE_ERR_MSGBOX(TCHAR* str, HRESULT hr) {
		return hr;
	}
}