Что означает код HRESULT 0x8004020E (VFW_E_BADALIGN)?

 
Также может означать:
КонстантаТипОС
EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECTHRESULTWindows
Предыдущий Следующий
EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT EVENT_E_INVALID_EVENT_CLASS_PARTITION

VFW_E_BADALIGN

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

VFW_E_BADALIGN означает, что при согласовании DirectShow allocator задано недопустимое или невыполнимое требование к выравниванию buffer.

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

  • ALLOCATOR_PROPERTIES.cbAlign до и после negotiation.
  • Какой filter первым запросил это alignment.
  • Не передано ли нулевое, не поддерживаемое или неверно вычисленное значение.
  • Media type и allocator, между которыми возникло несогласование.

Как локализовать

Сохраните свойства allocator на обоих концах connection и сравните требования upstream/downstream filter. Не лечите эту ошибку увеличением общего размера buffer: size и alignment — разные условия. Для собственного filter-а проверьте реализацию DecideBufferSize/SetProperties и убедитесь, что фактически возвращённые свойства действительно принимаются. После исправления повторите graph connection и подтвердите, что allocator согласован без изменения media type.

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


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