| Предыдущий | Следующий |
| MF_E_UNEXPECTED | MF_E_INVALIDTYPE |
MF_E_INVALIDNAME
Что означает MF_E_INVALIDNAME
MF_E_INVALIDNAME (0xC00D36BC) — строковое имя или именованный идентификатор не допускается тем методом Media Foundation, которому он передан.
Media Foundation не задаёт единую грамматику для всех имён. Один API может принимать URL, другой — имя свойства, устройства, потока или другого объекта. Поэтому по одному HRESULT нельзя решить, нужно ли менять расширение файла, GUID, путь или название свойства: сначала необходимо установить метод, который непосредственно отверг имя, и правила именно его пространства имён.
Что проверить и как подтвердить исправление
Сохраните исходную строку без нормализации: длину, завершающий NUL, регистр, разделители и полный контекст вызова. Затем сравните её с форматом имени, который документирован для этого метода. Если API принимает канонический идентификатор, отображаемое пользователю название или строка из другого пространства имён не является равноценной заменой.
Важно отличать этот код от MF_E_NOT_FOUND. При MF_E_INVALIDNAME отвергается само имя или его форма; при MF_E_NOT_FOUND поиск уже выполнен, но соответствующего объекта или значения нет. Исправление подтверждается тем, что тот же метод принимает корректно сформированное имя и продолжает исходную операцию.
Документация для результата 0xC00D36BC: Media Foundation error codes · Media Foundation architecture.
Нужно найти другой код? Найти другой код состояния или ошибки.
