GetLastError
Пришлось мне как-то несколько раз подряд по просьбе товарищей запускать Error Lookup и смотреть, что означает код ошибки из Win API. Поэтому я решил вытащить сразу все коды с описанием в один файл.
Кто интересуется кодом, может посмотреть в подробностях, хотя там ничего военного нету. А неожиданность вот в чём. У кого-нибудь есть предположения о смысле таких ошибок, как:
5090: Испания
5091: Дания
5092: Швеция
5093: Норвегия
5094: Германия5095: Австралия
5096: Япония
5097: Корея
5098: Китай (КНР)
5099: Тайвань5100: Азия
5101: Португалия
5102: Финляндия
5103: Арабский
5104: Иврит
Я, было, подумал, что это языки, но страны не все. Да и «Азия» как-то не очень вписывается. К тому же есть отдельные функции перечисления региональных установок. А это коды именно ошибок.
4385: Воскресенье, 4386: Понедельник, 4387: Вторник, 4388: Среда, 4389: Четверг
— А где пятница и суббота?
Кто-нибудь сталкивался с такими сообщениями об ошибках?
Вот как я сгенерил файлик:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | CString GetSysErrorDescr(DWORD dwLastErr) { LPVOID lpMsgBuf; if(FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, dwLastErr, 0, (LPTSTR) &lpMsgBuf, 0, NULL) == 0) return _T(""); CString sErr ((LPTSTR) lpMsgBuf); LocalFree (lpMsgBuf); sErr.TrimRight(); return sErr; } void DumpErrDescr() { FILE * f = _tfopen (_T("log.log"), _T("a")); for (DWORD i = 0; i < 100000; i++) { CString err = GetSysErrorDescr(i); if (err != _T("")) _ftprintf (f, _T("%d:\t%s\n"), i, err); } fclose (f); } |
← Знак гривны | Сбыча мечт → |
Комментариев: 8
юзаю уже в 10й, наверное, раз. Общественно полезный файл получился :))
Полезны файл, большое спасибо автору :-)
p.s. чтобы мне тоже такого полезного сделать
юзаю 101 раз :)
Подсел на WinApi? :-)
Огромное спасибо! Выручает...
Пользую 102-й раз.
Хорошо, когда польза. А я уже давно в винапи не заглядывал.
Да я бы и сам триста лет не заглядывал... Софтина ничего кроме кода ошибки не возвращает. Приходится подглядывать:)
Ваш комментарий: