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 を返す。
参照