Что означает код HRESULT 0xC00D36B2 (MF_E_INVALIDREQUEST)?

 
Предыдущий Следующий
MF_E_BUFFERTOOSMALL MF_E_INVALIDSTREAMNUMBER

MF_E_INVALIDREQUEST

Что означает MF_E_INVALIDREQUEST

MF_E_INVALIDREQUEST означает, что конкретный интерфейс Media Foundation не разрешает вызванный метод в текущем состоянии своего state machine. Повтор того же вызова без изменения состояния обычно воспроизводит тот же HRESULT.

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

  • Запишите интерфейс, точный метод и состояние объекта непосредственно перед вызовом.
  • Проверьте последовательность Start, Pause, Stop и Shutdown, а также незавершённые асинхронные callbacks, которые ещё могут менять состояние.
  • После Shutdown не переиспользуйте объект, если контракт конкретного интерфейса определяет это состояние как terminal.

Как подтвердить правильную обработку

Исправление подтверждается выполнением метода только в разрешённом состоянии. Если вызов зависит от асинхронного шага, следующий переход должен происходить после его документированного completion.

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


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