DSMCC_SECTION 構造体
DSMCC_SECTION 構造体は DSM-CC セクション ヘッダーを表す。セクションに DSM-CC ヘッダーが含まれている場合、SECTION ポインタを DSMCC_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 ProtocolDiscriminator;
BYTE DsmccType;
WORD MessageId;
DWORD TransactionId;
BYTE Reserved;
BYTE AdaptationLength;
WORD MessageLength;
BYTE RemainingData[1];
} DSMCC_SECTION, *PDSMCC_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 フィールドを指定する。
ProtocolDiscriminator
メッセージが MPEG-2 DSM-CC メッセージであることを示す。このフィールドの値は常に 0x11 である。
DsmccType
DSM-CC メッセージ タイプを指定する。
MessageId
DSM-CC メッセージ識別子を指定する。
TransactionId
トランザクション識別子を指定する。
Reserved
予約済みバイト。
AdaptationLength
適応フィールドの長さを指定する。
MessageLength
メッセージの長さを指定する。
RemainingData
残りのセクション データをバイト配列として格納する。配列の長さは Header.W.SectionLength - 17 バイトである。
注意
この構造体は LONG_SECTION 構造体を拡張する。
参照