Интерфейс IAsyncReader (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Интерфейс IAsyncReader
выполняет асинхронный запрос данных к фильтру.
Этот интерфейс предоставляется выходными контактами, которые выполняют асинхронные операции чтения. Интерфейс используется контактом ввода в нижнем фильтре. Приложения не используют этот интерфейс. Фильтр "Источник асинхронного файла " предоставляет этот интерфейс на выходе.
Разработчики фильтров. Реализуйте этот интерфейс, если выходной контакт доставляет данные в виде потока байтов (MEDIATYPE_Stream) и поддерживает модель извлечения. В процессе подключения проверка, запрашивает IAsyncReader
ли подчиненный закрепления интерфейс. В противном случае закрепление должно завершиться сбоем подключения или установить другой транспорт. (Если закрепление является производным от CBasePin, выполните это проверка в методе CBasePin::CheckConnect.)
Дополнительные сведения об использовании этого интерфейса см. в следующих разделах:
Наследование
Интерфейс IAsyncReader наследуется от интерфейса IUnknown . IAsyncReader также имеет следующие типы элементов:
Методы
Интерфейс IAsyncReader содержит эти методы.
IAsyncReader::BeginFlush Метод BeginFlush начинает операцию очистки. (IAsyncReader.BeginFlush) |
IAsyncReader::EndFlush Метод EndFlush завершает операцию очистки. (IAsyncReader.EndFlush) |
IAsyncReader::Length Метод Length извлекает общую длину потока. |
IAsyncReader::Request Метод Request помещает в очередь асинхронный запрос данных. |
IAsyncReader::RequestAllocator Метод RequestAllocator запрашивает распределителя во время подключения закрепления. |
IAsyncReader::SyncRead Метод SyncRead выполняет синхронное чтение. Метод блокируется до завершения запроса. Позиции файлов и адрес буфера не должны быть выровнены. Если запрос не выровнен, метод выполняет операцию буферизованного чтения. |
IAsyncReader::SyncReadAligned Метод SyncReadAligned выполняет синхронное чтение. Метод блокируется до завершения запроса. Позиции файлов и адрес буфера должны быть выровнены; проверка свойства распределителя для требуемого выравнивания. |
IAsyncReader::WaitForNext Метод WaitForNext ожидает завершения следующего ожидающего запроса на чтение. |
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |