2
* This file has no copyright assigned and is placed in the Public Domain.
3
* This file is part of the ReactOS PSDK package.
4
* No warranty is given; refer to the file DISCLAIMER within this package.
15
#define SCSI_GET_CONFIGURATION_REQUEST_TYPE_ALL 0x0
16
#define SCSI_GET_CONFIGURATION_REQUEST_TYPE_CURRENT 0x1
17
#define SCSI_GET_CONFIGURATION_REQUEST_TYPE_ONE 0x2
19
typedef struct _GET_CONFIGURATION_HEADER {
22
UCHAR CurrentProfile[2];
23
#if !defined(__midl) && !defined(__WIDL__)
26
} GET_CONFIGURATION_HEADER, *PGET_CONFIGURATION_HEADER;
28
typedef struct _FEATURE_HEADER {
34
UCHAR AdditionalLength;
35
} FEATURE_HEADER, *PFEATURE_HEADER;
37
typedef enum _FEATURE_PROFILE_TYPE {
38
ProfileInvalid = 0x0000,
39
ProfileNonRemovableDisk = 0x0001,
40
ProfileRemovableDisk = 0x0002,
41
ProfileMOErasable = 0x0003,
42
ProfileMOWriteOnce = 0x0004,
43
ProfileAS_MO = 0x0005,
44
ProfileCdrom = 0x0008,
45
ProfileCdRecordable = 0x0009,
46
ProfileCdRewritable = 0x000a,
47
ProfileDvdRom = 0x0010,
48
ProfileDvdRecordable = 0x0011,
49
ProfileDvdRam = 0x0012,
50
ProfileDvdRewritable = 0x0013,
51
ProfileDvdRWSequential = 0x0014,
52
ProfileDvdDashRDualLayer = 0x0015,
53
ProfileDvdDashRLayerJump = 0x0016,
54
ProfileDvdPlusRW = 0x001A,
55
ProfileDvdPlusR = 0x001B,
56
ProfileDDCdrom = 0x0020,
57
ProfileDDCdRecordable = 0x0021,
58
ProfileDDCdRewritable = 0x0022,
59
ProfileDvdPlusRWDualLayer = 0x002A,
60
ProfileDvdPlusRDualLayer = 0x002B,
61
ProfileBDRom = 0x0040,
62
ProfileBDRSequentialWritable = 0x0041,
63
ProfileBDRRandomWritable = 0x0042,
64
ProfileBDRewritable = 0x0043,
65
ProfileHDDVDRom = 0x0050,
66
ProfileHDDVDRecordable = 0x0051,
67
ProfileHDDVDRam = 0x0052,
68
ProfileHDDVDRewritable = 0x0053,
69
ProfileHDDVDRDualLayer = 0x0058,
70
ProfileHDDVDRWDualLayer = 0x005A,
71
ProfileNonStandard = 0xffff
72
} FEATURE_PROFILE_TYPE, *PFEATURE_PROFILE_TYPE;
74
typedef enum _FEATURE_NUMBER {
75
FeatureProfileList = 0x0000,
77
FeatureMorphing = 0x0002,
78
FeatureRemovableMedium = 0x0003,
79
FeatureWriteProtect = 0x0004,
80
FeatureRandomReadable = 0x0010,
81
FeatureMultiRead = 0x001D,
82
FeatureCdRead = 0x001E,
83
FeatureDvdRead = 0x001F,
84
FeatureRandomWritable = 0x0020,
85
FeatureIncrementalStreamingWritable = 0x0021,
86
FeatureSectorErasable = 0x0022,
87
FeatureFormattable = 0x0023,
88
FeatureDefectManagement = 0x0024,
89
FeatureWriteOnce = 0x0025,
90
FeatureRestrictedOverwrite = 0x0026,
91
FeatureCdrwCAVWrite = 0x0027,
93
FeatureEnhancedDefectReporting = 0x0029,
94
FeatureDvdPlusRW = 0x002A,
95
FeatureDvdPlusR = 0x002B,
96
FeatureRigidRestrictedOverwrite = 0x002C,
97
FeatureCdTrackAtOnce = 0x002D,
98
FeatureCdMastering = 0x002E,
99
FeatureDvdRecordableWrite = 0x002F,
100
FeatureDDCDRead = 0x0030,
101
FeatureDDCDRWrite = 0x0031,
102
FeatureDDCDRWWrite = 0x0032,
103
FeatureLayerJumpRecording = 0x0033,
104
FeatureCDRWMediaWriteSupport = 0x0037,
105
FeatureBDRPseudoOverwrite = 0x0038,
106
FeatureDvdPlusRWDualLayer = 0x003A,
107
FeatureDvdPlusRDualLayer = 0x003B,
108
FeatureBDRead = 0x0040,
109
FeatureBDWrite = 0x0041,
111
FeatureHDDVDRead = 0x0050,
112
FeatureHDDVDWrite = 0x0051,
113
FeatureHybridDisc = 0x0080,
114
FeaturePowerManagement = 0x0100,
115
FeatureSMART = 0x0101,
116
FeatureEmbeddedChanger = 0x0102,
117
FeatureCDAudioAnalogPlay = 0x0103,
118
FeatureMicrocodeUpgrade = 0x0104,
119
FeatureTimeout = 0x0105,
120
FeatureDvdCSS = 0x0106,
121
FeatureRealTimeStreaming = 0x0107,
122
FeatureLogicalUnitSerialNumber = 0x0108,
123
FeatureMediaSerialNumber = 0x0109,
124
FeatureDiscControlBlocks = 0x010A,
125
FeatureDvdCPRM = 0x010B,
126
FeatureFirmwareDate = 0x010C,
127
FeatureAACS = 0x010D,
128
FeatureVCPS = 0x0110,
129
} FEATURE_NUMBER, *PFEATURE_NUMBER;
131
typedef struct _FEATURE_DATA_PROFILE_LIST_EX {
132
UCHAR ProfileNumber[2];
136
} FEATURE_DATA_PROFILE_LIST_EX, *PFEATURE_DATA_PROFILE_LIST_EX;
138
typedef struct _FEATURE_DATA_PROFILE_LIST {
139
FEATURE_HEADER Header;
140
#if !defined(__midl) && !defined(__WIDL__)
141
FEATURE_DATA_PROFILE_LIST_EX Profiles[0];
143
} FEATURE_DATA_PROFILE_LIST, *PFEATURE_DATA_PROFILE_LIST;
145
typedef struct _FEATURE_DATA_CORE {
146
FEATURE_HEADER Header;
147
UCHAR PhysicalInterface[4];
148
UCHAR DeviceBusyEvent:1;
152
} FEATURE_DATA_CORE, *PFEATURE_DATA_CORE;
154
typedef struct _FEATURE_DATA_MORPHING {
155
FEATURE_HEADER Header;
156
UCHAR Asynchronous:1;
160
} FEATURE_DATA_MORPHING, *PFEATURE_DATA_MORPHING;
162
typedef struct _FEATURE_DATA_REMOVABLE_MEDIUM {
163
FEATURE_HEADER Header;
166
UCHAR DefaultToPrevent:1;
169
UCHAR LoadingMechanism:3;
171
} FEATURE_DATA_REMOVABLE_MEDIUM, *PFEATURE_DATA_REMOVABLE_MEDIUM;
173
typedef struct _FEATURE_DATA_WRITE_PROTECT {
174
FEATURE_HEADER Header;
175
UCHAR SupportsSWPPBit:1;
176
UCHAR SupportsPersistentWriteProtect:1;
177
UCHAR WriteInhibitDCB:1;
178
UCHAR DiscWriteProtectPAC:1;
181
} FEATURE_DATA_WRITE_PROTECT, *PFEATURE_DATA_WRITE_PROTECT;
183
typedef struct _FEATURE_DATA_RANDOM_READABLE {
184
FEATURE_HEADER Header;
185
UCHAR LogicalBlockSize[4];
187
UCHAR ErrorRecoveryPagePresent:1;
190
} FEATURE_DATA_RANDOM_READABLE, *PFEATURE_DATA_RANDOM_READABLE;
192
typedef struct _FEATURE_DATA_MULTI_READ {
193
FEATURE_HEADER Header;
194
} FEATURE_DATA_MULTI_READ, *PFEATURE_DATA_MULTI_READ;
196
typedef struct _FEATURE_DATA_CD_READ {
197
FEATURE_HEADER Header;
201
UCHAR DigitalAudioPlay:1;
203
} FEATURE_DATA_CD_READ, *PFEATURE_DATA_CD_READ;
205
typedef struct _FEATURE_DATA_DVD_READ {
206
FEATURE_HEADER Header;
213
} FEATURE_DATA_DVD_READ, *PFEATURE_DATA_DVD_READ;
215
typedef struct _FEATURE_DATA_RANDOM_WRITABLE {
216
FEATURE_HEADER Header;
218
UCHAR LogicalBlockSize[4];
220
UCHAR ErrorRecoveryPagePresent:1;
223
} FEATURE_DATA_RANDOM_WRITABLE, *PFEATURE_DATA_RANDOM_WRITABLE;
225
typedef struct _FEATURE_DATA_INCREMENTAL_STREAMING_WRITABLE {
226
FEATURE_HEADER Header;
227
UCHAR DataTypeSupported[2];
228
UCHAR BufferUnderrunFree:1;
229
UCHAR AddressModeReservation:1;
230
UCHAR TrackRessourceInformation:1;
232
UCHAR NumberOfLinkSizes;
233
#if !defined(__midl) && !defined(__WIDL__)
236
} FEATURE_DATA_INCREMENTAL_STREAMING_WRITABLE, *PFEATURE_DATA_INCREMENTAL_STREAMING_WRITABLE;
238
typedef struct _FEATURE_DATA_SECTOR_ERASABLE {
239
FEATURE_HEADER Header;
240
} FEATURE_DATA_SECTOR_ERASABLE, *PFEATURE_DATA_SECTOR_ERASABLE;
242
typedef struct _FEATURE_DATA_FORMATTABLE {
243
FEATURE_HEADER Header;
244
UCHAR FullCertification:1;
245
UCHAR QuickCertification:1;
246
UCHAR SpareAreaExpansion:1;
247
UCHAR RENoSpareAllocated:1;
250
UCHAR RRandomWritable:1;
253
} FEATURE_DATA_FORMATTABLE, *PFEATURE_DATA_FORMATTABLE;
255
typedef struct _FEATURE_DATA_DEFECT_MANAGEMENT {
256
FEATURE_HEADER Header;
258
UCHAR SupplimentalSpareArea:1;
260
} FEATURE_DATA_DEFECT_MANAGEMENT, *PFEATURE_DATA_DEFECT_MANAGEMENT;
262
typedef struct _FEATURE_DATA_WRITE_ONCE {
263
FEATURE_HEADER Header;
264
UCHAR LogicalBlockSize[4];
266
UCHAR ErrorRecoveryPagePresent:1;
269
} FEATURE_DATA_WRITE_ONCE, *PFEATURE_DATA_WRITE_ONCE;
271
typedef struct _FEATURE_DATA_RESTRICTED_OVERWRITE {
272
FEATURE_HEADER Header;
273
} FEATURE_DATA_RESTRICTED_OVERWRITE, *PFEATURE_DATA_RESTRICTED_OVERWRITE;
275
typedef struct _FEATURE_DATA_CDRW_CAV_WRITE {
276
FEATURE_HEADER Header;
278
} FEATURE_DATA_CDRW_CAV_WRITE, *PFEATURE_DATA_CDRW_CAV_WRITE;
280
typedef struct _FEATURE_DATA_MRW {
281
FEATURE_HEADER Header;
284
UCHAR DvdPlusWrite:1;
287
} FEATURE_DATA_MRW, *PFEATURE_DATA_MRW;
289
typedef struct _FEATURE_ENHANCED_DEFECT_REPORTING {
290
FEATURE_HEADER Header;
291
UCHAR DRTDMSupported:1;
293
UCHAR NumberOfDBICacheZones;
294
UCHAR NumberOfEntries[2];
295
} FEATURE_ENHANCED_DEFECT_REPORTING, *PFEATURE_ENHANCED_DEFECT_REPORTING;
297
typedef struct _FEATURE_DATA_DVD_PLUS_RW {
298
FEATURE_HEADER Header;
305
} FEATURE_DATA_DVD_PLUS_RW, *PFEATURE_DATA_DVD_PLUS_RW;
307
typedef struct _FEATURE_DATA_DVD_PLUS_R {
308
FEATURE_HEADER Header;
312
} FEATURE_DATA_DVD_PLUS_R, *PFEATURE_DATA_DVD_PLUS_R;
314
typedef struct _FEATURE_DATA_DVD_RW_RESTRICTED_OVERWRITE {
315
FEATURE_HEADER Header;
317
UCHAR Intermediate:1;
318
UCHAR DefectStatusDataRead:1;
319
UCHAR DefectStatusDataGenerate:1;
322
} FEATURE_DATA_DVD_RW_RESTRICTED_OVERWRITE, *PFEATURE_DATA_DVD_RW_RESTRICTED_OVERWRITE;
324
typedef struct _FEATURE_DATA_CD_TRACK_AT_ONCE {
325
FEATURE_HEADER Header;
326
UCHAR RWSubchannelsRecordable:1;
327
UCHAR CdRewritable:1;
329
UCHAR RWSubchannelPackedOk:1;
330
UCHAR RWSubchannelRawOk:1;
332
UCHAR BufferUnderrunFree:1;
335
UCHAR DataTypeSupported[2];
336
} FEATURE_DATA_CD_TRACK_AT_ONCE, *PFEATURE_DATA_CD_TRACK_AT_ONCE;
338
typedef struct _FEATURE_DATA_CD_MASTERING {
339
FEATURE_HEADER Header;
340
UCHAR RWSubchannelsRecordable:1;
341
UCHAR CdRewritable:1;
343
UCHAR RawRecordingOk:1;
344
UCHAR RawMultiSessionOk:1;
345
UCHAR SessionAtOnceOk:1;
346
UCHAR BufferUnderrunFree:1;
348
UCHAR MaximumCueSheetLength[3];
349
} FEATURE_DATA_CD_MASTERING, *PFEATURE_DATA_CD_MASTERING;
351
typedef struct _FEATURE_DATA_DVD_RECORDABLE_WRITE {
352
FEATURE_HEADER Header;
358
UCHAR BufferUnderrunFree:1;
361
} FEATURE_DATA_DVD_RECORDABLE_WRITE, *PFEATURE_DATA_DVD_RECORDABLE_WRITE;
363
typedef struct _FEATURE_DATA_DDCD_READ {
364
FEATURE_HEADER Header;
365
} FEATURE_DATA_DDCD_READ, *PFEATURE_DATA_DDCD_READ;
367
typedef struct _FEATURE_DATA_DDCD_R_WRITE {
368
FEATURE_HEADER Header;
373
} FEATURE_DATA_DDCD_R_WRITE, *PFEATURE_DATA_DDCD_R_WRITE;
375
typedef struct _FEATURE_DATA_DDCD_RW_WRITE {
376
FEATURE_HEADER Header;
378
UCHAR Intermediate:1;
381
} FEATURE_DATA_DDCD_RW_WRITE, *PFEATURE_DATA_DDCD_RW_WRITE;
383
typedef struct _FEATURE_DATA_LAYER_JUMP_RECORDING {
384
FEATURE_HEADER Header;
386
UCHAR NumberOfLinkSizes;
387
#if !defined(__midl) && !defined(__WIDL__)
390
} FEATURE_DATA_LAYER_JUMP_RECORDING, *PFEATURE_DATA_LAYER_JUMP_RECORDING;
392
typedef struct _FEATURE_CD_RW_MEDIA_WRITE_SUPPORT {
393
FEATURE_HEADER Header;
404
} CDRWMediaSubtypeSupport;
406
} FEATURE_CD_RW_MEDIA_WRITE_SUPPORT, *PFEATURE_CD_RW_MEDIA_WRITE_SUPPORT;
408
typedef struct _FEATURE_BD_R_PSEUDO_OVERWRITE {
409
FEATURE_HEADER Header;
411
} FEATURE_BD_R_PSEUDO_OVERWRITE, *PFEATURE_BD_R_PSEUDO_OVERWRITE;
413
typedef struct _FEATURE_DATA_DVD_PLUS_RW_DUAL_LAYER {
414
FEATURE_HEADER Header;
421
} FEATURE_DATA_DVD_PLUS_RW_DUAL_LAYER, *PFEATURE_DATA_DVD_PLUS_RW_DUAL_LAYER;
423
typedef struct _FEATURE_DATA_DVD_PLUS_R_DUAL_LAYER {
424
FEATURE_HEADER Header;
428
} FEATURE_DATA_DVD_PLUS_R_DUAL_LAYER, *PFEATURE_DATA_DVD_PLUS_R_DUAL_LAYER;
430
typedef struct _BD_CLASS_SUPPORT_BITMAP {
447
} BD_CLASS_SUPPORT_BITMAP, *PBD_CLASS_SUPPORT_BITMAP;
449
typedef struct _FEATURE_BD_READ {
450
FEATURE_HEADER Header;
452
BD_CLASS_SUPPORT_BITMAP Class0BitmapBDREReadSupport;
453
BD_CLASS_SUPPORT_BITMAP Class1BitmapBDREReadSupport;
454
BD_CLASS_SUPPORT_BITMAP Class2BitmapBDREReadSupport;
455
BD_CLASS_SUPPORT_BITMAP Class3BitmapBDREReadSupport;
456
BD_CLASS_SUPPORT_BITMAP Class0BitmapBDRReadSupport;
457
BD_CLASS_SUPPORT_BITMAP Class1BitmapBDRReadSupport;
458
BD_CLASS_SUPPORT_BITMAP Class2BitmapBDRReadSupport;
459
BD_CLASS_SUPPORT_BITMAP Class3BitmapBDRReadSupport;
460
BD_CLASS_SUPPORT_BITMAP Class0BitmapBDROMReadSupport;
461
BD_CLASS_SUPPORT_BITMAP Class1BitmapBDROMReadSupport;
462
BD_CLASS_SUPPORT_BITMAP Class2BitmapBDROMReadSupport;
463
BD_CLASS_SUPPORT_BITMAP Class3BitmapBDROMReadSupport;
464
} FEATURE_BD_READ, *PFEATURE_BD_READ;
466
typedef struct _FEATURE_BD_WRITE {
467
FEATURE_HEADER Header;
468
UCHAR SupportsVerifyNotRequired:1;
471
BD_CLASS_SUPPORT_BITMAP Class0BitmapBDREWriteSupport;
472
BD_CLASS_SUPPORT_BITMAP Class1BitmapBDREWriteSupport;
473
BD_CLASS_SUPPORT_BITMAP Class2BitmapBDREWriteSupport;
474
BD_CLASS_SUPPORT_BITMAP Class3BitmapBDREWriteSupport;
475
BD_CLASS_SUPPORT_BITMAP Class0BitmapBDRWriteSupport;
476
BD_CLASS_SUPPORT_BITMAP Class1BitmapBDRWriteSupport;
477
BD_CLASS_SUPPORT_BITMAP Class2BitmapBDRWriteSupport;
478
BD_CLASS_SUPPORT_BITMAP Class3BitmapBDRWriteSupport;
479
} FEATURE_BD_WRITE, *PFEATURE_BD_WRITE;
481
typedef struct _FEATURE_TSR {
482
FEATURE_HEADER Header;
483
} FEATURE_TSR, *PFEATURE_TSR;
485
typedef struct _FEATURE_DATA_HDDVD_READ {
486
FEATURE_HEADER Header;
493
} FEATURE_DATA_HDDVD_READ, *PFEATURE_DATA_HDDVD_READ;
495
typedef struct _FEATURE_DATA_HDDVD_WRITE {
496
FEATURE_HEADER Header;
503
} FEATURE_DATA_HDDVD_WRITE, *PFEATURE_DATA_HDDVD_WRITE;
505
typedef struct _FEATURE_HYBRID_DISC {
506
FEATURE_HEADER Header;
507
UCHAR ResetImmunity:1;
510
} FEATURE_HYBRID_DISC, *PFEATURE_HYBRID_DISC;
512
typedef struct _FEATURE_DATA_POWER_MANAGEMENT {
513
FEATURE_HEADER Header;
514
} FEATURE_DATA_POWER_MANAGEMENT, *PFEATURE_DATA_POWER_MANAGEMENT;
516
typedef struct _FEATURE_DATA_SMART {
517
FEATURE_HEADER Header;
518
UCHAR FaultFailureReportingPagePresent:1;
521
} FEATURE_DATA_SMART, *PFEATURE_DATA_SMART;
523
typedef struct _FEATURE_DATA_EMBEDDED_CHANGER {
524
FEATURE_HEADER Header;
526
UCHAR SupportsDiscPresent:1;
528
UCHAR SideChangeCapable:1;
531
UCHAR HighestSlotNumber:5;
533
} FEATURE_DATA_EMBEDDED_CHANGER, *PFEATURE_DATA_EMBEDDED_CHANGER;
535
typedef struct _FEATURE_DATA_CD_AUDIO_ANALOG_PLAY {
536
FEATURE_HEADER Header;
537
UCHAR SeperateVolume:1;
538
UCHAR SeperateChannelMute:1;
539
UCHAR ScanSupported:1;
542
UCHAR NumerOfVolumeLevels[2];
543
} FEATURE_DATA_CD_AUDIO_ANALOG_PLAY, *PFEATURE_DATA_CD_AUDIO_ANALOG_PLAY;
545
typedef struct _FEATURE_DATA_MICROCODE_UPDATE {
546
FEATURE_HEADER Header;
550
} FEATURE_DATA_MICROCODE_UPDATE, *PFEATURE_DATA_MICROCODE_UPDATE;
552
typedef struct _FEATURE_DATA_TIMEOUT {
553
FEATURE_HEADER Header;
558
} FEATURE_DATA_TIMEOUT, *PFEATURE_DATA_TIMEOUT;
560
typedef struct _FEATURE_DATA_DVD_CSS {
561
FEATURE_HEADER Header;
564
} FEATURE_DATA_DVD_CSS, *PFEATURE_DATA_DVD_CSS;
566
typedef struct _FEATURE_DATA_REAL_TIME_STREAMING {
567
FEATURE_HEADER Header;
568
UCHAR StreamRecording:1;
569
UCHAR WriteSpeedInGetPerf:1;
570
UCHAR WriteSpeedInMP2A:1;
572
UCHAR ReadBufferCapacityBlock:1;
575
} FEATURE_DATA_REAL_TIME_STREAMING, *PFEATURE_DATA_REAL_TIME_STREAMING;
577
typedef struct _FEATURE_DATA_LOGICAL_UNIT_SERIAL_NUMBER {
578
FEATURE_HEADER Header;
579
#if !defined(__midl) && !defined(__WIDL__)
580
UCHAR SerialNumber[0];
582
} FEATURE_DATA_LOGICAL_UNIT_SERIAL_NUMBER, *PFEATURE_DATA_LOGICAL_UNIT_SERIAL_NUMBER;
584
typedef struct _FEATURE_MEDIA_SERIAL_NUMBER {
585
FEATURE_HEADER Header;
586
} FEATURE_MEDIA_SERIAL_NUMBER, *PFEATURE_MEDIA_SERIAL_NUMBER;
588
typedef struct _FEATURE_DATA_DISC_CONTROL_BLOCKS_EX {
589
UCHAR ContentDescriptor[4];
590
} FEATURE_DATA_DISC_CONTROL_BLOCKS_EX, *PFEATURE_DATA_DISC_CONTROL_BLOCKS_EX;
592
typedef struct _FEATURE_DATA_DISC_CONTROL_BLOCKS {
593
FEATURE_HEADER Header;
594
#if !defined(__midl) && !defined(__WIDL__)
595
FEATURE_DATA_DISC_CONTROL_BLOCKS_EX Data[0];
597
} FEATURE_DATA_DISC_CONTROL_BLOCKS, *PFEATURE_DATA_DISC_CONTROL_BLOCKS;
599
typedef struct _FEATURE_DATA_DVD_CPRM {
600
FEATURE_HEADER Header;
603
} FEATURE_DATA_DVD_CPRM, *PFEATURE_DATA_DVD_CPRM;
605
typedef struct _FEATURE_DATA_FIRMWARE_DATE {
606
FEATURE_HEADER Header;
614
} FEATURE_DATA_FIRMWARE_DATE, *PFEATURE_DATA_FIRMWARE_DATE;
616
typedef struct _FEATURE_DATA_AACS {
617
FEATURE_HEADER Header;
618
UCHAR BindingNonceGeneration:1;
620
UCHAR BindingNonceBlockCount;
621
UCHAR NumberOfAGIDs:4;
624
} FEATURE_DATA_AACS, *PFEATURE_DATA_AACS;
626
typedef struct _FEATURE_VCPS {
627
FEATURE_HEADER Header;
629
} FEATURE_VCPS, *PFEATURE_VCPS;
631
typedef struct _FEATURE_DATA_RESERVED {
632
FEATURE_HEADER Header;
633
#if !defined(__midl) && !defined(__WIDL__)
636
} FEATURE_DATA_RESERVED, *PFEATURE_DATA_RESERVED;
638
typedef struct _FEATURE_DATA_VENDOR_SPECIFIC {
639
FEATURE_HEADER Header;
640
#if !defined(__midl) && !defined(__WIDL__)
641
UCHAR VendorSpecificData[0];
643
} FEATURE_DATA_VENDOR_SPECIFIC, *PFEATURE_DATA_VENDOR_SPECIFIC;
645
typedef struct _GET_CONFIGURATION_IOCTL_INPUT {
646
FEATURE_NUMBER Feature;
649
} GET_CONFIGURATION_IOCTL_INPUT, *PGET_CONFIGURATION_IOCTL_INPUT;
652
typedef struct _GET_CONFIGURATION_IOCTL_INPUT32 {
653
FEATURE_NUMBER Feature;
655
VOID* UPOINTER_32 Reserved[2];
656
} GET_CONFIGURATION_IOCTL_INPUT32, *PGET_CONFIGURATION_IOCTL_INPUT32;