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);
}
28.03.2009 • Метки:  • Рубрики: Наблюдения, Разработка ПО

Комментариев: 8

  1. Кирилл 13.05.2009 09:11

    юзаю уже в 10й, наверное, раз. Общественно полезный файл получился :))

  2. Антон 26.08.2009 12:53

    Полезны файл, большое спасибо автору :-)
    p.s. чтобы мне тоже такого полезного сделать

  3. Кирилл 21.01.2011 22:55

    юзаю 101 раз :)

    Павел Малинников

    Подсел на WinApi? :-)

  4. Роман 28.08.2012 16:32

    Огромное спасибо! Выручает...

  5. Кирилл 08.12.2012 22:27

    Пользую 102-й раз.

    Павел Малинников

    Хорошо, когда польза. А я уже давно в винапи не заглядывал.

  6. Кирилл 02.01.2013 21:23

    Да я бы и сам триста лет не заглядывал... Софтина ничего кроме кода ошибки не возвращает. Приходится подглядывать:)

Ваш комментарий:

 

 


Только просмотр (без публикации)