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


Метод 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

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

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

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

Комментарии

Параметр Capability — это флаг, указывающий, какую возможность проверка. Метод возвращает результат в параметре 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 Устройство может записывать строб. Эта возможность применяется к устройствам с несколькими дорожками, которые могут записывать выбранные дорожки.
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 Laserdisc
ED_DEVTYPE_MIXER_AUDIO Аудиомикшер
ED_DEVTYPE_MIXER_VIDEO Видеомикшер
ED_DEVTYPE_ROUTER Видео маршрутизатор
ED_DEVTYPE_TBC Корректор базы времени
ED_DEVTYPE_TCG Генератор и читатель временных кодов
ED_DEVTYPE_VCR VCR или видеокамера с полными возможностями 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 кадра в секунду (кадров/с)
ED_RATE_25 25 кадров/с
ED_RATE_2997 29,97 кадров/с
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 (SP2) и более поздних версиях для 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 кадров/с (частота кадров PAL по умолчанию)
ED_RATE_2997 29,997 кадров/с (частота кадров 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 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

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

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

Интерфейс IAMExtDevice