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


Метод 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: указывает, какая сторона носителя активна.
В Windows XP с пакетом обновления 2 (SP2) и более поздних версиях для ED_MODE определены следующие дополнительные режимы воспроизведения.
Константа Описание
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

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

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

Интерфейс IAMExtTransport