SUB_Q_CURRENT_POSITION structure (ntddcdrm.h)

The SUB_Q_CURRENT_POSITION structure contains position information and is used in conjunction with SUB_Q_CHANNEL_DATA.

Syntax

typedef struct _SUB_Q_CURRENT_POSITION {
  SUB_Q_HEADER Header;
  UCHAR        FormatCode;
  UCHAR        Control : 4;
  UCHAR        ADR : 4;
  UCHAR        TrackNumber;
  UCHAR        IndexNumber;
  UCHAR        AbsoluteAddress[4];
  UCHAR        TrackRelativeAddress[4];
} SUB_Q_CURRENT_POSITION, *PSUB_Q_CURRENT_POSITION;

Members

Header

Indicates, among other things, the length of the Q subchannel data that was retrieved. See SUB_Q_HEADER for more details.

FormatCode

Should have a value of IOCTL_CDROM_CURRENT_POSITION.

Control

Defines various types of information within the table of contents lead-in area. For more information about the permissible values for this member, see specification T10/1363-D, by National Committee for Information Technology Standards (NCITS).

ADR

Indicates the type of information encoded in the Q subchannel of the block. For information about the permissible values for this member, see specification T10/1363-D, by National Committee for Information Technology Standards (NCITS).

TrackNumber

Contains the current track number.

IndexNumber

Contains the current index number.

AbsoluteAddress[4]

Gives the current location relative to the logical beginning of the media. The bytes in this array are arranged in big-endian order. AbsoluteAddress[0] contains the most significant byte, and AbsoluteAddress[3] contains the least significant byte.

TrackRelativeAddress[4]

Gives the current location relative to the logical beginning of the current track. The bytes in this array are arranged in big-endian order. TrackRelativeAddress[0] contains the most significant byte, and TrackRelativeAddress[3] contains the least significant byte.

Requirements

Requirement Value
Header ntddcdrm.h (include Ntddcdrm.h)

See also

CDROM_SUB_Q_DATA_FORMAT

IOCTL_CDROM_READ_Q_CHANNEL

SUB_Q_CHANNEL_DATA

SUB_Q_HEADER