Метод ITStream::SelectTerminal (tapi3if.h)

Метод SelectTerminal выбирает объект ITTerminal в потоке.

Синтаксис

HRESULT SelectTerminal(
  [in] ITTerminal *pTerminal
);

Параметры

[in] pTerminal

Указатель на интерфейс ITTerminal выбранного терминала.

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

Этот метод может возвращать одно из этих значений.

Значение Значение
S_OK
Метод успешно выполнен.
E_POINTER
Параметр pTerminal не является допустимым указателем.
E_OUTOFMEMORY
Для выполнения операции недостаточно памяти.
TAPI_E_MAXTERMINALS
В потоке выбрано несколько терминалов, но смешивание или разделение мультимедиа невозможно.
TAPI_E_INVALIDTERMINAL
Выбранный терминал недопустим.

Комментарии

Терминалы можно выбрать в любое время независимо от того, находится ли транспорт в состоянии, позволяющем ему выполнять потоковую передачу мультимедиа. Если транспорт находится в состоянии, позволяющем ему выполнять потоковую передачу мультимедиа, и приложение не вызывает ITStream::P auseStream или ITStream::StopStream в потоке или успешно вызывает ITStream::StartStream для этого потока позже, чем оно успешно вызывает ITStream::P auseStream или ITStream::StopStream для этого потока, потоковая передача запускается автоматически сразу после выбора терминала. Если терминал выбран в потоке до того, как транспорт перейдет в состояние, в котором он может выполнять потоковую передачу мультимедиа, и последующие вызовы StopStream или PauseStream не выполняются, поток запускается автоматически, когда транспорт переходит в состояние, в котором он может выполнять потоковую передачу мультимедиа.

Событие CME_STREAM_ACTIVE создается при фактическом запуске потоковой передачи, которая может быть позже вызова SelectTerminal . Событие CME_STREAM_FAIL или CME_TERMINAL_FAIL создается при сбое потоковой передачи, что также может быть позже вызова SelectTerminal .

Терминал можно выбрать в потоке, только если результаты ITTerminal::get_MediaType совпадают с ITStream::get_MediaType. Кроме того, для некоторых поставщиков msps может потребоваться соответствие между ITTerminal::get_Direction и ITStream::get_Direction, хотя интерфейс не применяет это.

Некоторые MSP могут не разрешать одновременное выбор более определенного числа терминалов, обычно одного, в одном потоке, но сам интерфейс не применяет такое ограничение. Выбор одновременно нескольких терминалов в одном потоке полезен, например, чтобы разрешить запись входящего аудиопотока в файл во время прослушивания потока на паре динамиков.

Данный терминал можно выбрать только в одном потоке.

Требования

Требование Значение
Целевая платформа Windows
Header tapi3if.h (включая Tapi3.h)

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

ITStream

Интерфейс поставщика служб мультимедиа (MSPI)