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 パラメーターで返される値によって指定される、読み取られるバイト数を現在の位置に追加することで、ストリーム内の現在位置を更新する必要があります。 現在の位置を更新できるその他のメソッドは、 BeginReadWriteBeginWriteSeekおよび SetCurrentPosition です

このインターフェイスは、Windows Media Format 11 SDK 再頒布可能コンポーネントがインストールされている場合、次のプラットフォームで使用できます。

  • Windows XP Service Pack 2 (SP2) 以降。
  • Windows XP Media Center Edition 2005 KB900325 (Windows XP Media Center Edition 2005) とKB925766 (2006 年 10 月 Windows XP Media Center Edition の更新プログラムのロールアップ) がインストールされています。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー mfobjects.h (Mfidl.h を含む)
Library Mfuuid.lib

こちらもご覧ください

IMFByteStream