Метод IAsyncReader::SyncRead (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Метод SyncRead
выполняет синхронное чтение. Метод блокируется до завершения запроса. Расположение файлов и адрес буфера не обязательно должны быть выровнены. Если запрос не выровнен, метод выполняет операцию чтения в буфере.
Синтаксис
HRESULT SyncRead(
[in] LONGLONG llPosition,
[in] LONG lLength,
[out] BYTE *pBuffer
);
Параметры
[in] llPosition
Указывает смещение байтов, с которого начинается чтение. Метод завершается ошибкой, если это значение находится за пределами конца файла.
[in] lLength
Указывает число считываемых байтов.
[out] pBuffer
Указатель на буфер, который получает данные.
Возвращаемое значение
Возвращает значение HRESULT . Ниже приведены возможные значения.
Код возврата | Описание |
---|---|
|
Получено меньше байтов, чем запрошено. (Вероятно, достигнут конец файла.) |
|
Успешно. |
Комментарии
Этот метод работает, даже если фильтр остановлен.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |