次の方法で共有


IMpeg2Data::GetTable

GetTable メソッドは完全な MPEG-2 PSI テーブルを取得する。このメソッドは、フィルタが要求されたテーブルを構成するすべてのセクションを受信するまで、または指定されたタイムアウトが経過するまで、ブロック状態となる。

構文

  HRESULT GetTable(
  PID  pid,
  TID  tid,
  PMPEG2_FILTER  pFilter,
  DWORD  dwTimeout,
  ISectionList**  ppSectionList
);

パラメータ

pid

[in]  調べるトランスポート ストリーム パケットのパケット識別子 (PID) を指定する。

tid

[in]  取得するセクションのテーブル識別子 (TID) を指定する。

pFilter

[in]  MPEG2_FILTER 構造体へのオプションのポインタ。呼び出し元はこのパラメータを使って、追加の MPEG-2 ヘッダー フィールドに基づいてパケットを除外できる。このパラメータは NULL でもよい。

dwTimeout

[in]  タイムアウト値 (ミリ秒単位) を指定する。指定されたタイムアウトの時間内にフィルタが一致するセクションを受信しなかった場合、このメソッドは失敗する。

ppSectionList

[out]  ISectionList インターフェイス ポインタを受け取る変数へのポインタ。セクション データを取得するには、このインターフェイスを使用する。呼び出し元はそのインターフェイスを解放しなければならない。

戻り値

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

戻りコード 説明
MPEG2_E_SECTION_NOT_FOUND フィルタが一致するテーブル セクションを受信しなかった。
S_OK メソッドが成功した。

注意

pFilter パラメータを使用して、Table_ID_extension フィールドまたはバージョン番号フィールドを指定できる。指定しなかった場合、フィルタは検索条件に一致する最初のセクションからこれらの値をキャッシュする。フィルタはこれらの値を使用して、以降のセクションを照合する。

参照