次の方法で共有


ISectionList::GetSectionData

GetSectionData メソッドはセクションを取得する。

構文

  HRESULT GetSectionData(
  WORD  sectionNumber,
  DWORD*  pdwRawPacketLength,
  PSECTION*  ppSection
);

パラメータ

sectionNumber

[in]  取得するセクション番号をゼロから始まるインデックスの値で指定する。セクションの数を取得するには、GetNumberOfSections メソッドを呼び出す。

pdwRawPacketLength

[out]  セクション データのサイズ (バイト単位) を受け取る変数へのポインタ。

ppSection

[out]  セクション データを格納する SECTION 構造体へのポインタを受け取る変数のアドレス。この構造体のメモリを解放してはならない。インターフェイスが解放されたときに、オブジェクトがメモリを解放する。

戻り値

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

戻りコード 説明
E_ACCESSDENIED 要求はまだ完了していない。
E_POINTER NULL ポインタ引数。
MPEG2_E_OUT_OF_BOUNDS セクション番号が範囲外である。
S_OK メソッドが成功した。

注意

セクション ヘッダーはネットワーク バイト順からネイティブ バイト順に変換される。変換されるヘッダーのバイト数はヘッダーのタイプによって異なる。ヘッダー タイプには、ショート ヘッダー (SECTION 構造体)、ロング ヘッダー (LONG_SECTION 構造体)、DSM-CC ヘッダー (DSMCC_SECTION 構造体) がある。セクションのヘッダーが、ショート ヘッダーである場合は最初の 3 バイトが変換される。ロング ヘッダーである場合は最初の 8 バイトが変換される。DSM-CC ヘッダーである場合は、最初の 20 バイトが変換される。

ヘッダーに続く、セクション データの本体は解析および変換されない。

参照