Что означает код HRESULT 0x80040293 (VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD)?

 
Предыдущий Следующий
VFW_E_DVD_NO_RESUME_INFORMATION VFW_E_PIN_ALREADY_BLOCKED

VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD

Что означает результат

VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD: Текущий поток уже заблокировал этот выходной pin через IPinFlowControl::Block. Повторная блокировка тем же потоком нарушает ожидаемый жизненный цикл управления потоком данных.

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

  • Сопоставьте каждый успешный вызов Block с моментом снятия блокировки и храните это состояние отдельно для каждого pin.
  • Проверьте вложенные callbacks, обработчики ошибок и повторный вход: они не должны снова блокировать уже заблокированный тем же потоком pin.
  • После переподключения графа не переносите признак блокировки на новый объект pin без проверки его идентичности.
  • Если блокировка используется для динамической перестройки графа, убедитесь, что снятие выполняется и на всех ветках досрочного выхода.

Диагностика и исправление

Исправьте парность Block и снятия блокировки. Создание новых фильтров или повторный Block не устраняет ошибку владения состоянием конкретного pin.

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


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