Mercurial > projects > dynamin
comparison dynamin/c/windows.d @ 89:0d6778fea624
Add some Windows error constants and related functions.
author | Jordan Miner <jminer7@gmail.com> |
---|---|
date | Mon, 26 Jul 2010 00:33:22 -0500 |
parents | e52546f41851 |
children | 8b2d3b3cbca6 |
comparison
equal
deleted
inserted
replaced
88:f149c868a34f | 89:0d6778fea624 |
---|---|
117 BYTE GetBValue(DWORD rgb) { return LOBYTE(rgb >> 16); } | 117 BYTE GetBValue(DWORD rgb) { return LOBYTE(rgb >> 16); } |
118 | 118 |
119 int MessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType); | 119 int MessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType); |
120 | 120 |
121 DWORD GetLastError(); | 121 DWORD GetLastError(); |
122 | |
123 enum : HRESULT { | |
124 E_NOTIMPL = 0x80004001, | |
125 E_OUTOFMEMORY = 0x8007000E, | |
126 E_INVALIDARG = 0x80070057, | |
127 E_NOINTERFACE = 0x80004002, | |
128 E_POINTER = 0x80004003, | |
129 E_HANDLE = 0x80070006, | |
130 E_ABORT = 0x80004004, | |
131 E_FAIL = 0x80004005, | |
132 E_ACCESSDENIED = 0x80070005 | |
133 } | |
134 | |
135 // COM error codes | |
136 enum { | |
137 SEVERITY_SUCCESS = 0, | |
138 SEVERITY_ERROR = 1, | |
139 } | |
140 enum { | |
141 FACILITY_WIN32 = 7, | |
142 FACILITY_ITF = 4, | |
143 } | |
144 | |
145 bool SUCCEEDED(HRESULT hr) { return hr >= 0; } | |
146 bool FAILED(HRESULT hr) { return hr < 0; } | |
147 bool IS_ERROR(HRESULT hr) { return (hr >> 31) == SEVERITY_ERROR; } | |
148 uint HRESULT_CODE(HRESULT hr) { return hr & 0xFFFF; } | |
149 uint HRESULT_FACILITY(HRESULT hr) { return (hr >> 16) & 0x1FFF; } | |
150 uint HRESULT_SEVERITY(HRESULT hr) { return (hr >> 31) & 0x1; } | |
151 HRESULT MAKE_HRESULT(uint sev, uint fac, uint code) { return (sev << 31) | (fac << 16) | code; } | |
122 | 152 |
123 int MultiByteToWideChar( | 153 int MultiByteToWideChar( |
124 UINT CodePage, | 154 UINT CodePage, |
125 DWORD dwFlags, | 155 DWORD dwFlags, |
126 LPCSTR lpMultiByteStr, | 156 LPCSTR lpMultiByteStr, |