Changeset 6052 for trunk/include
- Timestamp:
- Jun 20, 2001, 10:51:12 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/win/winioctl.h
r6028 r6052 154 154 155 155 156 //Storage /diskIOCTLs156 //Storage IOCTLs 157 157 158 158 typedef enum _MEDIA_TYPE { … … 170 170 RemovableMedia, 171 171 FixedMedia, 172 F3_120M_512 172 F3_120M_512, 173 F3_640_512, 174 F5_640_512, 175 F5_720_512, 176 F3_1Pt2_512, 177 F3_1Pt23_1024, 178 F5_1Pt23_1024, 179 F3_128Mb_512, 180 F3_230Mb_512, 181 F8_256_128 173 182 } MEDIA_TYPE, *PMEDIA_TYPE; 174 183 … … 196 205 #define IOCTL_STORAGE_RESET_DEVICE CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS) 197 206 #define IOCTL_STORAGE_GET_DEVICE_NUMBER CTL_CODE(IOCTL_STORAGE_BASE, 0x0420, METHOD_BUFFERED, FILE_ANY_ACCESS) 207 208 209 210 //CDROM IOCTLs 211 212 #define IOCTL_CDROM_BASE FILE_DEVICE_CD_ROM 213 214 #define IOCTL_CDROM_UNLOAD_DRIVER CTL_CODE(IOCTL_CDROM_BASE, 0x0402, METHOD_BUFFERED, FILE_READ_ACCESS) 215 #define IOCTL_CDROM_READ_TOC CTL_CODE(IOCTL_CDROM_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS) 216 #define IOCTL_CDROM_GET_CONTROL CTL_CODE(IOCTL_CDROM_BASE, 0x000D, METHOD_BUFFERED, FILE_READ_ACCESS) 217 #define IOCTL_CDROM_PLAY_AUDIO_MSF CTL_CODE(IOCTL_CDROM_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS) 218 #define IOCTL_CDROM_SEEK_AUDIO_MSF CTL_CODE(IOCTL_CDROM_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS) 219 #define IOCTL_CDROM_STOP_AUDIO CTL_CODE(IOCTL_CDROM_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS) 220 #define IOCTL_CDROM_PAUSE_AUDIO CTL_CODE(IOCTL_CDROM_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS) 221 #define IOCTL_CDROM_RESUME_AUDIO CTL_CODE(IOCTL_CDROM_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS) 222 #define IOCTL_CDROM_GET_VOLUME CTL_CODE(IOCTL_CDROM_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS) 223 #define IOCTL_CDROM_SET_VOLUME CTL_CODE(IOCTL_CDROM_BASE, 0x000A, METHOD_BUFFERED, FILE_READ_ACCESS) 224 #define IOCTL_CDROM_READ_Q_CHANNEL CTL_CODE(IOCTL_CDROM_BASE, 0x000B, METHOD_BUFFERED, FILE_READ_ACCESS) 225 #define IOCTL_CDROM_GET_LAST_SESSION CTL_CODE(IOCTL_CDROM_BASE, 0x000E, METHOD_BUFFERED, FILE_READ_ACCESS) 226 #define IOCTL_CDROM_RAW_READ CTL_CODE(IOCTL_CDROM_BASE, 0x000F, METHOD_OUT_DIRECT, FILE_READ_ACCESS) 227 #define IOCTL_CDROM_DISK_TYPE CTL_CODE(IOCTL_CDROM_BASE, 0x0010, METHOD_BUFFERED, FILE_ANY_ACCESS) 228 #define IOCTL_CDROM_GET_DRIVE_GEOMETRY CTL_CODE(IOCTL_CDROM_BASE, 0x0013, METHOD_BUFFERED, FILE_READ_ACCESS) 229 #define IOCTL_CDROM_CHECK_VERIFY CTL_CODE(IOCTL_CDROM_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS) 230 #define IOCTL_CDROM_MEDIA_REMOVAL CTL_CODE(IOCTL_CDROM_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS) 231 #define IOCTL_CDROM_EJECT_MEDIA CTL_CODE(IOCTL_CDROM_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS) 232 #define IOCTL_CDROM_LOAD_MEDIA CTL_CODE(IOCTL_CDROM_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS) 233 #define IOCTL_CDROM_RESERVE CTL_CODE(IOCTL_CDROM_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS) 234 #define IOCTL_CDROM_RELEASE CTL_CODE(IOCTL_CDROM_BASE, 0x0205, METHOD_BUFFERED, FILE_READ_ACCESS) 235 #define IOCTL_CDROM_FIND_NEW_DEVICES CTL_CODE(IOCTL_CDROM_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS) 236 #define IOCTL_CDROM_SIMBAD CTL_CODE(IOCTL_CDROM_BASE, 0x1003, METHOD_BUFFERED, FILE_READ_ACCESS) 237 238 #define MAXIMUM_NUMBER_TRACKS 100 239 #define MAXIMUM_CDROM_SIZE 804 240 241 typedef struct _TRACK_DATA { 242 UCHAR Reserved; 243 UCHAR Control : 4; 244 UCHAR Adr : 4; 245 UCHAR TrackNumber; 246 UCHAR Reserved1; 247 UCHAR Address[4]; 248 } TRACK_DATA, *PTRACK_DATA; 249 250 typedef struct _CDROM_TOC { 251 UCHAR Length[2]; 252 UCHAR FirstTrack; 253 UCHAR LastTrack; 254 TRACK_DATA TrackData[MAXIMUM_NUMBER_TRACKS]; 255 } CDROM_TOC, *PCDROM_TOC; 256 257 #define CDROM_TOC_SIZE sizeof(CDROM_TOC) 258 259 typedef struct _CDROM_PLAY_AUDIO_MSF { 260 UCHAR StartingM; 261 UCHAR StartingS; 262 UCHAR StartingF; 263 UCHAR EndingM; 264 UCHAR EndingS; 265 UCHAR EndingF; 266 } CDROM_PLAY_AUDIO_MSF, *PCDROM_PLAY_AUDIO_MSF; 267 268 typedef struct _CDROM_SEEK_AUDIO_MSF { 269 UCHAR M; 270 UCHAR S; 271 UCHAR F; 272 } CDROM_SEEK_AUDIO_MSF, *PCDROM_SEEK_AUDIO_MSF; 273 274 typedef struct _CDROM_DISK_DATA { 275 ULONG DiskData; 276 } CDROM_DISK_DATA, *PCDROM_DISK_DATA; 277 278 #define CDROM_DISK_AUDIO_TRACK (0x00000001) 279 #define CDROM_DISK_DATA_TRACK (0x00000002) 280 281 282 #define IOCTL_CDROM_SUB_Q_CHANNEL 0x00 283 #define IOCTL_CDROM_CURRENT_POSITION 0x01 284 #define IOCTL_CDROM_MEDIA_CATALOG 0x02 285 #define IOCTL_CDROM_TRACK_ISRC 0x03 286 287 typedef struct _CDROM_SUB_Q_DATA_FORMAT { 288 UCHAR Format; 289 UCHAR Track; 290 } CDROM_SUB_Q_DATA_FORMAT, *PCDROM_SUB_Q_DATA_FORMAT; 291 292 293 typedef struct _SUB_Q_HEADER { 294 UCHAR Reserved; 295 UCHAR AudioStatus; 296 UCHAR DataLength[2]; 297 } SUB_Q_HEADER, *PSUB_Q_HEADER; 298 299 typedef struct _SUB_Q_CURRENT_POSITION { 300 SUB_Q_HEADER Header; 301 UCHAR FormatCode; 302 UCHAR Control : 4; 303 UCHAR ADR : 4; 304 UCHAR TrackNumber; 305 UCHAR IndexNumber; 306 UCHAR AbsoluteAddress[4]; 307 UCHAR TrackRelativeAddress[4]; 308 } SUB_Q_CURRENT_POSITION, *PSUB_Q_CURRENT_POSITION; 309 310 typedef struct _SUB_Q_MEDIA_CATALOG_NUMBER { 311 SUB_Q_HEADER Header; 312 UCHAR FormatCode; 313 UCHAR Reserved[3]; 314 UCHAR Reserved1 : 7; 315 UCHAR Mcval : 1; 316 UCHAR MediaCatalog[15]; 317 } SUB_Q_MEDIA_CATALOG_NUMBER, *PSUB_Q_MEDIA_CATALOG_NUMBER; 318 319 typedef struct _SUB_Q_TRACK_ISRC { 320 SUB_Q_HEADER Header; 321 UCHAR FormatCode; 322 UCHAR Reserved0; 323 UCHAR Track; 324 UCHAR Reserved1; 325 UCHAR Reserved2 : 7; 326 UCHAR Tcval : 1; 327 UCHAR TrackIsrc[15]; 328 } SUB_Q_TRACK_ISRC, *PSUB_Q_TRACK_ISRC; 329 330 typedef union _SUB_Q_CHANNEL_DATA { 331 SUB_Q_CURRENT_POSITION CurrentPosition; 332 SUB_Q_MEDIA_CATALOG_NUMBER MediaCatalog; 333 SUB_Q_TRACK_ISRC TrackIsrc; 334 } SUB_Q_CHANNEL_DATA, *PSUB_Q_CHANNEL_DATA; 335 336 #define AUDIO_STATUS_NOT_SUPPORTED 0x00 337 #define AUDIO_STATUS_IN_PROGRESS 0x11 338 #define AUDIO_STATUS_PAUSED 0x12 339 #define AUDIO_STATUS_PLAY_COMPLETE 0x13 340 #define AUDIO_STATUS_PLAY_ERROR 0x14 341 #define AUDIO_STATUS_NO_STATUS 0x15 342 343 #define ADR_NO_MODE_INFORMATION 0x0 344 #define ADR_ENCODES_CURRENT_POSITION 0x1 345 #define ADR_ENCODES_MEDIA_CATALOG 0x2 346 #define ADR_ENCODES_ISRC 0x3 347 348 #define AUDIO_WITH_PREEMPHASIS 0x1 349 #define DIGITAL_COPY_PERMITTED 0x2 350 #define AUDIO_DATA_TRACK 0x4 351 #define TWO_FOUR_CHANNEL_AUDIO 0x8 352 353 typedef struct _CDROM_AUDIO_CONTROL { 354 UCHAR LbaFormat; 355 USHORT LogicalBlocksPerSecond; 356 } CDROM_AUDIO_CONTROL, *PCDROM_AUDIO_CONTROL; 357 358 typedef struct _VOLUME_CONTROL { 359 UCHAR PortVolume[4]; 360 } VOLUME_CONTROL, *PVOLUME_CONTROL; 361 362 typedef enum _TRACK_MODE_TYPE { 363 YellowMode2, 364 XAForm2, 365 CDDA 366 } TRACK_MODE_TYPE, *PTRACK_MODE_TYPE; 367 368 typedef struct _RAW_READ_INFO { 369 LARGE_INTEGER DiskOffset; 370 ULONG SectorCount; 371 TRACK_MODE_TYPE TrackMode; 372 } RAW_READ_INFO, *PRAW_READ_INFO; 373 374 //Disk IOCTLs 198 375 199 376 #define IOCTL_DISK_BASE FILE_DEVICE_DISK
Note:
See TracChangeset
for help on using the changeset viewer.