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 です。
このインターフェイスは、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 |