Что означает код NTSTATUS 0xC0000024 (STATUS_OBJECT_TYPE_MISMATCH)?

 
Предыдущий Следующий
STATUS_BUFFER_TOO_SMALL STATUS_NONCONTINUABLE_EXCEPTION

STATUS_OBJECT_TYPE_MISMATCH

Имя разрешено, но объект имеет не тот тип, который запросил вызывающий код

STATUS_OBJECT_TYPE_MISMATCH означает, что Windows нашла объект, но его тип несовместим с запрошенной операцией. В отличие от статусов not-found, поиск завершился успешно; операция отказала потому, что файл, каталог, устройство, событие, секция или другая категория объекта оказалась не ожидаемой.

В коде файловой системы это возможно, когда запрос ожидает каталог, но достигает обычного файла, или наоборот. В нативном коде Object Manager статус также может выявлять неверное предположение о типе объекта пространства имён за именем или дескриптором.

Исследуйте контракт, а не только путь

  • Запишите запрошенную операцию и ожидаемый тип объекта вместе с разрешённым именем.
  • Запишите параметры создания или открытия, требующие объект каталога либо не-каталога.
  • Проверьте, не изменили ли reparse, сопоставление устройства или контекст корневого дескриптора объект, к которому привело имя.
  • Не считайте статус ошибкой разрешений: изменение прав доступа не превращает один тип объекта в другой.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.