123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the ReactOS PSDK package.
- * No warranty is given; refer to the file DISCLAIMER within this package.
- */
- #pragma once
- #define __NTDDMMC__
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define SCSI_GET_CONFIGURATION_REQUEST_TYPE_ALL 0x0
- #define SCSI_GET_CONFIGURATION_REQUEST_TYPE_CURRENT 0x1
- #define SCSI_GET_CONFIGURATION_REQUEST_TYPE_ONE 0x2
- typedef struct _GET_CONFIGURATION_HEADER {
- UCHAR DataLength[4];
- UCHAR Reserved[2];
- UCHAR CurrentProfile[2];
- #if !defined(__midl) && !defined(__WIDL__)
- UCHAR Data[0];
- #endif
- } GET_CONFIGURATION_HEADER, *PGET_CONFIGURATION_HEADER;
- typedef struct _FEATURE_HEADER {
- UCHAR FeatureCode[2];
- UCHAR Current:1;
- UCHAR Persistent:1;
- UCHAR Version:4;
- UCHAR Reserved0:2;
- UCHAR AdditionalLength;
- } FEATURE_HEADER, *PFEATURE_HEADER;
- typedef enum _FEATURE_PROFILE_TYPE {
- ProfileInvalid = 0x0000,
- ProfileNonRemovableDisk = 0x0001,
- ProfileRemovableDisk = 0x0002,
- ProfileMOErasable = 0x0003,
- ProfileMOWriteOnce = 0x0004,
- ProfileAS_MO = 0x0005,
- ProfileCdrom = 0x0008,
- ProfileCdRecordable = 0x0009,
- ProfileCdRewritable = 0x000a,
- ProfileDvdRom = 0x0010,
- ProfileDvdRecordable = 0x0011,
- ProfileDvdRam = 0x0012,
- ProfileDvdRewritable = 0x0013,
- ProfileDvdRWSequential = 0x0014,
- ProfileDvdDashRDualLayer = 0x0015,
- ProfileDvdDashRLayerJump = 0x0016,
- ProfileDvdPlusRW = 0x001A,
- ProfileDvdPlusR = 0x001B,
- ProfileDDCdrom = 0x0020,
- ProfileDDCdRecordable = 0x0021,
- ProfileDDCdRewritable = 0x0022,
- ProfileDvdPlusRWDualLayer = 0x002A,
- ProfileDvdPlusRDualLayer = 0x002B,
- ProfileBDRom = 0x0040,
- ProfileBDRSequentialWritable = 0x0041,
- ProfileBDRRandomWritable = 0x0042,
- ProfileBDRewritable = 0x0043,
- ProfileHDDVDRom = 0x0050,
- ProfileHDDVDRecordable = 0x0051,
- ProfileHDDVDRam = 0x0052,
- ProfileHDDVDRewritable = 0x0053,
- ProfileHDDVDRDualLayer = 0x0058,
- ProfileHDDVDRWDualLayer = 0x005A,
- ProfileNonStandard = 0xffff
- } FEATURE_PROFILE_TYPE, *PFEATURE_PROFILE_TYPE;
- typedef enum _FEATURE_NUMBER {
- FeatureProfileList = 0x0000,
- FeatureCore = 0x0001,
- FeatureMorphing = 0x0002,
- FeatureRemovableMedium = 0x0003,
- FeatureWriteProtect = 0x0004,
- FeatureRandomReadable = 0x0010,
- FeatureMultiRead = 0x001D,
- FeatureCdRead = 0x001E,
- FeatureDvdRead = 0x001F,
- FeatureRandomWritable = 0x0020,
- FeatureIncrementalStreamingWritable = 0x0021,
- FeatureSectorErasable = 0x0022,
- FeatureFormattable = 0x0023,
- FeatureDefectManagement = 0x0024,
- FeatureWriteOnce = 0x0025,
- FeatureRestrictedOverwrite = 0x0026,
- FeatureCdrwCAVWrite = 0x0027,
- FeatureMrw = 0x0028,
- FeatureEnhancedDefectReporting = 0x0029,
- FeatureDvdPlusRW = 0x002A,
- FeatureDvdPlusR = 0x002B,
- FeatureRigidRestrictedOverwrite = 0x002C,
- FeatureCdTrackAtOnce = 0x002D,
- FeatureCdMastering = 0x002E,
- FeatureDvdRecordableWrite = 0x002F,
- FeatureDDCDRead = 0x0030,
- FeatureDDCDRWrite = 0x0031,
- FeatureDDCDRWWrite = 0x0032,
- FeatureLayerJumpRecording = 0x0033,
- FeatureCDRWMediaWriteSupport = 0x0037,
- FeatureBDRPseudoOverwrite = 0x0038,
- FeatureDvdPlusRWDualLayer = 0x003A,
- FeatureDvdPlusRDualLayer = 0x003B,
- FeatureBDRead = 0x0040,
- FeatureBDWrite = 0x0041,
- FeatureTSR = 0x0042,
- FeatureHDDVDRead = 0x0050,
- FeatureHDDVDWrite = 0x0051,
- FeatureHybridDisc = 0x0080,
- FeaturePowerManagement = 0x0100,
- FeatureSMART = 0x0101,
- FeatureEmbeddedChanger = 0x0102,
- FeatureCDAudioAnalogPlay = 0x0103,
- FeatureMicrocodeUpgrade = 0x0104,
- FeatureTimeout = 0x0105,
- FeatureDvdCSS = 0x0106,
- FeatureRealTimeStreaming = 0x0107,
- FeatureLogicalUnitSerialNumber = 0x0108,
- FeatureMediaSerialNumber = 0x0109,
- FeatureDiscControlBlocks = 0x010A,
- FeatureDvdCPRM = 0x010B,
- FeatureFirmwareDate = 0x010C,
- FeatureAACS = 0x010D,
- FeatureVCPS = 0x0110,
- } FEATURE_NUMBER, *PFEATURE_NUMBER;
- typedef struct _FEATURE_DATA_PROFILE_LIST_EX {
- UCHAR ProfileNumber[2];
- UCHAR Current:1;
- UCHAR Reserved1:7;
- UCHAR Reserved2;
- } FEATURE_DATA_PROFILE_LIST_EX, *PFEATURE_DATA_PROFILE_LIST_EX;
- typedef struct _FEATURE_DATA_PROFILE_LIST {
- FEATURE_HEADER Header;
- #if !defined(__midl) && !defined(__WIDL__)
- FEATURE_DATA_PROFILE_LIST_EX Profiles[0];
- #endif
- } FEATURE_DATA_PROFILE_LIST, *PFEATURE_DATA_PROFILE_LIST;
- typedef struct _FEATURE_DATA_CORE {
- FEATURE_HEADER Header;
- UCHAR PhysicalInterface[4];
- UCHAR DeviceBusyEvent:1;
- UCHAR INQUIRY2:1;
- UCHAR Reserved1:6;
- UCHAR Reserved2[3];
- } FEATURE_DATA_CORE, *PFEATURE_DATA_CORE;
- typedef struct _FEATURE_DATA_MORPHING {
- FEATURE_HEADER Header;
- UCHAR Asynchronous:1;
- UCHAR OCEvent:1;
- UCHAR Reserved01:6;
- UCHAR Reserved2[3];
- } FEATURE_DATA_MORPHING, *PFEATURE_DATA_MORPHING;
- typedef struct _FEATURE_DATA_REMOVABLE_MEDIUM {
- FEATURE_HEADER Header;
- UCHAR Lockable:1;
- UCHAR Reserved1:1;
- UCHAR DefaultToPrevent:1;
- UCHAR Eject:1;
- UCHAR Reserved2:1;
- UCHAR LoadingMechanism:3;
- UCHAR Reserved3[3];
- } FEATURE_DATA_REMOVABLE_MEDIUM, *PFEATURE_DATA_REMOVABLE_MEDIUM;
- typedef struct _FEATURE_DATA_WRITE_PROTECT {
- FEATURE_HEADER Header;
- UCHAR SupportsSWPPBit:1;
- UCHAR SupportsPersistentWriteProtect:1;
- UCHAR WriteInhibitDCB:1;
- UCHAR DiscWriteProtectPAC:1;
- UCHAR Reserved01:4;
- UCHAR Reserved2[3];
- } FEATURE_DATA_WRITE_PROTECT, *PFEATURE_DATA_WRITE_PROTECT;
- typedef struct _FEATURE_DATA_RANDOM_READABLE {
- FEATURE_HEADER Header;
- UCHAR LogicalBlockSize[4];
- UCHAR Blocking[2];
- UCHAR ErrorRecoveryPagePresent:1;
- UCHAR Reserved1:7;
- UCHAR Reserved2;
- } FEATURE_DATA_RANDOM_READABLE, *PFEATURE_DATA_RANDOM_READABLE;
- typedef struct _FEATURE_DATA_MULTI_READ {
- FEATURE_HEADER Header;
- } FEATURE_DATA_MULTI_READ, *PFEATURE_DATA_MULTI_READ;
- typedef struct _FEATURE_DATA_CD_READ {
- FEATURE_HEADER Header;
- UCHAR CDText:1;
- UCHAR C2ErrorData:1;
- UCHAR Reserved01:5;
- UCHAR DigitalAudioPlay:1;
- UCHAR Reserved2[3];
- } FEATURE_DATA_CD_READ, *PFEATURE_DATA_CD_READ;
- typedef struct _FEATURE_DATA_DVD_READ {
- FEATURE_HEADER Header;
- UCHAR Multi110:1;
- UCHAR Reserved1:7;
- UCHAR Reserved2;
- UCHAR DualDashR:1;
- UCHAR Reserved3:7;
- UCHAR Reserved4;
- } FEATURE_DATA_DVD_READ, *PFEATURE_DATA_DVD_READ;
- typedef struct _FEATURE_DATA_RANDOM_WRITABLE {
- FEATURE_HEADER Header;
- UCHAR LastLBA[4];
- UCHAR LogicalBlockSize[4];
- UCHAR Blocking[2];
- UCHAR ErrorRecoveryPagePresent:1;
- UCHAR Reserved1:7;
- UCHAR Reserved2;
- } FEATURE_DATA_RANDOM_WRITABLE, *PFEATURE_DATA_RANDOM_WRITABLE;
- typedef struct _FEATURE_DATA_INCREMENTAL_STREAMING_WRITABLE {
- FEATURE_HEADER Header;
- UCHAR DataTypeSupported[2];
- UCHAR BufferUnderrunFree:1;
- UCHAR AddressModeReservation:1;
- UCHAR TrackRessourceInformation:1;
- UCHAR Reserved01:5;
- UCHAR NumberOfLinkSizes;
- #if !defined(__midl) && !defined(__WIDL__)
- UCHAR LinkSize[0];
- #endif
- } FEATURE_DATA_INCREMENTAL_STREAMING_WRITABLE, *PFEATURE_DATA_INCREMENTAL_STREAMING_WRITABLE;
- typedef struct _FEATURE_DATA_SECTOR_ERASABLE {
- FEATURE_HEADER Header;
- } FEATURE_DATA_SECTOR_ERASABLE, *PFEATURE_DATA_SECTOR_ERASABLE;
- typedef struct _FEATURE_DATA_FORMATTABLE {
- FEATURE_HEADER Header;
- UCHAR FullCertification:1;
- UCHAR QuickCertification:1;
- UCHAR SpareAreaExpansion:1;
- UCHAR RENoSpareAllocated:1;
- UCHAR Reserved1:4;
- UCHAR Reserved2[3];
- UCHAR RRandomWritable:1;
- UCHAR Reserved3:7;
- UCHAR Reserved4[3];
- } FEATURE_DATA_FORMATTABLE, *PFEATURE_DATA_FORMATTABLE;
- typedef struct _FEATURE_DATA_DEFECT_MANAGEMENT {
- FEATURE_HEADER Header;
- UCHAR Reserved1:7;
- UCHAR SupplimentalSpareArea:1;
- UCHAR Reserved2[3];
- } FEATURE_DATA_DEFECT_MANAGEMENT, *PFEATURE_DATA_DEFECT_MANAGEMENT;
- typedef struct _FEATURE_DATA_WRITE_ONCE {
- FEATURE_HEADER Header;
- UCHAR LogicalBlockSize[4];
- UCHAR Blocking[2];
- UCHAR ErrorRecoveryPagePresent:1;
- UCHAR Reserved1:7;
- UCHAR Reserved2;
- } FEATURE_DATA_WRITE_ONCE, *PFEATURE_DATA_WRITE_ONCE;
- typedef struct _FEATURE_DATA_RESTRICTED_OVERWRITE {
- FEATURE_HEADER Header;
- } FEATURE_DATA_RESTRICTED_OVERWRITE, *PFEATURE_DATA_RESTRICTED_OVERWRITE;
- typedef struct _FEATURE_DATA_CDRW_CAV_WRITE {
- FEATURE_HEADER Header;
- UCHAR Reserved1[4];
- } FEATURE_DATA_CDRW_CAV_WRITE, *PFEATURE_DATA_CDRW_CAV_WRITE;
- typedef struct _FEATURE_DATA_MRW {
- FEATURE_HEADER Header;
- UCHAR Write:1;
- UCHAR DvdPlusRead:1;
- UCHAR DvdPlusWrite:1;
- UCHAR Reserved01:5;
- UCHAR Reserved2[3];
- } FEATURE_DATA_MRW, *PFEATURE_DATA_MRW;
- typedef struct _FEATURE_ENHANCED_DEFECT_REPORTING {
- FEATURE_HEADER Header;
- UCHAR DRTDMSupported:1;
- UCHAR Reserved0:7;
- UCHAR NumberOfDBICacheZones;
- UCHAR NumberOfEntries[2];
- } FEATURE_ENHANCED_DEFECT_REPORTING, *PFEATURE_ENHANCED_DEFECT_REPORTING;
- typedef struct _FEATURE_DATA_DVD_PLUS_RW {
- FEATURE_HEADER Header;
- UCHAR Write:1;
- UCHAR Reserved1:7;
- UCHAR CloseOnly:1;
- UCHAR QuickStart:1;
- UCHAR Reserved02:6;
- UCHAR Reserved03[2];
- } FEATURE_DATA_DVD_PLUS_RW, *PFEATURE_DATA_DVD_PLUS_RW;
- typedef struct _FEATURE_DATA_DVD_PLUS_R {
- FEATURE_HEADER Header;
- UCHAR Write:1;
- UCHAR Reserved1:7;
- UCHAR Reserved2[3];
- } FEATURE_DATA_DVD_PLUS_R, *PFEATURE_DATA_DVD_PLUS_R;
- typedef struct _FEATURE_DATA_DVD_RW_RESTRICTED_OVERWRITE {
- FEATURE_HEADER Header;
- UCHAR Blank:1;
- UCHAR Intermediate:1;
- UCHAR DefectStatusDataRead:1;
- UCHAR DefectStatusDataGenerate:1;
- UCHAR Reserved0:4;
- UCHAR Reserved1[3];
- } FEATURE_DATA_DVD_RW_RESTRICTED_OVERWRITE, *PFEATURE_DATA_DVD_RW_RESTRICTED_OVERWRITE;
- typedef struct _FEATURE_DATA_CD_TRACK_AT_ONCE {
- FEATURE_HEADER Header;
- UCHAR RWSubchannelsRecordable:1;
- UCHAR CdRewritable:1;
- UCHAR TestWriteOk:1;
- UCHAR RWSubchannelPackedOk:1;
- UCHAR RWSubchannelRawOk:1;
- UCHAR Reserved1:1;
- UCHAR BufferUnderrunFree:1;
- UCHAR Reserved3:1;
- UCHAR Reserved2;
- UCHAR DataTypeSupported[2];
- } FEATURE_DATA_CD_TRACK_AT_ONCE, *PFEATURE_DATA_CD_TRACK_AT_ONCE;
- typedef struct _FEATURE_DATA_CD_MASTERING {
- FEATURE_HEADER Header;
- UCHAR RWSubchannelsRecordable:1;
- UCHAR CdRewritable:1;
- UCHAR TestWriteOk:1;
- UCHAR RawRecordingOk:1;
- UCHAR RawMultiSessionOk:1;
- UCHAR SessionAtOnceOk:1;
- UCHAR BufferUnderrunFree:1;
- UCHAR Reserved1:1;
- UCHAR MaximumCueSheetLength[3];
- } FEATURE_DATA_CD_MASTERING, *PFEATURE_DATA_CD_MASTERING;
- typedef struct _FEATURE_DATA_DVD_RECORDABLE_WRITE {
- FEATURE_HEADER Header;
- UCHAR Reserved1:1;
- UCHAR DVD_RW:1;
- UCHAR TestWrite:1;
- UCHAR RDualLayer:1;
- UCHAR Reserved02:2;
- UCHAR BufferUnderrunFree:1;
- UCHAR Reserved3:1;
- UCHAR Reserved4[3];
- } FEATURE_DATA_DVD_RECORDABLE_WRITE, *PFEATURE_DATA_DVD_RECORDABLE_WRITE;
- typedef struct _FEATURE_DATA_DDCD_READ {
- FEATURE_HEADER Header;
- } FEATURE_DATA_DDCD_READ, *PFEATURE_DATA_DDCD_READ;
- typedef struct _FEATURE_DATA_DDCD_R_WRITE {
- FEATURE_HEADER Header;
- UCHAR Reserved1:2;
- UCHAR TestWrite:1;
- UCHAR Reserved2:5;
- UCHAR Reserved3[3];
- } FEATURE_DATA_DDCD_R_WRITE, *PFEATURE_DATA_DDCD_R_WRITE;
- typedef struct _FEATURE_DATA_DDCD_RW_WRITE {
- FEATURE_HEADER Header;
- UCHAR Blank:1;
- UCHAR Intermediate:1;
- UCHAR Reserved1:6;
- UCHAR Reserved2[3];
- } FEATURE_DATA_DDCD_RW_WRITE, *PFEATURE_DATA_DDCD_RW_WRITE;
- typedef struct _FEATURE_DATA_LAYER_JUMP_RECORDING {
- FEATURE_HEADER Header;
- UCHAR Reserved0[3];
- UCHAR NumberOfLinkSizes;
- #if !defined(__midl) && !defined(__WIDL__)
- UCHAR LinkSizes[0];
- #endif
- } FEATURE_DATA_LAYER_JUMP_RECORDING, *PFEATURE_DATA_LAYER_JUMP_RECORDING;
- typedef struct _FEATURE_CD_RW_MEDIA_WRITE_SUPPORT {
- FEATURE_HEADER Header;
- UCHAR Reserved1;
- struct{
- UCHAR Subtype0:1;
- UCHAR Subtype1:1;
- UCHAR Subtype2:1;
- UCHAR Subtype3:1;
- UCHAR Subtype4:1;
- UCHAR Subtype5:1;
- UCHAR Subtype6:1;
- UCHAR Subtype7:1;
- } CDRWMediaSubtypeSupport;
- UCHAR Reserved2[2];
- } FEATURE_CD_RW_MEDIA_WRITE_SUPPORT, *PFEATURE_CD_RW_MEDIA_WRITE_SUPPORT;
- typedef struct _FEATURE_BD_R_PSEUDO_OVERWRITE {
- FEATURE_HEADER Header;
- UCHAR Reserved[4];
- } FEATURE_BD_R_PSEUDO_OVERWRITE, *PFEATURE_BD_R_PSEUDO_OVERWRITE;
- typedef struct _FEATURE_DATA_DVD_PLUS_RW_DUAL_LAYER {
- FEATURE_HEADER Header;
- UCHAR Write:1;
- UCHAR Reserved1:7;
- UCHAR CloseOnly:1;
- UCHAR QuickStart:1;
- UCHAR Reserved2:6;
- UCHAR Reserved3[2];
- } FEATURE_DATA_DVD_PLUS_RW_DUAL_LAYER, *PFEATURE_DATA_DVD_PLUS_RW_DUAL_LAYER;
- typedef struct _FEATURE_DATA_DVD_PLUS_R_DUAL_LAYER {
- FEATURE_HEADER Header;
- UCHAR Write:1;
- UCHAR Reserved1:7;
- UCHAR Reserved2[3];
- } FEATURE_DATA_DVD_PLUS_R_DUAL_LAYER, *PFEATURE_DATA_DVD_PLUS_R_DUAL_LAYER;
- typedef struct _BD_CLASS_SUPPORT_BITMAP {
- UCHAR Version8:1;
- UCHAR Version9:1;
- UCHAR Version10:1;
- UCHAR Version11:1;
- UCHAR Version12:1;
- UCHAR Version13:1;
- UCHAR Version14:1;
- UCHAR Version15:1;
- UCHAR Version0:1;
- UCHAR Version1:1;
- UCHAR Version2:1;
- UCHAR Version3:1;
- UCHAR Version4:1;
- UCHAR Version5:1;
- UCHAR Version6:1;
- UCHAR Version7:1;
- } BD_CLASS_SUPPORT_BITMAP, *PBD_CLASS_SUPPORT_BITMAP;
- typedef struct _FEATURE_BD_READ {
- FEATURE_HEADER Header;
- UCHAR Reserved[4];
- BD_CLASS_SUPPORT_BITMAP Class0BitmapBDREReadSupport;
- BD_CLASS_SUPPORT_BITMAP Class1BitmapBDREReadSupport;
- BD_CLASS_SUPPORT_BITMAP Class2BitmapBDREReadSupport;
- BD_CLASS_SUPPORT_BITMAP Class3BitmapBDREReadSupport;
- BD_CLASS_SUPPORT_BITMAP Class0BitmapBDRReadSupport;
- BD_CLASS_SUPPORT_BITMAP Class1BitmapBDRReadSupport;
- BD_CLASS_SUPPORT_BITMAP Class2BitmapBDRReadSupport;
- BD_CLASS_SUPPORT_BITMAP Class3BitmapBDRReadSupport;
- BD_CLASS_SUPPORT_BITMAP Class0BitmapBDROMReadSupport;
- BD_CLASS_SUPPORT_BITMAP Class1BitmapBDROMReadSupport;
- BD_CLASS_SUPPORT_BITMAP Class2BitmapBDROMReadSupport;
- BD_CLASS_SUPPORT_BITMAP Class3BitmapBDROMReadSupport;
- } FEATURE_BD_READ, *PFEATURE_BD_READ;
- typedef struct _FEATURE_BD_WRITE {
- FEATURE_HEADER Header;
- UCHAR SupportsVerifyNotRequired:1;
- UCHAR Reserved1:7;
- UCHAR Reserved2[3];
- BD_CLASS_SUPPORT_BITMAP Class0BitmapBDREWriteSupport;
- BD_CLASS_SUPPORT_BITMAP Class1BitmapBDREWriteSupport;
- BD_CLASS_SUPPORT_BITMAP Class2BitmapBDREWriteSupport;
- BD_CLASS_SUPPORT_BITMAP Class3BitmapBDREWriteSupport;
- BD_CLASS_SUPPORT_BITMAP Class0BitmapBDRWriteSupport;
- BD_CLASS_SUPPORT_BITMAP Class1BitmapBDRWriteSupport;
- BD_CLASS_SUPPORT_BITMAP Class2BitmapBDRWriteSupport;
- BD_CLASS_SUPPORT_BITMAP Class3BitmapBDRWriteSupport;
- } FEATURE_BD_WRITE, *PFEATURE_BD_WRITE;
- typedef struct _FEATURE_TSR {
- FEATURE_HEADER Header;
- } FEATURE_TSR, *PFEATURE_TSR;
- typedef struct _FEATURE_DATA_HDDVD_READ {
- FEATURE_HEADER Header;
- UCHAR Recordable:1;
- UCHAR Reserved0:7;
- UCHAR Reserved1;
- UCHAR Rewritable:1;
- UCHAR Reserved2:7;
- UCHAR Reserved3;
- } FEATURE_DATA_HDDVD_READ, *PFEATURE_DATA_HDDVD_READ;
- typedef struct _FEATURE_DATA_HDDVD_WRITE {
- FEATURE_HEADER Header;
- UCHAR Recordable:1;
- UCHAR Reserved0:7;
- UCHAR Reserved1;
- UCHAR Rewritable:1;
- UCHAR Reserved2:7;
- UCHAR Reserved3;
- } FEATURE_DATA_HDDVD_WRITE, *PFEATURE_DATA_HDDVD_WRITE;
- typedef struct _FEATURE_HYBRID_DISC {
- FEATURE_HEADER Header;
- UCHAR ResetImmunity:1;
- UCHAR Reserved1:7;
- UCHAR Reserved2[3];
- } FEATURE_HYBRID_DISC, *PFEATURE_HYBRID_DISC;
- typedef struct _FEATURE_DATA_POWER_MANAGEMENT {
- FEATURE_HEADER Header;
- } FEATURE_DATA_POWER_MANAGEMENT, *PFEATURE_DATA_POWER_MANAGEMENT;
- typedef struct _FEATURE_DATA_SMART {
- FEATURE_HEADER Header;
- UCHAR FaultFailureReportingPagePresent:1;
- UCHAR Reserved1:7;
- UCHAR Reserved02[3];
- } FEATURE_DATA_SMART, *PFEATURE_DATA_SMART;
- typedef struct _FEATURE_DATA_EMBEDDED_CHANGER {
- FEATURE_HEADER Header;
- UCHAR Reserved1:2;
- UCHAR SupportsDiscPresent:1;
- UCHAR Reserved2:1;
- UCHAR SideChangeCapable:1;
- UCHAR Reserved3:3;
- UCHAR Reserved4[2];
- UCHAR HighestSlotNumber:5;
- UCHAR Reserved:3;
- } FEATURE_DATA_EMBEDDED_CHANGER, *PFEATURE_DATA_EMBEDDED_CHANGER;
- typedef struct _FEATURE_DATA_CD_AUDIO_ANALOG_PLAY {
- FEATURE_HEADER Header;
- UCHAR SeperateVolume:1;
- UCHAR SeperateChannelMute:1;
- UCHAR ScanSupported:1;
- UCHAR Reserved1:5;
- UCHAR Reserved2;
- UCHAR NumerOfVolumeLevels[2];
- } FEATURE_DATA_CD_AUDIO_ANALOG_PLAY, *PFEATURE_DATA_CD_AUDIO_ANALOG_PLAY;
- typedef struct _FEATURE_DATA_MICROCODE_UPDATE {
- FEATURE_HEADER Header;
- UCHAR M5:1;
- UCHAR Reserved1:7;
- UCHAR Reserved2[3];
- } FEATURE_DATA_MICROCODE_UPDATE, *PFEATURE_DATA_MICROCODE_UPDATE;
- typedef struct _FEATURE_DATA_TIMEOUT {
- FEATURE_HEADER Header;
- UCHAR Group3:1;
- UCHAR Reserved1:7;
- UCHAR Reserved2;
- UCHAR UnitLength[2];
- } FEATURE_DATA_TIMEOUT, *PFEATURE_DATA_TIMEOUT;
- typedef struct _FEATURE_DATA_DVD_CSS {
- FEATURE_HEADER Header;
- UCHAR Reserved1[3];
- UCHAR CssVersion;
- } FEATURE_DATA_DVD_CSS, *PFEATURE_DATA_DVD_CSS;
- typedef struct _FEATURE_DATA_REAL_TIME_STREAMING {
- FEATURE_HEADER Header;
- UCHAR StreamRecording:1;
- UCHAR WriteSpeedInGetPerf:1;
- UCHAR WriteSpeedInMP2A:1;
- UCHAR SetCDSpeed:1;
- UCHAR ReadBufferCapacityBlock:1;
- UCHAR Reserved1:3;
- UCHAR Reserved2[3];
- } FEATURE_DATA_REAL_TIME_STREAMING, *PFEATURE_DATA_REAL_TIME_STREAMING;
- typedef struct _FEATURE_DATA_LOGICAL_UNIT_SERIAL_NUMBER {
- FEATURE_HEADER Header;
- #if !defined(__midl) && !defined(__WIDL__)
- UCHAR SerialNumber[0];
- #endif
- } FEATURE_DATA_LOGICAL_UNIT_SERIAL_NUMBER, *PFEATURE_DATA_LOGICAL_UNIT_SERIAL_NUMBER;
- typedef struct _FEATURE_MEDIA_SERIAL_NUMBER {
- FEATURE_HEADER Header;
- } FEATURE_MEDIA_SERIAL_NUMBER, *PFEATURE_MEDIA_SERIAL_NUMBER;
- typedef struct _FEATURE_DATA_DISC_CONTROL_BLOCKS_EX {
- UCHAR ContentDescriptor[4];
- } FEATURE_DATA_DISC_CONTROL_BLOCKS_EX, *PFEATURE_DATA_DISC_CONTROL_BLOCKS_EX;
- typedef struct _FEATURE_DATA_DISC_CONTROL_BLOCKS {
- FEATURE_HEADER Header;
- #if !defined(__midl) && !defined(__WIDL__)
- FEATURE_DATA_DISC_CONTROL_BLOCKS_EX Data[0];
- #endif
- } FEATURE_DATA_DISC_CONTROL_BLOCKS, *PFEATURE_DATA_DISC_CONTROL_BLOCKS;
- typedef struct _FEATURE_DATA_DVD_CPRM {
- FEATURE_HEADER Header;
- UCHAR Reserved0[3];
- UCHAR CPRMVersion;
- } FEATURE_DATA_DVD_CPRM, *PFEATURE_DATA_DVD_CPRM;
- typedef struct _FEATURE_DATA_FIRMWARE_DATE {
- FEATURE_HEADER Header;
- UCHAR Year[4];
- UCHAR Month[2];
- UCHAR Day[2];
- UCHAR Hour[2];
- UCHAR Minute[2];
- UCHAR Seconds[2];
- UCHAR Reserved[2];
- } FEATURE_DATA_FIRMWARE_DATE, *PFEATURE_DATA_FIRMWARE_DATE;
- typedef struct _FEATURE_DATA_AACS {
- FEATURE_HEADER Header;
- UCHAR BindingNonceGeneration:1;
- UCHAR Reserved0:7;
- UCHAR BindingNonceBlockCount;
- UCHAR NumberOfAGIDs:4;
- UCHAR Reserved1:4;
- UCHAR AACSVersion;
- } FEATURE_DATA_AACS, *PFEATURE_DATA_AACS;
- typedef struct _FEATURE_VCPS {
- FEATURE_HEADER Header;
- UCHAR Reserved[4];
- } FEATURE_VCPS, *PFEATURE_VCPS;
- typedef struct _FEATURE_DATA_RESERVED {
- FEATURE_HEADER Header;
- #if !defined(__midl) && !defined(__WIDL__)
- UCHAR Data[0];
- #endif
- } FEATURE_DATA_RESERVED, *PFEATURE_DATA_RESERVED;
- typedef struct _FEATURE_DATA_VENDOR_SPECIFIC {
- FEATURE_HEADER Header;
- #if !defined(__midl) && !defined(__WIDL__)
- UCHAR VendorSpecificData[0];
- #endif
- } FEATURE_DATA_VENDOR_SPECIFIC, *PFEATURE_DATA_VENDOR_SPECIFIC;
- typedef struct _GET_CONFIGURATION_IOCTL_INPUT {
- FEATURE_NUMBER Feature;
- ULONG RequestType;
- PVOID Reserved[2];
- } GET_CONFIGURATION_IOCTL_INPUT, *PGET_CONFIGURATION_IOCTL_INPUT;
- #if defined(_WIN64)
- typedef struct _GET_CONFIGURATION_IOCTL_INPUT32 {
- FEATURE_NUMBER Feature;
- ULONG RequestType;
- VOID* UPOINTER_32 Reserved[2];
- } GET_CONFIGURATION_IOCTL_INPUT32, *PGET_CONFIGURATION_IOCTL_INPUT32;
- #endif
- #ifdef __cplusplus
- }
- #endif
|