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


Метод IAMStreamControl::StartAt (strmif.h)

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

Метод StartAt сообщает закреплению, когда следует начать доставку данных.

Синтаксис

HRESULT StartAt(
  [in] const REFERENCE_TIME *ptStart,
  [in] DWORD                dwCookie
);

Параметры

[in] ptStart

Указатель на значение REFERENCE_TIME , указывающее, когда маркер должен начать доставку данных. Если значение равно MAXLONGLONG (0x7FFFFFFFFFFFFFFF), метод отменяет предыдущий запрос на запуск. Если параметр psStart имеет значение NULL, закрепление запускается сразу же при выполнении графа.

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

[in] dwCookie

Указывает значение, отправляемое вместе с уведомлением о запуске. См. заметки.

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

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

Комментарии

По умолчанию закрепление доставляет данные сразу после запуска графа фильтра. Метод StartAt заставляет закрепить ждать до указанного времени после выполнения графа, прежде чем закрепление начнет доставлять данные.

Если параметр dwCookie не равен нулю, пин-код отправит событие EC_STREAM_CONTROL_STARTED , когда начнет доставлять данные. Первый параметр события — это указатель на интерфейс IPin контакта, а второй — значение dwCookie.

Этот метод реализует следующие особые случаи:

  • Если ptStart имеет значение NULL, закрепление запускается сразу после выполнения графа. Событие не отправляется, а значение dwCookie игнорируется.
  • Если ptStart содержит значение MAXLONGLONG и имеется ожидающий запрос на остановку, закрепление начинается при выполнении графа. Если ожидающий запрос на остановку отсутствует, пин-код остается остановленным. В любом случае событие запуска не отправляется, а значение dwCookie игнорируется.
Этот метод также обрабатывает следующие граничные условия:
  • Если время начала приходится на период между временем начала и остановки образца, контакт доставляет этот образец.
  • Если время начала равно времени остановки, закрепление доставляет один образец.
MAXLONGLONG — это максимально возможное значение REFERENCE_TIME . В библиотеке базовых классов она также определена как константная MAX_TIME.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

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

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

Интерфейс IAMStreamControl