ReactOS  0.4.14-dev-57-g333b8f1
ntddstor.h
Go to the documentation of this file.
1 /*
2  * ntddstor.h
3  *
4  * Storage class IOCTL interface.
5  *
6  * This file is part of the w32api package.
7  *
8  * Contributors:
9  * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
10  *
11  * THIS SOFTWARE IS NOT COPYRIGHTED
12  *
13  * This source code is offered for use in the public domain. You may
14  * use, modify or distribute it freely.
15  *
16  * This code is distributed in the hope that it will be useful but
17  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18  * DISCLAIMED. This includes but is not limited to warranties of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20  *
21  */
22 
23 #ifndef _NTDDSTOR_H_
24 #define _NTDDSTOR_H_
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 #if defined(DEFINE_GUID)
31 
32 DEFINE_GUID(GUID_DEVINTERFACE_DISK,
33  0x53f56307L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
34 
35 DEFINE_GUID(GUID_DEVINTERFACE_CDROM,
36  0x53f56308L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
37 
38 DEFINE_GUID(GUID_DEVINTERFACE_PARTITION,
39  0x53f5630aL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
40 
41 DEFINE_GUID(GUID_DEVINTERFACE_TAPE,
42  0x53f5630bL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
43 
44 DEFINE_GUID(GUID_DEVINTERFACE_WRITEONCEDISK,
45  0x53f5630cL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
46 
47 DEFINE_GUID(GUID_DEVINTERFACE_VOLUME,
48  0x53f5630dL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
49 
50 DEFINE_GUID(GUID_DEVINTERFACE_MEDIUMCHANGER,
51  0x53f56310L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
52 
53 DEFINE_GUID(GUID_DEVINTERFACE_FLOPPY,
54  0x53f56311L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
55 
56 DEFINE_GUID(GUID_DEVINTERFACE_CDCHANGER,
57  0x53f56312L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
58 
59 DEFINE_GUID(GUID_DEVINTERFACE_STORAGEPORT,
60  0x2accfe60L, 0xc130, 0x11d2, 0xb0, 0x82, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
61 
62 DEFINE_GUID(GUID_DEVINTERFACE_HIDDEN_VOLUME,
63  0x7f108a28L, 0x9833, 0x4b3b, 0xb7, 0x80, 0x2c, 0x6b, 0x5f, 0xa5, 0xc0, 0x62);
64 
65 #define WDI_STORAGE_PREDICT_FAILURE_DPS_GUID \
66  {0xe9f2d03aL, 0x747c, 0x41c2, {0xbb, 0x9a, 0x02, 0xc6, 0x2b, 0x6d, 0x5f, 0xcb}};
67 
68 /* Aliases for storage guids */
69 #define DiskClassGuid GUID_DEVINTERFACE_DISK
70 #define CdRomClassGuid GUID_DEVINTERFACE_CDROM
71 #define PartitionClassGuid GUID_DEVINTERFACE_PARTITION
72 #define TapeClassGuid GUID_DEVINTERFACE_TAPE
73 #define WriteOnceDiskClassGuid GUID_DEVINTERFACE_WRITEONCEDISK
74 #define VolumeClassGuid GUID_DEVINTERFACE_VOLUME
75 #define MediumChangerClassGuid GUID_DEVINTERFACE_MEDIUMCHANGER
76 #define FloppyClassGuid GUID_DEVINTERFACE_FLOPPY
77 #define CdChangerClassGuid GUID_DEVINTERFACE_CDCHANGER
78 #define StoragePortClassGuid GUID_DEVINTERFACE_STORAGEPORT
79 #define HiddenVolumeClassGuid GUID_DEVINTERFACE_HIDDEN_VOLUME
80 
81 #endif /* defined(DEFINE_GUID) */
82 
83 #ifndef _WINIOCTL_
84 
85 #define IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE
86 
87 #define IOCTL_STORAGE_CHECK_VERIFY \
88  CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
89 
90 #define IOCTL_STORAGE_CHECK_VERIFY2 \
91  CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_ANY_ACCESS)
92 
93 #define IOCTL_STORAGE_MEDIA_REMOVAL \
94  CTL_CODE(IOCTL_STORAGE_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS)
95 
96 #define IOCTL_STORAGE_EJECT_MEDIA \
97  CTL_CODE(IOCTL_STORAGE_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS)
98 
99 #define IOCTL_STORAGE_LOAD_MEDIA \
100  CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS)
101 
102 #define IOCTL_STORAGE_LOAD_MEDIA2 \
103  CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_ANY_ACCESS)
104 
105 #define IOCTL_STORAGE_RESERVE \
106  CTL_CODE(IOCTL_STORAGE_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS)
107 
108 #define IOCTL_STORAGE_RELEASE \
109  CTL_CODE(IOCTL_STORAGE_BASE, 0x0205, METHOD_BUFFERED, FILE_READ_ACCESS)
110 
111 #define IOCTL_STORAGE_FIND_NEW_DEVICES \
112  CTL_CODE(IOCTL_STORAGE_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)
113 
114 #define IOCTL_STORAGE_EJECTION_CONTROL \
115  CTL_CODE(IOCTL_STORAGE_BASE, 0x0250, METHOD_BUFFERED, FILE_ANY_ACCESS)
116 
117 #define IOCTL_STORAGE_MCN_CONTROL \
118  CTL_CODE(IOCTL_STORAGE_BASE, 0x0251, METHOD_BUFFERED, FILE_ANY_ACCESS)
119 
120 #define IOCTL_STORAGE_GET_MEDIA_TYPES \
121  CTL_CODE(IOCTL_STORAGE_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS)
122 
123 #define IOCTL_STORAGE_GET_MEDIA_TYPES_EX \
124  CTL_CODE(IOCTL_STORAGE_BASE, 0x0301, METHOD_BUFFERED, FILE_ANY_ACCESS)
125 
126 #define IOCTL_STORAGE_RESET_BUS \
127  CTL_CODE(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS)
128 
129 #define IOCTL_STORAGE_RESET_DEVICE \
130  CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS)
131 
132 #define IOCTL_STORAGE_GET_DEVICE_NUMBER \
133  CTL_CODE(IOCTL_STORAGE_BASE, 0x0420, METHOD_BUFFERED, FILE_ANY_ACCESS)
134 
135 #define IOCTL_STORAGE_PREDICT_FAILURE \
136  CTL_CODE(IOCTL_STORAGE_BASE, 0x0440, METHOD_BUFFERED, FILE_ANY_ACCESS)
137 
138 #endif /* _WINIOCTL_ */
139 
140 #define IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER \
141  CTL_CODE(IOCTL_STORAGE_BASE, 0x0304, METHOD_BUFFERED, FILE_ANY_ACCESS)
142 
143 #define IOCTL_STORAGE_GET_HOTPLUG_INFO \
144  CTL_CODE(IOCTL_STORAGE_BASE, 0x0305, METHOD_BUFFERED, FILE_ANY_ACCESS)
145 
146 #define IOCTL_STORAGE_SET_HOTPLUG_INFO \
147  CTL_CODE(IOCTL_STORAGE_BASE, 0x0306, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
148 
149 #define OBSOLETE_IOCTL_STORAGE_RESET_BUS \
150  CTL_CODE(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
151 
152 #define OBSOLETE_IOCTL_STORAGE_RESET_DEVICE \
153  CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
154 
155 #define IOCTL_STORAGE_BREAK_RESERVATION \
156  CTL_CODE(IOCTL_STORAGE_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS)
157 
158 #define IOCTL_STORAGE_PERSISTENT_RESERVE_IN \
159  CTL_CODE(IOCTL_STORAGE_BASE, 0x0406, METHOD_BUFFERED, FILE_READ_ACCESS)
160 
161 #define IOCTL_STORAGE_PERSISTENT_RESERVE_OUT \
162  CTL_CODE(IOCTL_STORAGE_BASE, 0x0407, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
163 
164 #define IOCTL_STORAGE_READ_CAPACITY \
165  CTL_CODE(IOCTL_STORAGE_BASE, 0x0450, METHOD_BUFFERED, FILE_READ_ACCESS)
166 
167 #define IOCTL_STORAGE_QUERY_PROPERTY \
168  CTL_CODE(IOCTL_STORAGE_BASE, 0x0500, METHOD_BUFFERED, FILE_ANY_ACCESS)
169 
170 #define IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES \
171  CTL_CODE(IOCTL_STORAGE_BASE, 0x0501, METHOD_BUFFERED, FILE_WRITE_ACCESS)
172 
173 #define IOCTL_STORAGE_GET_BC_PROPERTIES \
174  CTL_CODE(IOCTL_STORAGE_BASE, 0x0600, METHOD_BUFFERED, FILE_READ_ACCESS)
175 
176 #define IOCTL_STORAGE_ALLOCATE_BC_STREAM \
177  CTL_CODE(IOCTL_STORAGE_BASE, 0x0601, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
178 
179 #define IOCTL_STORAGE_FREE_BC_STREAM \
180  CTL_CODE(IOCTL_STORAGE_BASE, 0x0602, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
181 
182 #define IOCTL_STORAGE_CHECK_PRIORITY_HINT_SUPPORT \
183  CTL_CODE(IOCTL_STORAGE_BASE, 0x0620, METHOD_BUFFERED, FILE_ANY_ACCESS)
184 
185 #define RECOVERED_WRITES_VALID 0x00000001
186 #define UNRECOVERED_WRITES_VALID 0x00000002
187 #define RECOVERED_READS_VALID 0x00000004
188 #define UNRECOVERED_READS_VALID 0x00000008
189 #define WRITE_COMPRESSION_INFO_VALID 0x00000010
190 #define READ_COMPRESSION_INFO_VALID 0x00000020
191 
192 #define TAPE_RETURN_STATISTICS 0L
193 #define TAPE_RETURN_ENV_INFO 1L
194 #define TAPE_RESET_STATISTICS 2L
195 
196 /* DEVICE_MEDIA_INFO.DeviceSpecific.DiskInfo.MediaCharacteristics constants */
197 #define MEDIA_ERASEABLE 0x00000001
198 #define MEDIA_WRITE_ONCE 0x00000002
199 #define MEDIA_READ_ONLY 0x00000004
200 #define MEDIA_READ_WRITE 0x00000008
201 #define MEDIA_WRITE_PROTECTED 0x00000100
202 #define MEDIA_CURRENTLY_MOUNTED 0x80000000
203 
204 #define StorageIdTypeNAA StorageIdTypeFCPHName
205 
206 #define DeviceDsmActionFlag_NonDestructive 0x80000000
207 
208 #define IsDsmActionNonDestructive(_Action) ((BOOLEAN)((_Action & DeviceDsmActionFlag_NonDestructive) != 0))
209 
210 #define DeviceDsmAction_None 0
211 #define DeviceDsmAction_Trim 1
212 #define DeviceDsmAction_Notification (2 | DeviceDsmActionFlag_NonDestructive)
213 
214 #define DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE 0x00000001
215 
216 #define DEVICE_DSM_NOTIFY_FLAG_BEGIN 0x00000001
217 #define DEVICE_DSM_NOTIFY_FLAG_END 0x00000002
218 
219 #define IOCTL_STORAGE_BC_VERSION 1
220 
221 #define STORAGE_PRIORITY_HINT_SUPPORTED 0x0001
222 
223 typedef struct _STORAGE_HOTPLUG_INFO {
224  ULONG Size;
230 
231 typedef struct _STORAGE_DEVICE_NUMBER {
236 
240 
248 
249 #ifndef _WINIOCTL_
250 typedef struct _PREVENT_MEDIA_REMOVAL {
253 #endif
254 
259 
260 typedef struct _TAPE_STATISTICS {
270 
271 typedef struct _TAPE_GET_STATISTICS {
274 
275 typedef enum _STORAGE_MEDIA_TYPE {
276  DDS_4mm = 0x20,
329 #if (NTDDI_VERSION < NTDDI_WINXP)
330  STK_EAGLE,
331 #else
333 #endif
344 
345 typedef enum _STORAGE_BUS_TYPE {
365 
366 typedef struct _DEVICE_MEDIA_INFO {
367  union {
368  struct {
376  } DiskInfo;
377  struct {
386  struct {
391  union {
392  struct {
395  } ScsiInformation;
396  } BusSpecificData;
397  } TapeInfo;
398  } DeviceSpecific;
400 
401 typedef struct _GET_MEDIA_TYPES {
406 
407 typedef struct _STORAGE_PREDICT_FAILURE {
411 
412 typedef enum _STORAGE_QUERY_TYPE {
418 
419 typedef enum _STORAGE_PROPERTY_ID {
431 
432 typedef struct _STORAGE_PROPERTY_QUERY {
437 
438 typedef _Struct_size_bytes_(Size) struct _STORAGE_DESCRIPTOR_HEADER {
439  ULONG Version;
440  ULONG Size;
442 
443 typedef _Struct_size_bytes_(Size) struct _STORAGE_DEVICE_DESCRIPTOR {
444  ULONG Version;
445  ULONG Size;
447  UCHAR DeviceTypeModifier;
449  BOOLEAN CommandQueueing;
450  ULONG VendorIdOffset;
451  ULONG ProductIdOffset;
452  ULONG ProductRevisionOffset;
453  ULONG SerialNumberOffset;
455  ULONG RawPropertiesLength;
456  UCHAR RawDeviceProperties[1];
458 
459 typedef _Struct_size_bytes_(Size) struct _STORAGE_ADAPTER_DESCRIPTOR {
460  ULONG Version;
461  ULONG Size;
462  ULONG MaximumTransferLength;
463  ULONG MaximumPhysicalPages;
464  ULONG AlignmentMask;
465  BOOLEAN AdapterUsesPio;
466  BOOLEAN AdapterScansDown;
467  BOOLEAN CommandQueueing;
468  BOOLEAN AcceleratedTransfer;
469 #if (NTDDI_VERSION < NTDDI_WINXP)
471 #else
472  UCHAR BusType;
473 #endif
474  USHORT BusMajorVersion;
475  USHORT BusMinorVersion;
477 
478 typedef _Struct_size_bytes_(Size) struct _STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR {
479  ULONG Version;
480  ULONG Size;
481  ULONG BytesPerCacheLine;
482  ULONG BytesOffsetForCacheAlignment;
483  ULONG BytesPerLogicalSector;
484  ULONG BytesPerPhysicalSector;
485  ULONG BytesOffsetForSectorAlignment;
487 
493 
501 
508 
520 
526 
532 
533 typedef struct _STORAGE_IDENTIFIER {
541 
542 typedef _Struct_size_bytes_(Size) struct _STORAGE_DEVICE_ID_DESCRIPTOR {
543  ULONG Version;
544  ULONG Size;
545  ULONG NumberOfIdentifiers;
546  UCHAR Identifiers[1];
548 
554 
560 
561 typedef struct _DEVICE_TRIM_DESCRIPTOR {
566 
568 
569 #define DEVICE_DSM_FLAG_TRIM_NOT_FS_ALLOCATED 0x80000000
570 
571 typedef struct _DEVICE_DATA_SET_RANGE {
575 
585 
592 
601 
612 
617 
621 
622 #ifdef _MSC_VER
623 #pragma warning(push)
624 #pragma warning(disable:4200)
625 #endif
626 
627 #if defined(_MSC_EXTENSIONS)
628 
629 typedef struct _STORAGE_MEDIA_SERIAL_NUMBER_DATA {
631  USHORT SerialNumberLength;
632  UCHAR SerialNumber[0];
633 } STORAGE_MEDIA_SERIAL_NUMBER_DATA, *PSTORAGE_MEDIA_SERIAL_NUMBER_DATA;
634 
635 typedef struct _PERSISTENT_RESERVE_COMMAND {
636  ULONG Version;
637  ULONG Size;
638  __MINGW_EXTENSION union {
639  struct {
640  UCHAR ServiceAction:5;
641  UCHAR Reserved1:3;
642  USHORT AllocationLength;
643  } PR_IN;
644  struct {
645  UCHAR ServiceAction:5;
646  UCHAR Reserved1:3;
647  UCHAR Type:4;
648  UCHAR Scope:4;
649  UCHAR ParameterList[0];
650  } PR_OUT;
651  } DUMMYUNIONNAME;
652 } PERSISTENT_RESERVE_COMMAND, *PPERSISTENT_RESERVE_COMMAND;
653 
654 #endif /* defined(_MSC_EXTENSIONS) */
655 
656 #ifdef _MSC_VER
657 #pragma warning(pop) /* disable:4200 */
658 #endif
659 
660 typedef _Struct_size_bytes_(Size) struct _STORAGE_READ_CAPACITY {
661  ULONG Version;
662  ULONG Size;
663  ULONG BlockLength;
664  LARGE_INTEGER NumberOfBlocks;
665  LARGE_INTEGER DiskLength;
667 
668 typedef enum _WRITE_CACHE_TYPE {
674 
675 typedef enum _WRITE_CACHE_ENABLE {
680 
681 typedef enum _WRITE_CACHE_CHANGE {
686 
687 typedef enum _WRITE_THROUGH {
691 } WRITE_THROUGH;
692 
693 typedef _Struct_size_bytes_(Size) struct _STORAGE_WRITE_CACHE_PROPERTY {
694  ULONG Version;
695  ULONG Size;
696  WRITE_CACHE_TYPE WriteCacheType;
700  BOOLEAN FlushCacheSupported;
701  BOOLEAN UserDefinedPowerProtection;
702  BOOLEAN NVCacheEnabled;
704 
705 #ifdef __cplusplus
706 }
707 #endif
708 
709 #endif /* _NTDDSTOR_H_ */
DEVICE_TYPE DeviceType
Definition: ntddstor.h:232
struct _STORAGE_PRIORITY_HINT_SUPPORT STORAGE_PRIORITY_HINT_SUPPORT
struct _STORAGE_ALLOCATE_BC_STREAM_OUTPUT STORAGE_ALLOCATE_BC_STREAM_OUTPUT
ULONG SectorsPerTrack
Definition: ntddstor.h:372
struct _DEVICE_TRIM_DESCRIPTOR DEVICE_TRIM_DESCRIPTOR
enum _STORAGE_PROPERTY_ID STORAGE_PROPERTY_ID
* PSTORAGE_DESCRIPTOR_HEADER
Definition: ntddstor.h:441
* PSTORAGE_ADAPTER_DESCRIPTOR
Definition: ntddstor.h:476
IN PVOID IN PVOID IN USHORT Version
Definition: pci.h:359
enum _STORAGE_BUS_TYPE STORAGE_BUS_TYPE
* PSTORAGE_WRITE_CACHE_PROPERTY
Definition: ntddstor.h:703
Type
Definition: Type.h:6
_STORAGE_ASSOCIATION_TYPE
Definition: ntddstor.h:527
Definition: ntddstor.h:341
struct _STORAGE_GET_BC_PROPERTIES_OUTPUT STORAGE_GET_BC_PROPERTIES_OUTPUT
struct _DEVICE_MEDIA_INFO::@3037::@3040 TapeInfo
struct _TAPE_GET_STATISTICS * PTAPE_GET_STATISTICS
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE BusType
Definition: halfuncs.h:156
BOOLEAN DeviceHotplug
Definition: imports.h:248
struct _DEVICE_DATA_SET_RANGE * PDEVICE_DATA_SET_RANGE
DeviceType
Definition: mmdrv.h:41
_WRITE_CACHE_ENABLE
Definition: ntddstor.h:675
LARGE_INTEGER UnrecoveredReads
Definition: ntddstor.h:266
UCHAR CompressionRatioReads
Definition: ntddstor.h:267
* PSTORAGE_ACCESS_ALIGNMENT_DESCRIPTOR
Definition: ntddstor.h:486
STORAGE_IDENTIFIER_TYPE Type
Definition: ntddstor.h:535
struct _DEVICE_MEDIA_INFO::@3037::@3040::@3041::@3042 ScsiInformation
typedef _Struct_size_bytes_(Size) struct _STORAGE_DESCRIPTOR_HEADER
Definition: ntddstor.h:438
struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES DEVICE_MANAGE_DATA_SET_ATTRIBUTES
USHORT IdentifierSize
Definition: ntddstor.h:536
UCHAR CompressionRatioWrites
Definition: ntddstor.h:268
_STORAGE_IDENTIFIER_CODE_SET
Definition: ntddstor.h:502
STORAGE_MEDIA_TYPE MediaType
Definition: ntddstor.h:370
struct _STORAGE_ALLOCATE_BC_STREAM_INPUT * PSTORAGE_ALLOCATE_BC_STREAM_INPUT
struct _STORAGE_MINIPORT_DESCRIPTOR * PSTORAGE_MINIPORT_DESCRIPTOR
_STORAGE_ID_NAA_FORMAT
Definition: ntddstor.h:521
#define DUMMYUNIONNAME
Definition: ntbasedef.h:32
struct _STORAGE_BUS_RESET_REQUEST * PSTORAGE_BUS_RESET_REQUEST
Definition: ntddstor.h:296
STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR
Definition: ntddstor.h:486
struct _DEVICE_DATA_SET_RANGE DEVICE_DATA_SET_RANGE
union _DEVICE_MEDIA_INFO::@3037 DeviceSpecific
struct _STORAGE_PRIORITY_HINT_SUPPORT * PSTORAGE_PRIORITY_HINT_SUPPORT
enum _STORAGE_MEDIA_TYPE STORAGE_MEDIA_TYPE
LARGE_INTEGER RecoveredReads
Definition: ntddstor.h:265
struct _STORAGE_IDENTIFIER * PSTORAGE_IDENTIFIER
DEVICE_DATA_MANAGEMENT_SET_ACTION Action
Definition: ntddstor.h:578
struct _DEVICE_TRIM_DESCRIPTOR * PDEVICE_TRIM_DESCRIPTOR
BOOLEAN MediaHotplug
Definition: imports.h:247
STORAGE_DEVICE_ID_DESCRIPTOR
Definition: ntddstor.h:547
* PSTORAGE_DEVICE_DESCRIPTOR
Definition: ntddstor.h:457
ULONGLONG LengthInBytes
Definition: ntddstor.h:573
enum _STORAGE_IDENTIFIER_CODE_SET STORAGE_IDENTIFIER_CODE_SET
enum _STORAGE_ASSOCIATION_TYPE STORAGE_ASSOCIATION_TYPE
* PSTORAGE_READ_CAPACITY
Definition: ntddstor.h:666
enum _STORAGE_MEDIA_TYPE STORAGE_MEDIA_TYPE
enum _STORAGE_QUERY_TYPE * PSTORAGE_QUERY_TYPE
UCHAR Identifier[1]
Definition: ntddstor.h:539
enum _STORAGE_ID_NAA_FORMAT * PSTORAGE_ID_NAA_FORMAT
struct _STORAGE_IDENTIFIER STORAGE_IDENTIFIER
#define __MINGW_EXTENSION
Definition: _mingw.h:164
STORAGE_READ_CAPACITY
Definition: ntddstor.h:666
_STORAGE_PROPERTY_ID
Definition: ntddstor.h:419
unsigned char BOOLEAN
struct _STORAGE_HOTPLUG_INFO * PSTORAGE_HOTPLUG_INFO
struct _STORAGE_PREDICT_FAILURE * PSTORAGE_PREDICT_FAILURE
enum _STORAGE_ID_NAA_FORMAT STORAGE_ID_NAA_FORMAT
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
STORAGE_IDENTIFIER_CODE_SET CodeSet
Definition: ntddstor.h:534
ULONG CurrentBlockSize
Definition: ntddstor.h:389
STORAGE_ADAPTER_DESCRIPTOR
Definition: ntddstor.h:476
enum _WRITE_CACHE_CHANGE WRITE_CACHE_CHANGE
STORAGE_PORT_CODE_SET Portdriver
Definition: ntddstor.h:497
_STORAGE_PORT_CODE_SET
Definition: ntddstor.h:488
enum _STORAGE_IDENTIFIER_CODE_SET * PSTORAGE_IDENTIFIER_CODE_SET
_STORAGE_MEDIA_TYPE
Definition: cdrw_usr.h:192
struct _GET_MEDIA_TYPES GET_MEDIA_TYPES
STORAGE_BUS_TYPE BusType
Definition: ntddstor.h:390
enum _STORAGE_QUERY_TYPE STORAGE_QUERY_TYPE
int64_t LONGLONG
Definition: typedefs.h:66
struct _DEVICE_DSM_NOTIFICATION_PARAMETERS DEVICE_DSM_NOTIFICATION_PARAMETERS
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
_WRITE_CACHE_CHANGE
Definition: ntddstor.h:681
BOOLEAN WriteCacheEnableOverride
Definition: imports.h:249
STORAGE_DEVICE_DESCRIPTOR
Definition: ntddstor.h:457
ULONG TracksPerCylinder
Definition: ntddstor.h:371
enum _WRITE_CACHE_TYPE WRITE_CACHE_TYPE
uint64_t ULONGLONG
Definition: typedefs.h:65
ULONG DEVICE_DATA_MANAGEMENT_SET_ACTION
Definition: ntddstor.h:567
struct _STORAGE_BREAK_RESERVATION_REQUEST * PSTORAGE_BREAK_RESERVATION_REQUEST
LARGE_INTEGER RecoveredWrites
Definition: ntddstor.h:263
enum _STORAGE_PROPERTY_ID * PSTORAGE_PROPERTY_ID
struct _STORAGE_ALLOCATE_BC_STREAM_OUTPUT * PSTORAGE_ALLOCATE_BC_STREAM_OUTPUT
STORAGE_WRITE_CACHE_PROPERTY
Definition: ntddstor.h:703
struct _PREVENT_MEDIA_REMOVAL PREVENT_MEDIA_REMOVAL
struct _DEVICE_MEDIA_INFO * PDEVICE_MEDIA_INFO
_STORAGE_BUS_TYPE
Definition: ntddstor.h:345
enum _STORAGE_IDENTIFIER_TYPE STORAGE_IDENTIFIER_TYPE
struct _STORAGE_PROPERTY_QUERY * PSTORAGE_PROPERTY_QUERY
struct _STORAGE_ALLOCATE_BC_STREAM_INPUT STORAGE_ALLOCATE_BC_STREAM_INPUT
struct _DEVICE_SEEK_PENALTY_DESCRIPTOR DEVICE_SEEK_PENALTY_DESCRIPTOR
struct _STORAGE_BREAK_RESERVATION_REQUEST STORAGE_BREAK_RESERVATION_REQUEST
struct _PREVENT_MEDIA_REMOVAL * PPREVENT_MEDIA_REMOVAL
unsigned char UCHAR
Definition: xmlstorage.h:181
BOOLEAN PreventMediaRemoval
Definition: ntddstor.h:251
enum _WRITE_THROUGH WRITE_THROUGH
ULONG NumberMediaSides
Definition: ntddstor.h:374
STORAGE_DESCRIPTOR_HEADER
Definition: ntddstor.h:441
struct _STORAGE_DEVICE_NUMBER STORAGE_DEVICE_NUMBER
LARGE_INTEGER UnrecoveredWrites
Definition: ntddstor.h:264
struct _DEVICE_WRITE_AGGREGATION_DESCRIPTOR DEVICE_WRITE_AGGREGATION_DESCRIPTOR
ULONG DeviceType
Definition: ntddstor.h:402
struct _TAPE_STATISTICS TAPE_STATISTICS
enum _STORAGE_ASSOCIATION_TYPE * PSTORAGE_ASSOCIATION_TYPE
ULONG SerialNumber
Definition: rxce.c:117
struct _TAPE_GET_STATISTICS TAPE_GET_STATISTICS
struct _STORAGE_BUS_RESET_REQUEST STORAGE_BUS_RESET_REQUEST
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:359
ULONG MediaInfoCount
Definition: ntddstor.h:403
union _DEVICE_MEDIA_INFO::@3037::@3040::@3041 BusSpecificData
struct _DEVICE_DSM_NOTIFICATION_PARAMETERS * PDEVICE_DSM_NOTIFICATION_PARAMETERS
_WRITE_CACHE_TYPE
Definition: ntddstor.h:668
_WRITE_THROUGH
Definition: ntddstor.h:687
UCHAR VendorSpecific[512]
Definition: ntddstor.h:409
struct _STORAGE_PROPERTY_QUERY STORAGE_PROPERTY_QUERY
enum _STORAGE_PORT_CODE_SET * PSTORAGE_PORT_CODE_SET
STORAGE_QUERY_TYPE QueryType
Definition: ntddstor.h:434
enum _STORAGE_IDENTIFIER_TYPE * PSTORAGE_IDENTIFIER_TYPE
enum _STORAGE_MEDIA_TYPE * PSTORAGE_MEDIA_TYPE
struct _STORAGE_PREDICT_FAILURE STORAGE_PREDICT_FAILURE
unsigned short USHORT
Definition: pedump.c:61
Definition: ntddstor.h:284
ULONG BytesPerSector
Definition: ntddstor.h:373
struct _STORAGE_MINIPORT_DESCRIPTOR STORAGE_MINIPORT_DESCRIPTOR
#define DEVICE_TYPE
Definition: guid.c:10
struct _CLASS_MEDIA_CHANGE_CONTEXT CLASS_MEDIA_CHANGE_CONTEXT
LARGE_INTEGER Cylinders
Definition: ntddstor.h:369
Definition: bcd.h:201
ULONG MediaCharacteristics
Definition: ntddstor.h:375
STORAGE_PROPERTY_ID PropertyId
Definition: ntddstor.h:433
struct _DEVICE_MEDIA_INFO::@3037::@3038 DiskInfo
LONGLONG StartingOffset
Definition: ntddstor.h:572
UCHAR AdditionalParameters[1]
Definition: ntddstor.h:435
struct _DEVICE_MEDIA_INFO DEVICE_MEDIA_INFO
struct _DEVICE_MEDIA_INFO::@3037::@3039 RemovableDiskInfo
struct _GET_MEDIA_TYPES * PGET_MEDIA_TYPES
unsigned int ULONG
Definition: retypes.h:1
Definition: ntddstor.h:292
STORAGE_ASSOCIATION_TYPE Association
Definition: ntddstor.h:538
struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES * PDEVICE_MANAGE_DATA_SET_ATTRIBUTES
struct _DEVICE_SEEK_PENALTY_DESCRIPTOR * PDEVICE_SEEK_PENALTY_DESCRIPTOR
struct _CLASS_MEDIA_CHANGE_CONTEXT * PCLASS_MEDIA_CHANGE_CONTEXT
Definition: ntddstor.h:283
struct _TAPE_STATISTICS * PTAPE_STATISTICS
struct _STORAGE_GET_BC_PROPERTIES_OUTPUT * PSTORAGE_GET_BC_PROPERTIES_OUTPUT
BOOLEAN MediaRemovable
Definition: imports.h:246
struct _STORAGE_DEVICE_NUMBER * PSTORAGE_DEVICE_NUMBER
* PSTORAGE_DEVICE_ID_DESCRIPTOR
Definition: ntddstor.h:547
struct _DEVICE_WRITE_AGGREGATION_DESCRIPTOR * PDEVICE_WRITE_AGGREGATION_DESCRIPTOR
enum _STORAGE_BUS_TYPE * PSTORAGE_BUS_TYPE
enum _STORAGE_PORT_CODE_SET STORAGE_PORT_CODE_SET
Definition: ntddstor.h:279
struct _STORAGE_HOTPLUG_INFO STORAGE_HOTPLUG_INFO
_STORAGE_IDENTIFIER_TYPE
Definition: ntddstor.h:509
DEVICE_MEDIA_INFO MediaInfo[1]
Definition: ntddstor.h:404
_STORAGE_QUERY_TYPE
Definition: ntddstor.h:412
enum _WRITE_CACHE_ENABLE WRITE_CACHE_ENABLE