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


Метод IMFByteStream::BeginWrite (mfobjects.h)

Начинает асинхронную операцию записи в поток.

Синтаксис

HRESULT BeginWrite(
  [in] const 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::EndWrite для выполнения асинхронного запроса.

Не перераспределяйте, не освобождайте и не записывайте данные в буфер, пока все еще ожидается асинхронная запись.

Примечания о реализации:Этот метод должен обновить текущую позицию в потоке, добавив число байтов, которые будут записаны в поток, которое задается значением, возвращенным в pcbWritten, в текущую позицию. Другие методы, которые могут обновить текущую позицию: Read, BeginRead, Write, 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

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

IMFByteStream