| Предыдущий | Следующий |
| 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 не устраняют превышение длины строки.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.