27 #if 0 // Added to make MSVC happy. 28 #pragma GCC system_header 40 #if 0 // Added to make MSVC happy. 45 #define IOCTL_CDROM_BASE FILE_DEVICE_CD_ROM 47 #define IOCTL_CDROM_CHECK_VERIFY \ 48 CTL_CODE(IOCTL_CDROM_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS) 50 #define IOCTL_CDROM_FIND_NEW_DEVICES \ 51 CTL_CODE(IOCTL_CDROM_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS) 53 #define IOCTL_CDROM_GET_CONTROL \ 54 CTL_CODE(IOCTL_CDROM_BASE, 0x000D, METHOD_BUFFERED, FILE_READ_ACCESS) 56 #define IOCTL_CDROM_GET_DRIVE_GEOMETRY \ 57 CTL_CODE(IOCTL_CDROM_BASE, 0x0013, METHOD_BUFFERED, FILE_READ_ACCESS) 59 #define IOCTL_CDROM_GET_LAST_SESSION \ 60 CTL_CODE(IOCTL_CDROM_BASE, 0x000E, METHOD_BUFFERED, FILE_READ_ACCESS) 62 #define IOCTL_CDROM_GET_VOLUME \ 63 CTL_CODE(IOCTL_CDROM_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS) 65 #define IOCTL_CDROM_PAUSE_AUDIO \ 66 CTL_CODE(IOCTL_CDROM_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS) 68 #define IOCTL_CDROM_PLAY_AUDIO_MSF \ 69 CTL_CODE(IOCTL_CDROM_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS) 71 #define IOCTL_CDROM_RAW_READ \ 72 CTL_CODE(IOCTL_CDROM_BASE, 0x000F, METHOD_OUT_DIRECT, FILE_READ_ACCESS) 74 #define IOCTL_CDROM_READ_Q_CHANNEL \ 75 CTL_CODE(IOCTL_CDROM_BASE, 0x000B, METHOD_BUFFERED, FILE_READ_ACCESS) 77 #define IOCTL_CDROM_READ_TOC \ 78 CTL_CODE(IOCTL_CDROM_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS) 80 #define IOCTL_CDROM_READ_TOC_EX \ 81 CTL_CODE(IOCTL_CDROM_BASE, 0x0015, METHOD_BUFFERED, FILE_READ_ACCESS) 83 #define IOCTL_CDROM_RESUME_AUDIO \ 84 CTL_CODE(IOCTL_CDROM_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS) 86 #define IOCTL_CDROM_SEEK_AUDIO_MSF \ 87 CTL_CODE(IOCTL_CDROM_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS) 89 #define IOCTL_CDROM_SET_VOLUME \ 90 CTL_CODE(IOCTL_CDROM_BASE, 0x000A, METHOD_BUFFERED, FILE_READ_ACCESS) 92 #define IOCTL_CDROM_SIMBAD \ 93 CTL_CODE(IOCTL_CDROM_BASE, 0x1003, METHOD_BUFFERED, FILE_READ_ACCESS) 95 #define IOCTL_CDROM_STOP_AUDIO \ 96 CTL_CODE(IOCTL_CDROM_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS) 99 #define MAXIMUM_NUMBER_TRACKS 100 100 #define MAXIMUM_CDROM_SIZE 804 101 #define MINIMUM_CDROM_READ_TOC_EX_SIZE 2 113 #define CDROM_DISK_AUDIO_TRACK 0x00000001 114 #define CDROM_DISK_DATA_TRACK 0x00000002 130 #define CDROM_READ_TOC_EX_FORMAT_TOC 0x00 131 #define CDROM_READ_TOC_EX_FORMAT_SESSION 0x01 132 #define CDROM_READ_TOC_EX_FORMAT_FULL_TOC 0x02 133 #define CDROM_READ_TOC_EX_FORMAT_PMA 0x03 134 #define CDROM_READ_TOC_EX_FORMAT_ATIP 0x04 135 #define CDROM_READ_TOC_EX_FORMAT_CDTEXT 0x05 153 #define IOCTL_CDROM_SUB_Q_CHANNEL 0x00 154 #define IOCTL_CDROM_CURRENT_POSITION 0x01 155 #define IOCTL_CDROM_MEDIA_CATALOG 0x02 156 #define IOCTL_CDROM_TRACK_ISRC 0x03 170 #define CDROM_TOC_SIZE sizeof(CDROM_TOC) 173 UCHAR CdrwReferenceSpeed : 3;
175 UCHAR WritePower : 3;
178 UCHAR UnrestrictedUse : 1;
199 #if 0 // Added to make MSVC happy. 200 typedef struct _CDROM_TOC_ATIP_DATA {
206 } CDROM_TOC_ATIP_DATA, *PCDROM_TOC_ATIP_DATA;
210 #define CDROM_CD_TEXT_PACK_ALBUM_NAME 0x80 211 #define CDROM_CD_TEXT_PACK_PERFORMER 0x81 212 #define CDROM_CD_TEXT_PACK_SONGWRITER 0x82 213 #define CDROM_CD_TEXT_PACK_COMPOSER 0x83 214 #define CDROM_CD_TEXT_PACK_ARRANGER 0x84 215 #define CDROM_CD_TEXT_PACK_MESSAGES 0x85 216 #define CDROM_CD_TEXT_PACK_DISC_ID 0x86 217 #define CDROM_CD_TEXT_PACK_GENRE 0x87 218 #define CDROM_CD_TEXT_PACK_TOC_INFO 0x88 219 #define CDROM_CD_TEXT_PACK_TOC_INFO2 0x89 220 #define CDROM_CD_TEXT_PACK_UPC_EAN 0x8e 221 #define CDROM_CD_TEXT_PACK_SIZE_INFO 0x8f 223 #if 0 // Added to make MSVC happy. 224 typedef struct _CDROM_TOC_CD_TEXT_DATA_BLOCK {
226 UCHAR TrackNumber : 7;
227 UCHAR ExtensionFlag : 1;
228 UCHAR SequenceNumber;
229 UCHAR CharacterPosition : 4;
230 UCHAR BlockNumber : 3;
232 _ANONYMOUS_UNION
union {
237 } CDROM_TOC_CD_TEXT_DATA_BLOCK, *PCDROM_TOC_CD_TEXT_DATA_BLOCK;
239 typedef struct _CDROM_TOC_CD_TEXT_DATA {
243 CDROM_TOC_CD_TEXT_DATA_BLOCK Descriptors[0];
244 } CDROM_TOC_CD_TEXT_DATA, *PCDROM_TOC_CD_TEXT_DATA;
248 #define ADR_NO_MODE_INFORMATION 0x0 249 #define ADR_ENCODES_CURRENT_POSITION 0x1 250 #define ADR_ENCODES_MEDIA_CATALOG 0x2 251 #define ADR_ENCODES_ISRC 0x3 264 #if 0 // Added to make MSVC happy. 265 typedef struct _CDROM_TOC_FULL_TOC_DATA {
267 UCHAR FirstCompleteSession;
268 UCHAR LastCompleteSession;
270 } CDROM_TOC_FULL_TOC_DATA, *PCDROM_TOC_FULL_TOC_DATA;
272 typedef struct _CDROM_TOC_PMA_DATA {
277 } CDROM_TOC_PMA_DATA, *PCDROM_TOC_PMA_DATA;
281 #define AUDIO_STATUS_NOT_SUPPORTED 0x00 282 #define AUDIO_STATUS_IN_PROGRESS 0x11 283 #define AUDIO_STATUS_PAUSED 0x12 284 #define AUDIO_STATUS_PLAY_COMPLETE 0x13 285 #define AUDIO_STATUS_PLAY_ERROR 0x14 286 #define AUDIO_STATUS_NO_STATUS 0x15 300 UCHAR MediaCatalog[15];
321 UCHAR AbsoluteAddress[4];
322 UCHAR TrackRelativeAddress[4];
332 #define AUDIO_WITH_PREEMPHASIS 0x1 333 #define DIGITAL_COPY_PERMITTED 0x2 334 #define AUDIO_DATA_TRACK 0x4 335 #define TWO_FOUR_CHANNEL_AUDIO 0x8 339 USHORT LogicalBlocksPerSecond;
346 typedef enum _TRACK_MODE_TYPE {
350 } TRACK_MODE_TYPE, *PTRACK_MODE_TYPE;
353 LARGE_INTEGER DiskOffset;
355 TRACK_MODE_TYPE TrackMode;
Definition: ntddcdrm.h:342
Definition: ntddcdrm.h:303
Definition: ntddcdrm.h:288
Definition: ntddcdrm.h:103
Definition: ntddcdrm.h:314
Definition: display_client.h:58
Definition: ntddcdrm.h:137
Definition: ntddcdrm.h:163
Definition: ntddcdrm.h:337
Definition: ntddcdrm.h:172
Definition: ntddcdrm.h:116
Definition: ntddcdrm.h:352
Definition: ntddcdrm.h:253
Definition: ntddcdrm.h:325
Definition: ntddcdrm.h:294
Definition: ntddcdrm.h:120
Definition: ntddcdrm.h:146
Definition: ntddcdrm.h:158