Метод IMFByteStream::BeginRead (mfobjects.h)
Начинает асинхронную операцию чтения из потока.
Синтаксис
HRESULT BeginRead(
[in] BYTE *pb,
[in] ULONG cb,
[in] IMFAsyncCallback *pCallback,
[in] IUnknown *punkState
);
Параметры
[in] pb
Указатель на буфер, который получает данные. Вызывающий объект должен выделить буфер.
[in] cb
Размер буфера в байтах.
[in] pCallback
Указатель на интерфейс IMFAsyncCallback объекта обратного вызова. Вызывающий объект должен реализовать этот интерфейс.
[in] punkState
Указатель на интерфейс IUnknown объекта состояния, определенного вызывающим объектом. Этот параметр может принимать значение NULL. Этот объект можно использовать для хранения сведений о состоянии. Объект возвращается вызывающей при вызове обратного вызова.
Возвращаемое значение
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Когда все данные считываются в буфер, вызывается метод IMFAsyncCallback::Invoke объекта обратного вызова. На этом этапе приложение должно вызвать IMFByteStream::EndRead для выполнения асинхронного запроса.
Не считывайте буфер, не записывайте его, не освобождайте и не перераспределять, пока ожидается асинхронное чтение.
Примечания о реализации:Этот метод должен обновить текущую позицию в потоке, добавив число считываемых байтов, которое задается значением, возвращаемым в параметре pcbRead , в текущую позицию. Другие методы, которые могут обновить текущую позицию: BeginRead, Write, BeginWrite, Seek и SetCurrentPosition.
Этот интерфейс доступен на следующих платформах, если установлены распространяемые компоненты пакета SDK формата 11 для Windows Media:
- Windows XP с пакетом обновления 2 (SP2) и более поздних версий.
- Windows XP Media Center Edition 2005 с установленным KB900325 (Windows XP Media Center Edition 2005) и KB925766 (накопительный пакет обновления для Windows XP Media Center Edition за октябрь 2006 г.).
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | mfobjects.h (включая Mfidl.h) |
Библиотека | Mfuuid.lib |