Поделиться через


Коды ошибок и успешного выполнения DirectShow

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

В этом разделе перечислены коды возврата HRESULT , определенные для DirectShow. Обратите внимание, что API DirectShow могут возвращать другие значения HRESULT , не показанные здесь. Дополнительные значения HRESULT см. в разделе Коды ошибок COM.

В следующей таблице приведены коды ошибок и успешного выполнения DirectShow в числовом порядке. Коды возврата, начинающиеся с VFW_S_ указывают на успешное выполнение. Операция может частично завершиться успешно и по-прежнему иметь успешное возвращаемое значение. Например, VFW_S_SOME_DATA_IGNORED указывает, что файл был отрисован путем игнорирования некоторых его параметров свойств. Коды возврата, начинающиеся с VFW_E_ указывают на ошибку.

Эти значения определяются в файле заголовка Vfwmsgs.h.

Констант/значение Описание
VFW_S_NO_MORE_ITEMS
0x00040103
Достигнут конец списка; больше нет элементов в списке. (Разработчики фильтров. Ожидается, что метод CBasePin::GetMediaType вернет это значение.)
VFW_S_DUPLICATE_NAME
0x0004022D
Попытка добавить фильтр с повторяющимся именем выполнена успешно с измененным именем.
VFW_S_STATE_INTERMEDIATE
0x00040237
Переход состояния не завершен.
VFW_S_PARTIAL_RENDER
0x00040242
Некоторые потоки имеют неподдерживаемый формат.
VFW_S_SOME_DATA_IGNORED
0x00040245
Файл содержит некоторые параметры свойств, которые не использовались.
VFW_S_CONNECTIONS_DEFERRED
0x00040246
Некоторые подключения завершились сбоем и были отложены.
VFW_S_RESOURCE_NOT_NEEDED
0x00040250
Указанный ресурс больше не требуется.
VFW_S_MEDIA_TYPE_IGNORED
0x00040254
Файл GraphEdit (GRF) был загружен успешно, но по крайней мере два контакта были подключены с использованием другого типа мультимедиа, чем тип носителя, хранящийся в файле GraphEdit.
VFW_S_VIDEO_NOT_RENDERED
0x00040257
Не удается воспроизвести видеопоток: не удалось найти подходящий отрисовщик.
VFW_S_AUDIO_NOT_RENDERED
0x00040258
Не удается воспроизвести аудиопоток: не удалось найти подходящий отрисовщик.
VFW_S_RPZA
0x0004025A
Не удается воспроизвести видеопоток: формат "RPZA" не поддерживается.
VFW_S_ESTIMATED
0x00040260
Возвращаемое значение должно быть оценено. Его точность не может быть гарантирована.
VFW_S_RESERVED
0x00040263
Этот код успешного выполнения зарезервирован для внутренних целей в DirectShow.
VFW_S_STREAM_OFF
0x00040267
Поток отключен.
VFW_S_CANT_CUE
0x00040268
Фильтр активен, но не может доставить данные. См. раздел IMediaFilter::GetState.
VFW_S_NO_STOP_TIME
0x00040270
У примера было время начала, но не время остановки. В этом случае возвращаемое время остановки равно времени начала плюс единица.
VFW_S_NOPREVIEWPIN
0x0004027E
Предварительный просмотр был отрисован с помощью фильтра Smart Tee, так как фильтр захвата не имеет закрепления предварительного просмотра.
VFW_S_DVD_NON_ONE_SEQUENTIAL
0x00040280
Текущий заголовок не является последовательным набором глав (PGC), поэтому сведения о времени могут быть не непрерывными.
VFW_S_DVD_CHANNEL_CONTENTS_NOT_AVAILABLE
0x0004028C
Аудиопоток не содержит достаточно сведений для определения содержимого каждого канала.
VFW_S_DVD_NOT_ACCURATE
0x0004028D
Операция поиска на DVD не была точной.
VFW_E_INVALIDMEDIATYPE
0x80040200
Указанный тип носителя недопустим.
VFW_E_INVALIDSUBTYPE
0x80040201
Указанный подтип мультимедиа недопустим.
VFW_E_NEED_OWNER
0x80040202
Этот объект можно создать только как агрегированный объект.
VFW_E_ENUM_OUT_OF_SYNC
0x80040203
Состояние перечисляемого объекта изменилось и теперь не соответствует состоянию перечислителя. Удалите все данные, полученные в результате предыдущих вызовов перечислителя, а затем обновите перечислитель, вызвав метод Reset перечислителя.
VFW_E_ALREADY_CONNECTED
0x80040204
По крайней мере один из контактов, участвующих в операции, уже подключен.
VFW_E_FILTER_ACTIVE
0x80040205
Эта операция не может быть выполнена, так как фильтр активен.
VFW_E_NO_TYPES
0x80040206
Один из указанных контактов не поддерживает типы мультимедиа.
VFW_E_NO_ACCEPTABLE_TYPES
0x80040207
Между этими контактами нет общего типа носителя.
VFW_E_INVALID_DIRECTION
0x80040208
Два контакта одного направления не могут быть соединены.
VFW_E_NOT_CONNECTED
0x80040209
Невозможно выполнить операцию, так как контакты не подключены.
VFW_E_NO_ALLOCATOR
0x8004020A
Пример распределителя буфера недоступен.
VFW_E_RUNTIME_ERROR
0x8004020B
Произошла ошибка во время выполнения.
VFW_E_BUFFER_NOTSET
0x8004020C
Буферное пространство не задано.
VFW_E_BUFFER_OVERFLOW
0x8004020D
Буфер недостаточно велик.
VFW_E_BADALIGN
0x8004020E
Указано недопустимое выравнивание.
VFW_E_ALREADY_COMMITTED
0x8004020F
Распределитель не был зафиксирован. См. раздел IMemAllocator::Commit.
VFW_E_BUFFERS_OUTSTANDING
0x80040210
Один или несколько буферов по-прежнему активны.
VFW_E_NOT_COMMITTED
0x80040211
Не удается выделить образец, если распределитель неактивен.
VFW_E_SIZENOTSET
0x80040212
Не удается выделить память, так как размер не задан.
VFW_E_NO_CLOCK
0x80040213
Не удается заблокировать синхронизацию, так как часы не определены.
VFW_E_NO_SINK
0x80040214
Не удалось отправить сообщения о качестве, так как не определен приемник качества.
VFW_E_NO_INTERFACE
0x80040215
Требуемый интерфейс не реализован.
VFW_E_NOT_FOUND
0x80040216
Объект или имя не найдены.
VFW_E_CANNOT_CONNECT
0x80040217
Не удалось найти сочетание промежуточных фильтров для подключения.
VFW_E_CANNOT_RENDER
0x80040218
Не удалось найти сочетание фильтров для отрисовки потока.
VFW_E_CHANGING_FORMAT
0x80040219
Не удалось динамически изменять форматы.
VFW_E_NO_COLOR_KEY_SET
0x8004021A
Цветовая клавиша не задана.
VFW_E_NOT_OVERLAY_CONNECTION
0x8004021B
Текущее закрепление не использует транспорт IOverlay .
VFW_E_NOT_SAMPLE_CONNECTION
0x8004021C
Текущее подключение не использует транспорт IMemInputPin .
VFW_E_PALETTE_SET
0x8004021D
Установка цветового ключа будет конфликтовать с уже заданной палитрой.
VFW_E_COLOR_KEY_SET
0x8004021E
Установка палитры будет конфликтовать с уже заданным цветовым ключом.
VFW_E_NO_COLOR_KEY_FOUND
0x8004021F
Соответствующий ключ цвета недоступен.
VFW_E_NO_PALETTE_AVAILABLE
0x80040220
Палитра недоступна.
VFW_E_NO_DISPLAY_PALETTE
0x80040221
В display не используется палитра.
VFW_E_TOO_MANY_COLORS
0x80040222
Слишком много цветов для текущих параметров отображения.
VFW_E_STATE_CHANGED
0x80040223
Состояние изменилось во время ожидания обработки примера.
VFW_E_NOT_STOPPED
0x80040224
Не удалось выполнить операцию, так как фильтр не остановлен.
VFW_E_NOT_PAUSED
0x80040225
Не удалось выполнить операцию, так как фильтр не приостановлен.
VFW_E_NOT_RUNNING
0x80040226
Не удалось выполнить операцию, так как фильтр не выполняется.
VFW_E_WRONG_STATE
0x80040227
Не удалось выполнить операцию, так как фильтр находится в неправильном состоянии.
VFW_E_START_TIME_AFTER_END
0x80040228
Время начала образца — это время окончания образца.
VFW_E_INVALID_RECT
0x80040229
Предоставленный прямоугольник недопустим.
VFW_E_TYPE_NOT_ACCEPTED
0x8004022A
Этот контакт не может использовать указанный тип носителя.
VFW_E_SAMPLE_REJECTED
0x8004022B
Этот пример не может быть отрисован.
VFW_E_SAMPLE_REJECTED_EOS
0x8004022C
Этот пример не может быть отрисован, так как достигнут конец потока.
VFW_E_DUPLICATE_NAME
0x8004022D
Не удалось добавить фильтр с повторяющимся именем.
VFW_E_TIMEOUT
0x8004022E
Истекло время ожидания.
VFW_E_INVALID_FILE_FORMAT
0x8004022F
Недопустимый формат файла.
VFW_E_ENUM_OUT_OF_RANGE
0x80040230
Список уже исчерпан.
VFW_E_CIRCULAR_GRAPH
0x80040231
Диаграмма фильтра является циклической.
VFW_E_NOT_ALLOWED_TO_SAVE
0x80040232
Обновления не допускаются в этом состоянии.
VFW_E_TIME_ALREADY_PASSED
0x80040233
Предпринята попытка поместить команду в очередь в течение определенного времени в прошлом.
VFW_E_ALREADY_CANCELLED
0x80040234
Команда в очереди уже отменена.
VFW_E_CORRUPT_GRAPH_FILE
0x80040235
Не удается отобразить файл, так как он поврежден.
VFW_E_ADVISE_ALREADY_SET
0x80040236
Ссылка на рекомендации IOverlay уже существует.
VFW_E_NO_MODEX_AVAILABLE
0x80040238
Полноэкранные режимы недоступны.
VFW_E_NO_ADVISE_SET
0x80040239
Эту рекомендацию нельзя отменить, так как она не была успешно задана.
VFW_E_NO_FULLSCREEN
0x8004023A
Полноэкранный режим недоступен.
VFW_E_IN_FULLSCREEN_MODE
0x8004023B
Не удается вызвать методы IVideoWindow в полноэкранном режиме.
VFW_E_UNKNOWN_FILE_TYPE
0x80040240
Тип носителя этого файла не распознается.
VFW_E_CANNOT_LOAD_SOURCE_FILTER
0x80040241
Не удалось загрузить исходный фильтр для этого файла.
VFW_E_FILE_TOO_SHORT
0x80040243
Файл оказался неполным.
VFW_E_INVALID_FILE_VERSION
0x80040244
Недопустимый номер версии файла.
VFW_E_INVALID_CLSID
0x80040247
Этот файл поврежден: он содержит недопустимый идентификатор класса.
VFW_E_INVALID_MEDIA_TYPE
0x80040248
Этот файл поврежден: он содержит недопустимый тип мультимедиа.
VFW_E_SAMPLE_TIME_NOT_SET
0x80040249
Метка времени для этого примера не задана.
VFW_E_MEDIA_TIME_NOT_SET
0x80040251
Для этого примера не задано время мультимедиа.
VFW_E_NO_TIME_FORMAT_SET
0x80040252
Формат времени мультимедиа не выбран.
VFW_E_MONO_AUDIO_HW
0x80040253
Не удается изменить баланс, так как звуковое устройство является моноауральным.
VFW_E_NO_DECOMPRESSOR
0x80040255
Не удается воспроизвести видеопоток: не удалось найти подходящий распакователь.
VFW_E_NO_AUDIO_HARDWARE
0x80040256
Не удается воспроизвести аудиопоток: отсутствует звуковое оборудование или оборудование не поддерживается.
VFW_E_RPZA
0x80040259
Не удается воспроизвести видеопоток: формат "RPZA" не поддерживается.
VFW_E_PROCESSOR_NOT_SUITABLE
0x8004025B
DirectShow не может воспроизводить видео MPEG на этом процессоре.
VFW_E_UNSUPPORTED_AUDIO
0x8004025C
Не удается воспроизвести аудиопоток: аудиоформат не поддерживается.
VFW_E_UNSUPPORTED_VIDEO
0x8004025D
Не удается воспроизвести видеопоток: формат видео не поддерживается.
VFW_E_MPEG_NOT_CONSTRAINED
0x8004025E
DirectShow не может воспроизвести этот видеопоток, так как он выходит за рамки ограниченного стандарта.
VFW_E_NOT_IN_GRAPH
0x8004025F
Не удается выполнить запрошенную функцию для объекта, который отсутствует в графе фильтра.
VFW_E_NO_TIME_FORMAT
0x80040261
Не удается получить доступ к формату времени для объекта .
VFW_E_READ_ONLY
0x80040262
Не удалось подключиться, так как поток доступен только для чтения, а фильтр изменяет данные.
VFW_E_BUFFER_UNDERFLOW
0x80040264
Буфер недостаточно заполнен.
VFW_E_UNSUPPORTED_STREAM
0x80040265
Не удается воспроизвести файл: формат не поддерживается.
VFW_E_NO_TRANSPORT
0x80040266
Контакты не могут подключаться, так как они не поддерживают один и тот же транспорт.
Например, фильтру вышестоящий может потребоваться интерфейс IAsyncReader, а нижестоящему фильтру — IMemInputPin.
VFW_E_BAD_VIDEOCD
0x80040269
Устройство не может правильно прочитать видео cd или данные повреждены.
VFW_E_OUT_OF_VIDEO_MEMORY
0x80040271
В этом разрешении и количестве цветов недостаточно видеопамяты. Снижение разрешения может помочь.
VFW_E_VP_NEGOTIATION_FAILED
0x80040272
Не удалось выполнить согласование подключения к видеопорту.
VFW_E_DDRAW_CAPS_NOT_SUITABLE
0x80040273
Либо DirectDraw не установлен, либо возможности карта видео не подходят. Убедитесь, что дисплей не находится в 16-цветовом режиме.
VFW_E_NO_VP_HARDWARE
0x80040274
Оборудование видеопорта недоступно или оборудование не отвечает.
VFW_E_NO_CAPTURE_HARDWARE
0x80040275
Оборудование для записи не доступно или оборудование не отвечает.
VFW_E_DVD_OPERATION_INHIBITED
0x80040276
В настоящее время эта пользовательская операция запрещена содержимым DVD.
VFW_E_DVD_INVALIDDOMAIN
0x80040277
Эта операция не разрешена в текущем домене.
VFW_E_DVD_NO_BUTTON
0x80040278
Запрошенная кнопка недоступна.
VFW_E_DVD_GRAPHNOTREADY
0x80040279
DVD-Video граф воспроизведения еще не создан.
VFW_E_DVD_RENDERFAIL
0x8004027A
DVD-Video построение графа воспроизведения завершилось сбоем.
VFW_E_DVD_DECNOTENOUGH
0x8004027B
DVD-Video граф воспроизведения не удалось создать из-за недостатка декодеров.
VFW_E_DDRAW_VERSION_NOT_SUITABLE
0x8004027C
Номер версии DirectDraw не подходит. Обязательно установите DirectX 5 или более поздней версии.
VFW_E_COPYPROT_FAILED
0x8004027D
Не удалось включить защиту копирования.
VFW_E_TIME_EXPIRED
0x8004027F
Истекло время ожидания команды Seek.
VFW_E_DVD_WRONG_SPEED
0x80040281
Операция не может быть выполнена с текущей скоростью воспроизведения.
VFW_E_DVD_MENU_DOES_NOT_EXIST
0x80040282
Указанное меню DVD не существует.
VFW_E_DVD_CMD_CANCELLED
0x80040283
Указанная команда была отменена или больше не существует.
VFW_E_DVD_STATE_WRONG_VERSION
0x80040284
Сведения о состоянии DVD-диска содержат неправильный номер версии.
VFW_E_DVD_STATE_CORRUPT
0x80040285
Сведения о состоянии DVD повреждены.
VFW_E_DVD_STATE_WRONG_DISC
0x80040286
Сведения о состоянии DVD с другого диска, а не с текущего диска.
VFW_E_DVD_INCOMPATIBLE_REGION
0x80040287
Регион несовместим с диском.
VFW_E_DVD_NO_ATTRIBUTES
0x80040288
Запрошенные атрибуты не существуют.
VFW_E_DVD_NO_GOUP_PGC
0x80040289
Невозможно выполнить операцию, так как отсутствует цепочка программ GoUp (PGC).
VFW_E_DVD_LOW_PARENTAL_LEVEL
0x8004028A
Операция запрещена, так как родительский уровень слишком низок.
VFW_E_DVD_NOT_IN_KARAOKE_MODE
0x8004028B
DVD Навигатор не находится в режиме караоке.
VFW_E_FRAME_STEP_UNSUPPORTED
0x8004028E
Пошаговое выполнение кадра не поддерживается.
VFW_E_DVD_STREAM_DISABLED
0x8004028F
Запрошенный поток отключен.
VFW_E_DVD_TITLE_UNKNOWN
0x80040290
Для операции требуется номер заголовка, но текущий заголовок отсутствует. Эта ошибка может возникать, если DVD-навигатор не находится в домене Title или в домене меню "Набор заголовков видео" (VTSM).
VFW_E_DVD_INVALID_DISC
0x80040291
Указанный путь не является допустимым DVD-диском.
VFW_E_DVD_NO_RESUME_INFORMATION
0x80040292
Не удалось завершить операцию возобновления, так как отсутствуют сведения о возобновлении.
VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD
0x80040293
Закрепление уже заблокировано в вызывающем потоке.
VFW_E_PIN_ALREADY_BLOCKED
0x80040294
Закрепление уже заблокировано в другом потоке.
VFW_E_CERTIFICATION_FAILURE
0x80040295
Использование этого фильтра ограничивается программным ключом. Приложение должно разблокировать фильтр.
VFW_E_VMR_NOT_IN_MIXER_MODE
0x80040296
Отрисовщик смешанного видео (VMR) не находится в режиме микширования. Вызовите IVMRFilterConfig::SetNumberOfStreams (VMR-7) или IVMRFilterConfig9::SetNumberOfStreams (VMR-9).
VFW_E_VMR_NO_AP_SUPPLIED
0x80040297
Приложение еще не предоставило фильтр VMR с допустимым объектом распределителя и докладчика.
VFW_E_VMR_NO_DEINTERLACE_HW
0x80040298
VmR не удалось найти оборудование для дескрифровки на текущем устройстве отображения.
VFW_E_VMR_NO_PROCAMP_HW
0x80040299
VMR не удалось найти оборудование, поддерживающее элементы управления ProcAmp на текущем устройстве отображения.
VFW_E_DVD_VMR9_INCOMPATIBLEDEC
0x8004029A
Аппаратный декодер использует расширения видеопорта (VPE), которые несовместимы с фильтром VMR-9.
VFW_E_NO_COPP_HW
0x8004029B
Текущее устройство отображения не поддерживает протокол ЗАЩИТЫ вывода содержимого (COPP); или виртуальная машина еще не подключена к устройству отображения.
VFW_E_BAD_KEY
0x800403F2
Запись реестра повреждена.
VFW_E_DVD_NONBLOCKING
0x8004029C
Навигатор DVD не может завершить запрошенную операцию, так как другая операция все еще находится в состоянии ожидания.
VFW_E_DVD_TOO_MANY_RENDERERS_IN_FILTER_GRAPH
0x8004029D
DVD-навигатор не может создать граф воспроизведения DVD, так как граф содержит более одного отрисовщика видео.
VFW_E_DVD_NON_EVR_RENDERER_IN_FILTER_GRAPH
0x8004029E
DVD-навигатор не может добавить фильтр расширенного видео отрисовщика (EVR) к графу фильтра, так как граф уже содержит отрисовщик видео.
VFW_E_DVD_RESOLUTION_ERROR
0x8004029F
Видеовыход DVD не имеет правильного разрешения.
VFW_E_CODECAPI_LINEAR_RANGE
0x80040310
Указанный параметр кодека имеет линейный диапазон, а не перечисляемый список.
VFW_E_CODECAPI_ENUMERATED
0x80040311
Указанный параметр кодека имеет перечисляемый диапазон значений, а не линейный.
VFW_E_CODECAPI_NO_DEFAULT
0x80040313
Указанный параметр кодека не имеет значения по умолчанию.
VFW_E_CODECAPI_NO_CURRENT_VALUE
0x80040314
Указанный параметр кодека не имеет текущего значения.
E_PROP_ID_UNSUPPORTED
0x80070490
Указанный идентификатор свойства не поддерживается.
E_PROP_SET_UNSUPPORTED
0x80070492
Указанный набор свойств не поддерживается.

В дополнение к значениям, перечисленным ранее, Службы редактирования DirectShow определяют следующие значения HRESULT .

Констант/значение Описание
S_WARN_OUTPUTRESET
0x00009DD4
Часть графа отрисовки была удалена. Приложение должно перестроить его.
E_NOTINTREE
0x80040400
Объект не содержится в временная шкала.
E_RENDER_ENGINE_IS_BROKEN
0x80040401
Операция завершилась сбоем, так как проект не был успешно отрисован.
E_MUST_INIT_RENDERER
0x80040402
Модуль отрисовки не инициализирован.
E_NOTDETERMINED
0x80040403
Не удается определить запрошенное значение.
E_NO_TIMELINE
0x80040404
Объект временная шкала отсутствует.

Требования

Требование Значение
Заголовок
Vfwmsgs.h

См. также раздел

AMGetErrorText

Константы и идентификаторы GUID