| Предыдущий | Следующий |
| NS_E_CURLHELPER_NOTADIRECTORY | NS_E_CURL_CANTDECODE |
NS_E_CURLHELPER_NOTAFILE
Что означает NS_E_CURLHELPER_NOTAFILE на уровне ответственного API
Когда NS_E_CURLHELPER_NOTAFILE (0xC00D132E) появляется, первый заблокированный переход — операция, которой требуется URL файла, получила URL, похожий на каталог. На практике проверку URL notafile необходимо восстановить по тому же URL, потоку, поколению объекта и последовательности вызовов.
До открытия сокета проигрыватель разбирает URL на схему, authority, узел, порт, путь и экранированные данные до закрытия инцидента notafile. Он также может объединять относительную ссылку с базовым URL или преобразовывать файловый URL в путь; для каждой операции действуют свои правила допустимости в диагностической записи notafile. В случае NS_E_CURLHELPER_NOTAFILE сохраните самый ранний результат нижнего уровня, поскольку оболочки могут сопоставить несколько разных причин одному HRESULT при выделении случая notafile.
Эксперимент с одним компонентом URL
- Запишите
0xC00D132E,NS_E_CURLHELPER_NOTAFILE, точную операцию и время первого сбоя в контрольной точке notafile. - Сохраните исходную неизменённую строку, число символов, кодировку, базовый URL при его наличии, разобранные схему, узел, порт и путь, а также требуемую и предоставленную длины выходного буфера при трассировке пути notafile.
- Не используйте повторно граф, сеанс, объект чтения или объект метаданных, созданный до изменения соответствующей конфигурации или ресурса при контролируемой повторной проверке notafile.
- Выполните один изолированный тест: повторите вызов с URL, последний компонент которого обозначает файл, устранив только предположение о каталоге при сборе данных о notafile.
- Повторите действие через тот же API и тот же протокольный путь; другой проигрыватель или локальная копия полезны только для сравнения, но не доказывают исправление проверки URL notafile.
- Подтвердите ожидаемое следующее состояние и сохраните любой новый HRESULT как отдельный последующий результат в диагностической записи notafile.
Что завершилось, а что нет
До проверки URL notafile предыдущая настройка могла завершиться успешно, но условие «операция, которой требуется URL файла, получила URL, похожий на каталог» не было выполнено. Поэтому журнал должен сохранять как последний успешный вызов, так и NS_E_CURLHELPER_NOTAFILE.
Целевое сравнение — повторите вызов с URL, последний компонент которого обозначает файл, устранив только предположение о каталоге при трассировке пути notafile. Оно изменяет спорное предусловие, не меняя идентичность мультимедиа или несвязанные настройки системы при контролируемой повторной проверке notafile.
Сохранение исходного и разобранного URL
| Что зафиксировать | Как это помогает выделить NS_E_CURLHELPER_NOTAFILE |
|---|---|
| Ответственный вызов | Запишите метод API, идентичность объекта, поток или обратный вызов и метку времени для проверки URL notafile. |
| Решающие значения | исходная неизменённая строка, число символов, кодировка, базовый URL при его наличии, разобранные схема, узел, порт и путь, а также требуемая и предоставленная длины выходного буфера до закрытия инцидента notafile. |
| Поколение объекта | Отметьте, когда были созданы объект чтения, записи, граф, объект URL, сеанс потоковой передачи или поставщик метаданных; устаревшее состояние может повторно вызывать NS_E_CURLHELPER_NOTAFILE после изменения конфигурации. |
| Первый вложенный результат | Сохраните самый ранний статус кодека, COM, сокета, DNS, анализатора или поставщика до NS_E_CURLHELPER_NOTAFILE; более поздние сообщения интерфейса менее конкретны. |
| Случай для сравнения | Используйте один заведомо исправный ресурс, проходящий ту же проверку URL notafile, и измените только отклонённое предусловие. |
Что доказывает результат анализатора
| Результат повторной проверки | Толкование для NS_E_CURLHELPER_NOTAFILE |
|---|---|
| Тот же вызов по-прежнему возвращает код | Значения, управляющие проверкой URL notafile, не изменились либо вызывающий код по-прежнему использует старое поколение объекта. |
| Новый объект работает успешно | Время жизни или кэшированное состояние способствовало появлению NS_E_CURLHELPER_NOTAFILE; исправьте повторное создание объекта вместо применения обходного решения ко всей системе при контролируемой повторной проверке notafile. |
| Вызов доходит до другого HRESULT | Граница проверки URL notafile пройдена. Диагностируйте новый код на его собственной стадии формата, графа, URL, сети или метаданных до закрытия инцидента notafile. |
| Ошибка возникает только для одного ресурса | Данные указывают на состояние конкретного содержимого, URL, точки публикации, потока, атрибута или объекта, а не на общий отказ в диагностической записи notafile. |
Действия, вводящие в заблуждение
- слепое декодирование и повторное кодирование всего URL может изменить зарезервированные разделители и идентичность ресурса при выделении случая notafile.
- Не стирайте данные о первом появлении
NS_E_CURLHELPER_NOTAFILEмногократными повторными попытками; обратные вызовы и повторные соединения могут заменить полезное состояние более поздней обобщающей ошибкой в контрольной точке notafile. - Не публикуйте учётные данные, материалы защищённого содержимого или полные частные URL при трассировке пути notafile. Записывайте обезличенные идентификаторы, длины, хэши и поля протокола, необходимые для воспроизведения проверки URL notafile.
Близкие результаты не взаимозаменяемы
Главное различие: Ошибки синтаксиса URL возникают до обращения к DNS сервера, выбора прокси или создания сеанса потоковой передачи при сборе данных о notafile.
| Близкий HRESULT | Как его сравнивать |
|---|---|
NS_E_CURL_INVALIDPORT | Сравните ответственный API и первое отклонённое значение; это соседняя контрольная точка, а не обязательно та же причина, что и у NS_E_CURLHELPER_NOTAFILE. |
NS_E_CURLHELPER_NOTADIRECTORY | По состоянию объекта и порядку операций определите, какой код является определяющим, если оба появляются в одной трассировке в диагностической записи notafile. |
NS_E_CURL_CANTDECODE | Сохраните этот результат отдельно, если он появляется только после устранения условия NS_E_CURLHELPER_NOTAFILE. |
Технические источники
- RFC 3986: общий синтаксис URI
- Обработка URL с помощью WinINet
- CreateUri
- ParseURL
- Реестр HRESULT Microsoft
Для NS_E_CURLHELPER_NOTAFILE, сохраните трассировку после исправления, чтобы более поздний результат конвейера не приняли за повторение этой границы в контрольной точке notafile.
Нужно найти другой код? Найти другой код состояния или ошибки.
