| Предыдущий | Следующий |
| MF_E_RATE_CHANGE_PREEMPTED | MF_E_NOT_AVAILABLE |
MF_E_NOT_FOUND
Что означает MF_E_NOT_FOUND
MF_E_NOT_FOUND (0xC00D36D5) — метод Media Foundation выполнил поиск, но в текущем объекте или области поиска нет соответствующей записи.
Этот код используется в разных подсистемах, поэтому «не найдено» всегда нужно связывать с возвращающим методом. Например, IMFDXGIBuffer::GetUnknown возвращает MF_E_NOT_FOUND, если в буфере нет объекта под указанным ключом. IMFTopologyNode::GetInput использует тот же HRESULT, если выбранный вход узла топологии ни с чем не соединён. Это разные причины, хотя числовой код одинаков.
Что проверить и как подтвердить исправление
Запишите ключ, индекс или другой идентификатор, а также объект, внутри которого выполнялся поиск. Затем проверьте, когда нужная запись должна была быть создана, присоединена или зарегистрирована и не была ли она удалена раньше текущего вызова. Для топологии это означает проверку фактического соединения узлов; для хранилища объектов — наличие именно нужного ключа в конкретном экземпляре.
MF_E_NOT_FOUND не равен MF_E_INVALIDNAME: здесь идентификатор может быть вполне допустимым, но соответствующей записи нет. Исправление подтверждается не исчезновением общего сообщения, а успешным повтором той же операции после появления нужного объекта или связи.
Документация для результата 0xC00D36D5: IMFDXGIBuffer::GetUnknown · IMFTopologyNode::GetInput · IMFTopologyNode::DisconnectOutput.
Нужно найти другой код? Найти другой код состояния или ошибки.