Почему многие коды ошибок Windows начинаются с 0xC000xxxx? Есть ли для них ссылка?

11

Я заметил, что большинство кодов ошибок Windows имеют одну из двух форм:

  • Стандартные системные коды ошибок , например, 0x05 - Доступ запрещен.
  • Коды ошибок в форме 0xC000xxxx, ссылки на которые я не могу найти.

Сначала я подумал, что последние коды ошибок были просто системными кодами ошибок, которые 0xC0000000по какой-то причине были побитовыми ИЛИ , но это, похоже, не так; они не соответствуют характеру ошибки, если отображены таким образом.

Кажется, что все ссылки на такие ошибки в Google связаны со сбоями приложений, но имена ошибок не приводятся.

Похоже, что они не являются специфичными для приложения, поскольку некоторые Nt*API внутри ntdll.dll возвращают их, например, NtCreateDirectoryObjectвозвращает 0xC0000022при вызове с неверными параметрами.

В чем разница между двумя типами кода ошибки? Microsoft официально распознает их как стандартные коды ошибок? Есть ли для них справочная страница?

многочлен
источник
посмотреть на COM Коды ошибок msdn.microsoft.com/de-de/library/windows/desktop/...
bummi

Ответы:

7

Существует обширный список значений ошибок в документации значений NTSTATUS .

Например, 0xC0000022обозначает STATUS_ACCESS_DENIED, что является очень распространенным возвращаемым значением.

Несколько не связано, но есть также список кодов ошибок . Эти коды обычно отображаются при получении BSOD.

Der Hochstapler
источник
Отлично! Эта ссылка определенно входит в мои закладки.
Полином