次の方法で共有


IMpeg2Stream::SupplyDataBuffer

SupplyDataBuffer メソッドは、Mpeg2Stream オブジェクトがデータを書き込むためのバッファを提供する。

構文

  HRESULT SupplyDataBuffer(
  PMPEG_STREAM_BUFFER  pStreamBuffer
);

パラメータ

pStreamBuffer

[in]  呼び出し元が割り当てた MPEG_STREAM_BUFFER 構造体へのポインタ。この構造体には、呼び出し元が割り当てたバッファへのポインタを格納する。バッファは、4096 バイト以上でなければならない。

戻り値

このメソッドは HRESULT を返す。次のいずれかの値を返す。

戻りコード 説明
S_OK メソッドが成功した。
E_INVALIDARG 無効な引数または NULL パラメータ。
E_OUTOFMEMORY メモリ不足。
E_FAIL 失敗。

注意

このメソッドを最初に呼び出したときに、このメソッドはバッファにデータをストリームするワーカー スレッドを開始する。データが到着すると、MPEG2Stream オブジェクトは、IMpeg2Stream::Initialize メソッドに渡されたイベントを通知する。通常、アプリケーションは IMpeg2Data::GetStreamOfSections を呼び出すときに、イベント ハンドルを指定する。

イベントが通知されたら、MPEG_STREAM_BUFFER 構造体の hr フィールドを調べる。この値が成功コードである場合は、要求は成功しており、バッファには有効なデータが格納されている。さらにデータを取得するには、もう一度 SupplyDataBuffer メソッドを呼び出し、イベントが通知されるまで待機する。

セクション ヘッダーはネットワーク バイト順から変換されたり、その他の方法で処理されたりしない。

オブジェクトがまだデータを待っている場合、このメソッドは E_FAIL を返す。

参照