Share via


LONG_SECTION structure (mpeg2structs.h)

The LONG_SECTION structure represents a long MPEG-2 section header. If a section contains a long header, you can cast a SECTION pointer to a LONG_SECTION pointer. For more information, see the Remarks section in the SECTION reference.

Syntax

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

Members

TableId

Specifies the table identifier (TID) of the section.

Header

A union that contains the following members.

Header.S

Contains packed header bits, as an MPEG_HEADER_BITS_MIDL structure. Applications should use the Header.W field instead.

Header.W

Contains the header bits as a WORD type. To get the individual bitfields, coerce this member to an MPEG_HEADER_BITS structure.

TableIdExtension

Specifies the table_id_extension field.

Version

A union that contains the following members.

Version.S

Contains the version number and current/next indicator bit as an MPEG_HEADER_VERSION_BITS_MIDL structure. Applications should use the Version.B field instead.

Version.B

Contains the version number and current/next indicator bit as a BYTE type. To get the individual bit fields, coerce this member to an MPEG_HEADER_VERSION_BITS structure.

SectionNumber

Specifies the section_number field, which gives the section number for this section.

LastSectionNumber

Specifies the last_section_number field, which gives the last (highest) section number for the table.

RemainingData[1]

Contains the remaining section data, as a byte array. The length of the array is Header.W.SectionLength - 5 bytes.

Remarks

The following code shows how to access the bit fields within the Version member:


LONG_SECTION *pSection; // Points to the section data.

// Coerce the Version field to an MPEG_HEADER_VERSION_BITS type.
MPEG_HEADER_VERSION_BITS *pVersion;
pVersion = (MPEG_HEADER_VERSION_BITS*)&pSection->Version.B;

// Now use the pHeader pointer to access the bit fields.
BYTE VersionNumber = pSection->VersionNumber;

Requirements

Requirement Value
Header mpeg2structs.h

See also

BDA Structures