Что означает код HRESULT 0x80010135 (CO_E_PATHTOOLONG)?

 
Предыдущий Следующий
CO_E_FAILEDTOGETWINDIR CO_E_FAILEDTOGENUUID

CO_E_PATHTOOLONG

Что означает результат

CO_E_PATHTOOLONG: COM/OLE получил путь, длина которого превышает допустимую для конкретной внутренней операции границу. Наличие long-path support в Windows не гарантирует, что старый COM-компонент или API принимает путь любой длины.

Что проверить

  • Сохраните фактический путь после всех подстановок, canonicalization и добавления имени файла.
  • Измерьте длину в той форме, которую получает вызываемый API, включая префиксы и завершающий нуль там, где это существенно.
  • Проверьте, какой компонент строит путь: клиент, COM server, installer или временный каталог.
  • Сравните короткий рабочий путь без изменения CLSID и данных объекта; это подтверждает именно ограничение длины.

Диагностика и исправление

Сократите путь или используйте документированный long-path aware API на той стадии, где формируется имя. Изменение ACL и регистрация другой DLL не устраняют превышение длины строки.

Технические ссылки


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