次の方法で共有


LONG_SECTION 構造体

LONG_SECTION 構造体はロング MPEG-2 セクション ヘッダーを表す。セクションにロング ヘッダーが含まれている場合、SECTION ポインタを LONG_SECTION ポインタにキャストできる。詳細については、「SECTION」のリファレンスの「注意」を参照すること。

構文

typedef struct {
    TID TableId;
    union
    {
        MPEG_HEADER_BITS_MIDL S;
        WORD                  W;
    } Header;
    WORD TableIdExtension;
    union
    {
        MPEG_HEADER_VERSION_BITS_MIDL S;
        BYTE                          B;
    } Version;
    BYTE SectionNumber;
    BYTE LastSectionNumber;
    BYTE RemainingData[1];
} LONG_SECTION, *PLONG_SECTION;

メンバ

TableId

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

Header.S

パックされたヘッダー ビットを MPEG_HEADER_BITS_MIDL 構造体として格納する。アプリケーションは、この代わりに Header.W フィールドを使用するべきである。

Header.W

ヘッダー ビットを WORD 型として格納する。個々のビット フィールドを取得するには、このメンバを MPEG_HEADER_BITS 構造体に強制する。

TableIdExtension

table_id_extension フィールドを指定する。

Version.S

バージョン番号および現在/次のインジケータ ビットを MPEG_HEADER_VERSION_BITS_MIDL 構造体として格納する。アプリケーションは、この代わりに Version.S フィールドを使用するべきである。

Version.B

バージョン番号および現在/次のインジケータ ビットを BYTE 型として格納する。個々のビット フィールドを取得するには、このメンバを MPEG_HEADER_VERSION_BITS 構造体に強制する。

SectionNumber

このセクションのセクション番号を示す、section_number フィールドを指定する。

LastSectionNumber

テーブルの最後の (最も大きい) セクション番号を示す、last_section_number フィールドを指定する。

RemainingData

残りのセクション データをバイト配列として格納する。配列の長さは Header.W.SectionLength - 5 バイトである。

注意

次のコードは、Version メンバ内のビット フィールドにアクセスする方法を示している。

LONG_SECTION *pSection; // セクション データを指す。

// Version フィールドを MPEG_HEADER_VERSION_BITS 型に強制する。
MPEG_HEADER_VERSION_BITS *pVersion;
pVersion = (MPEG_HEADER_VERSION_BITS*)&pSection->Version.B;

// ここで、pHeader ポインタを使用してビット フィールドにアクセスする。
BYTE VersionNumber = pSection->VersionNumber;

参照