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


Метод IAMExtDevice::GetCapability (strmif.h)

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

Метод GetCapability извлекает возможности внешнего устройства.

Синтаксис

HRESULT GetCapability(
  [in]  long   Capability,
  [out] long   *pValue,
  [out] double *pdblValue
);

Параметры

[in] Capability

Указывает возможность проверки. Дополнительные сведения см. в примечаниях.

[out] pValue

Указатель на переменную, которая получает длинное целое число. Дополнительные сведения см. в примечаниях.

[out] pdblValue

Указатель на переменную, которая получает двойной. Дополнительные сведения см. в примечаниях.

Возвращаемое значение

При успешном выполнении этого метода возвращается S_OK. В противном случае возвращается код ошибки HRESULT.

Замечания

Параметр возможностей — это флаг, указывающий возможность проверки. Метод возвращает результат в параметре pValue или в параметре pdblValue в зависимости от флага возможности.

Для следующих флагов метод возвращает значение OATRUE или OAFALSE в параметре pValue. Значение OATRUE указывает, что эта возможность присутствует, а значение OAFALSE указывает, что он отсутствует.

Флаг возможностей Описание
ED_DEVCAP_AUDIO_INPUTS Устройство принимает входные данные звука.
ED_DEVCAP_CAN_MONITOR_SOURCES Устройство может отправлять любые входные данные в отслеживаемые выходные данные независимо от выбранных в данный момент входных данных.
ED_DEVCAP_CAN_PREVIEW Устройство может предварительно просмотреть.
ED_DEVCAP_CAN_RECORD Устройство может записывать.
ED_DEVCAP_CAN_RECORD_STROBE Устройство может выполнять запись strobe. Эта возможность применяется к устройствам с несколькими дорожками, которые могут записывать выбранные дорожки.
ED_DEVCAP_CAN_SAVE Устройство может сохранять данные.
ED_DEVCAP_CTLTRK_READ Устройство может считывать треки управления.
ED_DEVCAP_HAS_AUDIO Устройство имеет звук.
ED_DEVCAP_HAS_VIDEO Устройство имеет видео.
ED_DEVCAP_INDEX_READ Устройство может считывать знаки индекса.
ED_DEVCAP_NEEDS_CALIBRATING Для устройства требуется калибровка. См. IAMExtDevice::Calibrate.
ED_DEVCAP_TIMECODE_READ Устройство может считывать код времени SMPTE.
ED_DEVCAP_TIMECODE_WRITE Устройство может задать код времени SMPTE.
ED_DEVCAP_USES_FILES Устройство имеет встроенную файловую систему.
ED_DEVCAP_VIDEO_INPUTS Устройство принимает входные видео.
 

Для следующих флагов метод возвращает определенную константу в параметре pValue.

ED_DEVCAP_DEVICE_TYPE. Возвращает тип устройства.

Возвращенная константа Описание
ED_DEVTYPE_ATR Аудиозапись
ED_DEVTYPE_CG Генератор символов
ED_DEVTYPE_DDR Цифровой записыватель дисков
ED_DEVTYPE_DVE Единица цифровых эффектов видео
ED_DEVTYPE_GPI Триггер интерфейса общего назначения
ED_DEVTYPE_KEYER Видеоключитель
ED_DEVTYPE_LASERDISK Лазердиск
ED_DEVTYPE_MIXER_AUDIO Звуковой миксер
ED_DEVTYPE_MIXER_VIDEO Миксер видео
ED_DEVTYPE_ROUTER Видео маршрутизатор
ED_DEVTYPE_TBC Исправление базы времени
ED_DEVTYPE_TCG Генератор и читатель кода времени
ED_DEVTYPE_VCR VCR или camcorder с полными возможностями VCR
ED_DEVTYPE_WIPEGEN Генератор очистки видео
ED_DEVTYPE_JOYSTICK Джойстик
ED_DEVTYPE_KEYBOARD Клавиатура
 

ED_DEVCAP_SYNC_ACCURACY. Возвращает указание точности синхронизации устройства.

Возвращенная константа Описание
ED_SYNCACC_PRECISE Устройство имеет точную точность.
ED_SYNCACC_FRAME Устройство является точным кадром.
ED_SYNCACC_ROUGH Устройство меньше точности кадра.
 

ED_DEVCAP_NORMAL_RATE. Возвращает обычную частоту кадров устройства.

Возвращенная константа Описание
ED_RATE_24 24 кадра в секунду (fps)
ED_RATE_25 25 кадров в с
ED_RATE_2997 29,97 fps
ED_RATE_30 30 кадров в с
 

ED_DEVCAP_SEEK_TYPE. Возвращает признак точности поиска устройства.

Возвращенная константа Описание
ED_SEEK_PERFECT Устройство может искать в одном видеокадре без разрыва сигнала.
ED_SEEK_FAST Устройство может быстро искать, с коротким перерывом в сигнале.
ED_SEEK_SLOW Устройство ищет медленно; например, транспорт ленты.
 

Для следующих флагов метод возвращает числовое значение в параметре pValue.

Флаг возможностей Возвращаемое значение
ED_DEVCAP_EXTERNAL_DEVICE_ID Идентификатор конкретного производителя.
ED_DEVCAP_PREROLL Время предварительной подготовки устройства.
ED_DEVCAP_POSTROLL Время записи устройства.
 

В Windows XP с пакетом обновления 2 и более поздних версий для ED_DEVCAP_DEVICE_TYPE поддерживаются следующие дополнительные флаги.

Возвращенная константа Описание
ED_DEVTYPE_CAMERA_STORAGE Хранилище для по-прежнему изображений или коротких видеофайлов.
ED_DEVTYPE_DTV Цифровое телевидение с интерфейсом последовательной шины.
ED_DEVTYPE_PC_VIRTUAL Виртуальное или эмулированное устройство на компьютере.
 

Чтобы использовать эти константы, включите файл заголовка Xprtdefs.h.

Реализация DV

Драйверы MSDV и UVC поддерживают следующее поведение.

Флаг ED_DEVCAP_NORMAL_RATE возвращает частоту кадров.

Возвращенная константа Описание
ED_RATE_25 25 fps (частота кадров PAL по умолчанию)
ED_RATE_2997 29.997 fps (частота кадров NTSC по умолчанию)
 

Только для MSDV флаг ED_DEVCAP_DEVICE_TYPE возвращает тип устройства. Возможные значения показаны в следующей таблице. Для устройств UVC используйте вместо этого интерфейс IKsTopologyInfo.

Возвращенная константа Описание
ED_DEVTYPE_CAMERA Простая камера, которая может записывать или приостановить запись, но не имеет полных возможностей VCR.
ED_DEVTYPE_DVHS Устройство поддерживает формат D-VHS.
ED_DEVTYPE_UNKNOWN Неизвестный тип устройства.
ED_DEVTYPE_VCR Устройство имеет полные возможности VCR.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка strmif.h (include Dshow.h)
библиотеки Strmiids.lib

См. также

коды ошибок и успешности

интерфейса IAMExtDevice