Share via


LONG_SECTION Structure

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 {
  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;

Members

  • TableId
    Specifies the table identifier (TID) of the section.

  • Header
    A union that contains the following members.

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

    • 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.

    • 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.

    • 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
    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

Header Declared in Mpeg2Structs.h.

See Also

BDA Structures

Send comments about this topic to Microsoft

Build date: 12/4/2008