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;
参照