// ntddcdrm.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The SUB_Q_CURRENT_POSITION structure contains position information and is used in conjunction with SUB_Q_CHANNEL_DATA.
HeaderIndicates, among other things, the length of the Q subchannel data that was retrieved. See SUB_Q_HEADER for more details.
FormatCodeShould have a value of IOCTL_CDROM_CURRENT_POSITION.
ControlDefines 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).
ADRIndicates 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).
TrackNumberContains the current track number.
IndexNumberContains the current index number.
AbsoluteAddressGives 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.
TrackRelativeAddressGives 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.