1
|
1 /***********************************************************************\
|
|
2 * dxerr.d *
|
|
3 * *
|
|
4 * Windows API header module *
|
|
5 * *
|
|
6 * Placed into public domain *
|
|
7 \***********************************************************************/
|
|
8 module win32.directx.dxerr;
|
|
9
|
|
10 import win32.windows;
|
|
11
|
|
12 pragma(lib, "dxerr.lib");
|
|
13
|
|
14 extern (Windows) {
|
|
15 CHAR* DXGetErrorStringA(HRESULT hr);
|
|
16 WCHAR* DXGetErrorStringW(HRESULT hr);
|
|
17 CHAR* DXGetErrorDescriptionA(HRESULT hr);
|
|
18 WCHAR* DXGetErrorDescriptionW(HRESULT hr);
|
|
19 HRESULT DXTraceA(CHAR* strFile, DWORD dwLine, HRESULT hr, CHAR* strMsg,
|
|
20 BOOL bPopMsgBox);
|
|
21 HRESULT DXTraceW(CHAR* strFile, DWORD dwLine, HRESULT hr, WCHAR* strMsg,
|
|
22 BOOL bPopMsgBox);
|
|
23 }
|
|
24
|
|
25 version (Unicode) {
|
|
26 alias DXGetErrorStringW DXGetErrorString;
|
|
27 alias DXGetErrorDescriptionW DXGetErrorDescription;
|
|
28 alias DXTraceW DXTrace;
|
|
29 } else {
|
|
30 alias DXGetErrorStringA DXGetErrorString;
|
|
31 alias DXGetErrorDescriptionA DXGetErrorDescription;
|
|
32 alias DXTraceA DXTrace;
|
|
33 }
|
|
34
|
|
35 debug (dxerr) {
|
|
36 HRESULT DXTRACE_MSG(TCHAR* str) {
|
|
37 return DXTrace(__FILE__, __LINE__, 0, str, false);
|
|
38 }
|
|
39 HRESULT DXTRACE_ERR(TCHAR* str, HRESULT hr) {
|
|
40 return DXTrace(__FILE__, __LINE__, hr, str, false);
|
|
41 }
|
|
42 HRESULT DXTRACE_ERR_MSGBOX(TCHAR* str, HRESULT hr) {
|
|
43 return DXTrace(__FILE__, __LINE__, hr, str, true);
|
|
44 }
|
|
45 } else {
|
|
46 HRESULT DXTRACE_MSG(TCHAR* str) {
|
|
47 return 0;
|
|
48 }
|
|
49 HRESULT DXTRACE_ERR(TCHAR* str, HRESULT hr) {
|
|
50 return hr;
|
|
51 }
|
|
52 HRESULT DXTRACE_ERR_MSGBOX(TCHAR* str, HRESULT hr) {
|
|
53 return hr;
|
|
54 }
|
|
55 } |