Метод IAMExtTransport::GetStatus (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Метод GetStatus
возвращает сведения о состоянии транспорта.
Синтаксис
HRESULT GetStatus(
[in] long StatusItem,
[in, out] long *pValue
);
Параметры
[in] StatusItem
Указывает извлекаемую информацию о состоянии. Дополнительные сведения см. в разделе "Примечания".
[in, out] pValue
Указатель на переменную, которая указывает или получает длинное целое число, значение которого зависит от значения StatusItem. Дополнительные сведения см. в разделе "Примечания".
Возвращаемое значение
При успешном выполнении этого метода возвращается S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Параметр StatusItem — это флаг, указывающий, какие сведения о состоянии следует извлечь. Метод возвращает сведения в параметре pValue . Не каждое устройство поддерживает все флаги состояния. Определены следующие флаги:
- ED_MODE: возвращает текущий режим транспорта, например приостановку или воспроизведение. Список констант, определяющих режимы транспорта, см. в разделе IAMExtTransport::p ut_Mode . В качестве альтернативы можно задать statusItem равным одной из этих констант, и pValue получит значение OATRUE, если транспорт в данный момент находится в этом режиме, или OAFALSE в противном случае.
- ED_MEDIA_TYPE: указывает формат носителя для этого транспорта. Возвращает одну из следующих констант.
Константа Описание ED_MEDIA_VHS VHS ED_MEDIA_SVHS S-VHS ED_MEDIA_HI8 Привет-8 ED_MEDIA_UMATIC Umatic ED_MEDIA_DVC Лента DV (DVC) ED_MEDIA_1_INCH 1-дюймовая лента ED_MEDIA_D1 Формат D1 ED_MEDIA_D2 Формат D2 ED_MEDIA_D3 Формат D3 ED_MEDIA_D5 Формат D5 ED_MEDIA_DBETA Digital Betacam ED_MEDIA_BETA Betacam ED_MEDIA_8MM 8-миллиметровый ED_MEDIA_DDR Средство записи цифрового диска ED_MEDIA_SX Betacam SX ED_MEDIA_OTHER Другое ED_MEDIA_CLV CLV (постоянная линейная скорость, или "стандартная игра") laserdisc ED_MEDIA_CAV Cav (constant Angular Velocity, or "extended play") laserdisc - ED_LINK_MODE: возвращает OATRUE, если элементы управления транспорта связаны с методами Run, Stop и Pause графа фильтра, а в противном случае — с OAFALSE. Дополнительные сведения см. в разделе IAMExtTransport::p ut_Mode .
- ED_MEDIA_PRESENT: возвращает OATRUE, если присутствует носитель транспорта, или OAFALSE в противном случае.
- ED_MEDIA_LENGTH. Возвращает длину носителя в единицах текущего формата времени (см. раздел IAMExtTransport::SetTransportBasicParameters).
- ED_MEDIA_TRACK_COUNT: возвращает количество дорожек.
- ED_MEDIA_TRACK_LENGTH: возвращает длину дорожки в единицах текущего формата времени.
- ED_MEDIA_SIDE: указывает, какая сторона носителя активна.
Константа | Описание |
---|---|
ED_MODE_PLAY_SLOW_FWD_X | Играть неуказано медленно вперед. (Медленная игра вперед с определенной скоростью поставщика.) |
ED_MODE_PLAY_FAST_FWD_X | Воспроизведение неуказано вперед. (Быстрая игра вперед со скоростью конкретного поставщика.) |
ED_MODE_PLAY_SLOW_REV_X | Воспроизведение неопределенного медленного реверса. (Медленное обратное воспроизведение с определенной скоростью поставщика.) |
ED_MODE_PLAY_FAST_REV_X | Воспроизведение неуказанным быстрым обратным воспроизведением. (Быстрая обратная игра со скоростью, определяемой поставщиком.) |
ED_MODE_STOP_START | Транспорт останавливается в начале ленты (или другой транспортной среды). |
ED_MODE_STOP_END | Транспорт останавливается в конце ленты (или другой транспортной среды). |
ED_MODE_STOP_EMERGENCY | Транспорт остановился из-за непредвиденных условий или во избежание возможного повреждения транспорта. |
Чтобы использовать эти константы, включите файл заголовка Xprtdefs.h из Windows SDK.
Реализация DV
MSDV поддерживает следующие флаги состояния:
- ED_MODE: См. предыдущие замечания.
- ED_MEDIA_TYPE: возвращает одно из следующих значений.
Константа Описание ED_MEDIA_VHS Лента VHS. ED_MEDIA_DVC DV-лента. ED_MEDIA_UNKNOWN Неизвестный тип. ED_MEDIA_NOT_PRESENT Транспорт пуст. - ED_DEV_REMOVED_HEVENT_GET. Возвращает дескриптор события. Драйвер сообщает о событии, если устройство физически удалено из системы.
- ED_DEV_REMOVED_HEVENT_RELEASE. Освобождает дескриптор события, полученный с помощью флага ED_DEV_REMOVED_HEVENT_GET. Укажите адрес дескриптора в параметре pValue.
- ED_MODE_CHANGE_NOTIFY. Возвращает состояние устройства в pValue. Если метод возвращает E_PENDING, изменение состояния ожидается. Вы можете использовать флаг ED_NOTIFY_HEVENT_GET, чтобы получать уведомления о завершении изменения состояния.
- ED_NOTIFY_HEVENT_GET. Возвращает дескриптор события. Драйвер сигнализирует о событии, когда устройство завершает смену режима.
- ED_NOTIFY_HEVENT_RELEASE. Освобождает дескриптор события, полученный с помощью флага ED_NOTIFY_HEVENT_GET. Укажите адрес дескриптора в параметре pValue.
Реализация mpeg Camcorder
MSTape поддерживает дополнительный формат мультимедиа для флага ED_MEDIA_TYPE.
Константа | Описание |
---|---|
ED_MEDIA_NEO | Мини-цифровая лента для транспортного потока MPEG-2 (D-VHS). |
Некоторые из этих флагов определены в файле заголовка Xptrdefs.h.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |