Есть ли способ получить флаги ошибок winapi в виде строк?

Я имею в виду это: http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx

Вот три фрагмента данных для каждой ошибки:

0 (0x0)
ERROR_SUCCESS
The operation completed successfully.

1 (0x1)
ERROR_INVALID_FUNCTION
Incorrect function.

2 (0x2)
ERROR_FILE_NOT_FOUND
The system cannot find the file specified.

Итак, номер ошибки возвращается из GetLastError (), я также знаю, как получить описание, используя FormatMessage http://msdn.microsoft.com/en-us/library/windows/desktop/ms679351(v=vs.85).aspx . Но мой вопрос заключается в том, как получить эти флаги ошибок: ERROR_INVALID_FUNCTION, ERROR_FILE_NOT_FOUND — в виде строк. Я знаю, что могу сам создать карту для этого, но мне интересно, не хранятся ли они где-нибудь в окнах так же, как описания ошибок.

[OT] вот фрагмент описания ошибок.

char *err_msg;
int num_chars = FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
errCode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // default language
(LPTSTR) &err_msg,
0,
NULL
);

0

Решение

Нет такого метода, встроенного в Windows.

Идентификаторы #define специфичны для языков C и C ++ и не используются, например, в C #. Следует также отметить, что может быть несколько разных # define для одного и того же кода ошибки, в зависимости от используемого API, например ERROR_INVALID_HANDLE (Win32) и WSA_INVALID_HANDLE (Winsock).

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector