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,