OLD | NEW |
| (Empty) |
1 // Windows/Error.h | |
2 | |
3 #include "StdAfx.h" | |
4 | |
5 #include "Windows/Error.h" | |
6 #ifndef _UNICODE | |
7 #include "Common/StringConvert.h" | |
8 #endif | |
9 | |
10 #ifndef _UNICODE | |
11 extern bool g_IsNT; | |
12 #endif | |
13 | |
14 namespace NWindows { | |
15 namespace NError { | |
16 | |
17 bool MyFormatMessage(DWORD messageID, CSysString &message) | |
18 { | |
19 LPVOID msgBuf; | |
20 if (::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | | |
21 FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, | |
22 NULL,messageID, 0, (LPTSTR) &msgBuf,0, NULL) == 0) | |
23 return false; | |
24 message = (LPCTSTR)msgBuf; | |
25 ::LocalFree(msgBuf); | |
26 return true; | |
27 } | |
28 | |
29 #ifndef _UNICODE | |
30 bool MyFormatMessage(DWORD messageID, UString &message) | |
31 { | |
32 if (g_IsNT) | |
33 { | |
34 LPVOID msgBuf; | |
35 if (::FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | | |
36 FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, | |
37 NULL, messageID, 0, (LPWSTR) &msgBuf, 0, NULL) == 0) | |
38 return false; | |
39 message = (LPCWSTR)msgBuf; | |
40 ::LocalFree(msgBuf); | |
41 return true; | |
42 } | |
43 CSysString messageSys; | |
44 bool result = MyFormatMessage(messageID, messageSys); | |
45 message = GetUnicodeString(messageSys); | |
46 return result; | |
47 } | |
48 #endif | |
49 | |
50 }} | |
OLD | NEW |