Метод IAsyncReader::WaitForNext (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Метод WaitForNext
ожидает завершения следующего ожидающего запроса на чтение.
Синтаксис
HRESULT WaitForNext(
[in] DWORD dwTimeout,
[out] IMediaSample **ppSample,
[out] DWORD_PTR *pdwUser
);
Параметры
[in] dwTimeout
Указывает время ожидания в миллисекундах. Используйте значение INFINITE для неограниченного ожидания
[out] ppSample
Адрес переменной, получающей указатель интерфейса IMediaSample .
[out] pdwUser
Указатель на переменную, которая получает значение параметра dwUser, указанное в методе IAsyncReader::Request .
Возвращаемое значение
Возвращает значение HRESULT . Ниже приведены возможные значения.
Код возврата | Описание |
---|---|
|
Истекло время ожидания или закрепление сбрасывается. |
|
Штырь очищается. |
|
Произошла ошибка чтения. |
|
Успешно. |
|
Достигнут конец файла; получено меньше байтов, чем запрошено. |
Комментарии
Если метод завершается успешно, параметр ppSample содержит указатель на образец носителя, буфер которого содержит запрошенные данные. Вызовите метод IMediaSample::GetTime и разделите результаты на 10 000 000, чтобы определить начальные и стоп-байты. Примеры могут возвращаться не по порядку. Отпустите пример, когда завершите обработку данных.
Метод завершается ошибкой, если контакт выполняет очистку. Однако он может вернуть пустой образец в ppSample. Если параметр *ppSample не равен NULL, отпустите пример и удалите его. Дополнительные сведения см. в разделе IAsyncReader::BeginFlush.
При возникновении ошибки чтения исходный фильтр отправляет событие ошибки в диспетчер фильтров графов; вызывающий объект не должен сигнализировать об ошибке.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |