Я заметил, что большинство кодов ошибок Windows имеют одну из двух форм:
- Стандартные системные коды ошибок, например, 0x05 - Доступ запрещен.
- Коды ошибок в форме
0xC000xxxx
, ссылки на которые я не могу найти.
Сначала я подумал, что последние коды ошибок были просто системными кодами ошибок, которые по какой-то причине были побитово ИЛИ с 0xC0000000
, но, похоже, это не так; они не соответствуют характеру ошибки, если отображены таким образом.
Кажется, что все ссылки на такие ошибки в Google связаны со сбоями приложений, но имена ошибок не приводятся.
Похоже, они также не зависят от приложения, поскольку некоторые из API-интерфейсов Nt*
внутри ntdll.dll возвращают их, например, NtCreateDirectoryObject
возвращает 0xC0000022
при вызове с неверными параметрами.
В чем разница между двумя типами кода ошибки? Microsoft официально распознает их как стандартные коды ошибок? Есть ли для них справочная страница?