24 #error STORPORT.H must be included instead of SCSI.H
28 #error STORPORT.H must be included instead of SRB.H
45#if (NTDDI_VERSION >= NTDDI_WIN8)
46#define SCSI_MAXIMUM_BUSES_PER_ADAPTER 255
48#define SCSI_MAXIMUM_TARGETS_PER_BUS 128
49#define SCSI_MAXIMUM_LUNS_PER_TARGET 255
50#define SCSI_MINIMUM_PHYSICAL_BREAKS 16
51#define SCSI_MAXIMUM_PHYSICAL_BREAKS 255
55#define SCSI_MAXIMUM_BUSES 8
56#define SCSI_MAXIMUM_TARGETS 8
57#define SCSI_MAXIMUM_LOGICAL_UNITS 8
60#define SCSI_DMA64_MINIPORT_SUPPORTED 0x01
61#define SCSI_DMA64_SYSTEM_SUPPORTED 0x80
62#if (NTDDI_VERSION > NTDDI_WS03SP1)
63#define SCSI_DMA64_MINIPORT_FULL64BIT_SUPPORTED 0x02
66#define SP_UNINITIALIZED_VALUE ((ULONG) ~0)
67#define SP_UNTAGGED ((UCHAR) ~0)
72#if defined(_STORPORT_)
75#define STORPORT_API DECLSPEC_IMPORT
78#define DIRECT_ACCESS_DEVICE 0x00
79#define SEQUENTIAL_ACCESS_DEVICE 0x01
80#define PRINTER_DEVICE 0x02
81#define PROCESSOR_DEVICE 0x03
82#define WRITE_ONCE_READ_MULTIPLE_DEVICE 0x04
83#define READ_ONLY_DIRECT_ACCESS_DEVICE 0x05
84#define SCANNER_DEVICE 0x06
85#define OPTICAL_DEVICE 0x07
86#define MEDIUM_CHANGER 0x08
87#define COMMUNICATION_DEVICE 0x09
88#define ARRAY_CONTROLLER_DEVICE 0x0C
89#define SCSI_ENCLOSURE_DEVICE 0x0D
90#define REDUCED_BLOCK_DEVICE 0x0E
91#define OPTICAL_CARD_READER_WRITER_DEVICE 0x0F
92#define BRIDGE_CONTROLLER_DEVICE 0x10
93#define OBJECT_BASED_STORAGE_DEVICE 0x11
94#define LOGICAL_UNIT_NOT_PRESENT_DEVICE 0x7F
96#define DEVICE_CONNECTED 0x00
98#define CDB6GENERIC_LENGTH 6
99#define CDB10GENERIC_LENGTH 10
100#define CDB12GENERIC_LENGTH 12
102#define INQUIRYDATABUFFERSIZE 36
103#define SENSE_BUFFER_SIZE 18
104#define MAX_SENSE_BUFFER_SIZE 255
106#define FILE_DEVICE_SCSI 0x0000001b
107#define IOCTL_SCSI_EXECUTE_IN ((FILE_DEVICE_SCSI << 16) + 0x0011)
108#define IOCTL_SCSI_EXECUTE_OUT ((FILE_DEVICE_SCSI << 16) + 0x0012)
109#define IOCTL_SCSI_EXECUTE_NONE ((FILE_DEVICE_SCSI << 16) + 0x0013)
111#define MODE_PAGE_VENDOR_SPECIFIC 0x00
112#define MODE_PAGE_ERROR_RECOVERY 0x01
113#define MODE_PAGE_DISCONNECT 0x02
114#define MODE_PAGE_FORMAT_DEVICE 0x03
115#define MODE_PAGE_MRW 0x03
116#define MODE_PAGE_RIGID_GEOMETRY 0x04
117#define MODE_PAGE_FLEXIBILE 0x05
118#define MODE_PAGE_WRITE_PARAMETERS 0x05
119#define MODE_PAGE_VERIFY_ERROR 0x07
120#define MODE_PAGE_CACHING 0x08
121#define MODE_PAGE_PERIPHERAL 0x09
122#define MODE_PAGE_CONTROL 0x0A
123#define MODE_PAGE_MEDIUM_TYPES 0x0B
124#define MODE_PAGE_NOTCH_PARTITION 0x0C
125#define MODE_PAGE_CD_AUDIO_CONTROL 0x0E
126#define MODE_PAGE_DATA_COMPRESS 0x0F
127#define MODE_PAGE_DEVICE_CONFIG 0x10
128#define MODE_PAGE_XOR_CONTROL 0x10
129#define MODE_PAGE_MEDIUM_PARTITION 0x11
130#define MODE_PAGE_ENCLOSURE_SERVICES_MANAGEMENT 0x14
131#define MODE_PAGE_EXTENDED 0x15
132#define MODE_PAGE_EXTENDED_DEVICE_SPECIFIC 0x16
133#define MODE_PAGE_CDVD_FEATURE_SET 0x18
134#define MODE_PAGE_PROTOCOL_SPECIFIC_LUN 0x18
135#define MODE_PAGE_PROTOCOL_SPECIFIC_PORT 0x19
136#define MODE_PAGE_POWER_CONDITION 0x1A
137#define MODE_PAGE_LUN_MAPPING 0x1B
138#define MODE_PAGE_FAULT_REPORTING 0x1C
139#define MODE_PAGE_CDVD_INACTIVITY 0x1D
140#define MODE_PAGE_ELEMENT_ADDRESS 0x1D
141#define MODE_PAGE_TRANSPORT_GEOMETRY 0x1E
142#define MODE_PAGE_DEVICE_CAPABILITIES 0x1F
143#define MODE_PAGE_CAPABILITIES 0x2A
144#define MODE_SENSE_RETURN_ALL 0x3F
146#define MODE_SENSE_CURRENT_VALUES 0x00
147#define MODE_SENSE_CHANGEABLE_VALUES 0x40
148#define MODE_SENSE_DEFAULT_VAULES 0x80
149#define MODE_SENSE_SAVED_VALUES 0xc0
151#define SCSIOP_TEST_UNIT_READY 0x00
152#define SCSIOP_REZERO_UNIT 0x01
153#define SCSIOP_REWIND 0x01
154#define SCSIOP_REQUEST_BLOCK_ADDR 0x02
155#define SCSIOP_REQUEST_SENSE 0x03
156#define SCSIOP_FORMAT_UNIT 0x04
157#define SCSIOP_READ_BLOCK_LIMITS 0x05
158#define SCSIOP_REASSIGN_BLOCKS 0x07
159#define SCSIOP_INIT_ELEMENT_STATUS 0x07
160#define SCSIOP_READ6 0x08
161#define SCSIOP_RECEIVE 0x08
162#define SCSIOP_WRITE6 0x0A
163#define SCSIOP_PRINT 0x0A
164#define SCSIOP_SEND 0x0A
165#define SCSIOP_SEEK6 0x0B
166#define SCSIOP_TRACK_SELECT 0x0B
167#define SCSIOP_SLEW_PRINT 0x0B
168#define SCSIOP_SET_CAPACITY 0x0B
169#define SCSIOP_SEEK_BLOCK 0x0C
170#define SCSIOP_PARTITION 0x0D
171#define SCSIOP_READ_REVERSE 0x0F
172#define SCSIOP_WRITE_FILEMARKS 0x10
173#define SCSIOP_FLUSH_BUFFER 0x10
174#define SCSIOP_SPACE 0x11
175#define SCSIOP_INQUIRY 0x12
176#define SCSIOP_VERIFY6 0x13
177#define SCSIOP_RECOVER_BUF_DATA 0x14
178#define SCSIOP_MODE_SELECT 0x15
179#define SCSIOP_RESERVE_UNIT 0x16
180#define SCSIOP_RELEASE_UNIT 0x17
181#define SCSIOP_COPY 0x18
182#define SCSIOP_ERASE 0x19
183#define SCSIOP_MODE_SENSE 0x1A
184#define SCSIOP_START_STOP_UNIT 0x1B
185#define SCSIOP_STOP_PRINT 0x1B
186#define SCSIOP_LOAD_UNLOAD 0x1B
187#define SCSIOP_RECEIVE_DIAGNOSTIC 0x1C
188#define SCSIOP_SEND_DIAGNOSTIC 0x1D
189#define SCSIOP_MEDIUM_REMOVAL 0x1E
190#define SCSIOP_READ_FORMATTED_CAPACITY 0x23
191#define SCSIOP_READ_CAPACITY 0x25
192#define SCSIOP_READ 0x28
193#define SCSIOP_WRITE 0x2A
194#define SCSIOP_SEEK 0x2B
195#define SCSIOP_LOCATE 0x2B
196#define SCSIOP_POSITION_TO_ELEMENT 0x2B
197#define SCSIOP_WRITE_VERIFY 0x2E
198#define SCSIOP_VERIFY 0x2F
199#define SCSIOP_SEARCH_DATA_HIGH 0x30
200#define SCSIOP_SEARCH_DATA_EQUAL 0x31
201#define SCSIOP_SEARCH_DATA_LOW 0x32
202#define SCSIOP_SET_LIMITS 0x33
203#define SCSIOP_READ_POSITION 0x34
204#define SCSIOP_SYNCHRONIZE_CACHE 0x35
205#define SCSIOP_COMPARE 0x39
206#define SCSIOP_COPY_COMPARE 0x3A
207#define SCSIOP_WRITE_DATA_BUFF 0x3B
208#define SCSIOP_READ_DATA_BUFF 0x3C
209#define SCSIOP_WRITE_LONG 0x3F
210#define SCSIOP_CHANGE_DEFINITION 0x40
211#define SCSIOP_WRITE_SAME 0x41
212#define SCSIOP_READ_SUB_CHANNEL 0x42
213#define SCSIOP_READ_TOC 0x43
214#define SCSIOP_READ_HEADER 0x44
215#define SCSIOP_REPORT_DENSITY_SUPPORT 0x44
216#define SCSIOP_PLAY_AUDIO 0x45
217#define SCSIOP_GET_CONFIGURATION 0x46
218#define SCSIOP_PLAY_AUDIO_MSF 0x47
219#define SCSIOP_PLAY_TRACK_INDEX 0x48
220#define SCSIOP_PLAY_TRACK_RELATIVE 0x49
221#define SCSIOP_GET_EVENT_STATUS 0x4A
222#define SCSIOP_PAUSE_RESUME 0x4B
223#define SCSIOP_LOG_SELECT 0x4C
224#define SCSIOP_LOG_SENSE 0x4D
225#define SCSIOP_STOP_PLAY_SCAN 0x4E
226#define SCSIOP_XDWRITE 0x50
227#define SCSIOP_XPWRITE 0x51
228#define SCSIOP_READ_DISK_INFORMATION 0x51
229#define SCSIOP_READ_DISC_INFORMATION 0x51
230#define SCSIOP_READ_TRACK_INFORMATION 0x52
231#define SCSIOP_XDWRITE_READ 0x53
232#define SCSIOP_RESERVE_TRACK_RZONE 0x53
233#define SCSIOP_SEND_OPC_INFORMATION 0x54
234#define SCSIOP_MODE_SELECT10 0x55
235#define SCSIOP_RESERVE_UNIT10 0x56
236#define SCSIOP_RESERVE_ELEMENT 0x56
237#define SCSIOP_RELEASE_UNIT10 0x57
238#define SCSIOP_RELEASE_ELEMENT 0x57
239#define SCSIOP_REPAIR_TRACK 0x58
240#define SCSIOP_MODE_SENSE10 0x5A
241#define SCSIOP_CLOSE_TRACK_SESSION 0x5B
242#define SCSIOP_READ_BUFFER_CAPACITY 0x5C
243#define SCSIOP_SEND_CUE_SHEET 0x5D
244#define SCSIOP_PERSISTENT_RESERVE_IN 0x5E
245#define SCSIOP_PERSISTENT_RESERVE_OUT 0x5F
246#define SCSIOP_XDWRITE_EXTENDED16 0x80
247#define SCSIOP_WRITE_FILEMARKS16 0x80
248#define SCSIOP_REBUILD16 0x81
249#define SCSIOP_READ_REVERSE16 0x81
250#define SCSIOP_REGENERATE16 0x82
251#define SCSIOP_EXTENDED_COPY 0x83
252#define SCSIOP_RECEIVE_COPY_RESULTS 0x84
253#define SCSIOP_ATA_PASSTHROUGH16 0x85
254#define SCSIOP_ACCESS_CONTROL_IN 0x86
255#define SCSIOP_ACCESS_CONTROL_OUT 0x87
256#define SCSIOP_READ16 0x88
257#define SCSIOP_WRITE16 0x8A
258#define SCSIOP_READ_ATTRIBUTES 0x8C
259#define SCSIOP_WRITE_ATTRIBUTES 0x8D
260#define SCSIOP_WRITE_VERIFY16 0x8E
261#define SCSIOP_VERIFY16 0x8F
262#define SCSIOP_PREFETCH16 0x90
263#define SCSIOP_SYNCHRONIZE_CACHE16 0x91
264#define SCSIOP_SPACE16 0x91
265#define SCSIOP_LOCK_UNLOCK_CACHE16 0x92
266#define SCSIOP_LOCATE16 0x92
267#define SCSIOP_WRITE_SAME16 0x93
268#define SCSIOP_ERASE16 0x93
269#define SCSIOP_READ_CAPACITY16 0x9E
270#define SCSIOP_SERVICE_ACTION_IN16 0x9E
271#define SCSIOP_SERVICE_ACTION_OUT16 0x9F
272#define SCSIOP_REPORT_LUNS 0xA0
273#define SCSIOP_BLANK 0xA1
274#define SCSIOP_ATA_PASSTHROUGH12 0xA1
275#define SCSIOP_SEND_EVENT 0xA2
276#define SCSIOP_SEND_KEY 0xA3
277#define SCSIOP_MAINTENANCE_IN 0xA3
278#define SCSIOP_REPORT_KEY 0xA4
279#define SCSIOP_MAINTENANCE_OUT 0xA4
280#define SCSIOP_MOVE_MEDIUM 0xA5
281#define SCSIOP_LOAD_UNLOAD_SLOT 0xA6
282#define SCSIOP_EXCHANGE_MEDIUM 0xA6
283#define SCSIOP_SET_READ_AHEAD 0xA7
284#define SCSIOP_MOVE_MEDIUM_ATTACHED 0xA7
285#define SCSIOP_READ12 0xA8
286#define SCSIOP_GET_MESSAGE 0xA8
287#define SCSIOP_SERVICE_ACTION_OUT12 0xA9
288#define SCSIOP_WRITE12 0xAA
289#define SCSIOP_SEND_MESSAGE 0xAB
290#define SCSIOP_SERVICE_ACTION_IN12 0xAB
291#define SCSIOP_GET_PERFORMANCE 0xAC
292#define SCSIOP_READ_DVD_STRUCTURE 0xAD
293#define SCSIOP_WRITE_VERIFY12 0xAE
294#define SCSIOP_VERIFY12 0xAF
295#define SCSIOP_SEARCH_DATA_HIGH12 0xB0
296#define SCSIOP_SEARCH_DATA_EQUAL12 0xB1
297#define SCSIOP_SEARCH_DATA_LOW12 0xB2
298#define SCSIOP_SET_LIMITS12 0xB3
299#define SCSIOP_READ_ELEMENT_STATUS_ATTACHED 0xB4
300#define SCSIOP_REQUEST_VOL_ELEMENT 0xB5
301#define SCSIOP_SEND_VOLUME_TAG 0xB6
302#define SCSIOP_SET_STREAMING 0xB6
303#define SCSIOP_READ_DEFECT_DATA 0xB7
304#define SCSIOP_READ_ELEMENT_STATUS 0xB8
305#define SCSIOP_READ_CD_MSF 0xB9
306#define SCSIOP_SCAN_CD 0xBA
307#define SCSIOP_REDUNDANCY_GROUP_IN 0xBA
308#define SCSIOP_SET_CD_SPEED 0xBB
309#define SCSIOP_REDUNDANCY_GROUP_OUT 0xBB
310#define SCSIOP_PLAY_CD 0xBC
311#define SCSIOP_SPARE_IN 0xBC
312#define SCSIOP_MECHANISM_STATUS 0xBD
313#define SCSIOP_SPARE_OUT 0xBD
314#define SCSIOP_READ_CD 0xBE
315#define SCSIOP_VOLUME_SET_IN 0xBE
316#define SCSIOP_SEND_DVD_STRUCTURE 0xBF
317#define SCSIOP_VOLUME_SET_OUT 0xBF
318#define SCSIOP_INIT_ELEMENT_RANGE 0xE7
320#define SCSIOP_UNMAP 0x42
322#define SCSIOP_SANITIZE 0x48
324#define SCSIOP_OPERATION32 0x7F
326#define SCSIOP_POPULATE_TOKEN 0x83
327#define SCSIOP_WRITE_USING_TOKEN 0x83
329#define SCSIOP_RECEIVE_ROD_TOKEN_INFORMATION 0x84
331#define SCSIOP_COMPARE_AND_WRITE 0x89
333#define SCSIOP_ZBC_OUT 0x94
334#define SCSIOP_ZBC_IN 0x95
335#define SCSIOP_READ_DATA_BUFF16 0x9B
337#define SCSIOP_GET_LBA_STATUS 0x9E
338#define SCSIOP_GET_PHYSICAL_ELEMENT_STATUS 0x9E
339#define SCSIOP_REMOVE_ELEMENT_AND_TRUNCATE 0x9E
341#define SCSIOP_SECURITY_PROTOCOL_IN 0xA2
343#define SCSIOP_SECURITY_PROTOCOL_OUT 0xB5
345#define SERVICE_ACTION_OVERWRITE 0x01
346#define SERVICE_ACTION_BLOCK_ERASE 0x02
347#define SERVICE_ACTION_CRYPTO_ERASE 0x03
348#define SERVICE_ACTION_EXIT_FAILURE 0x1f
352#define SERVICE_ACTION_XDWRITE 0x0004
353#define SERVICE_ACTION_XPWRITE 0x0006
354#define SERVICE_ACTION_XDWRITEREAD 0x0007
355#define SERVICE_ACTION_WRITE 0x000B
356#define SERVICE_ACTION_WRITE_VERIFY 0x000C
357#define SERVICE_ACTION_WRITE_SAME 0x000D
358#define SERVICE_ACTION_ORWRITE 0x000E
362#define SERVICE_ACTION_POPULATE_TOKEN 0x10
363#define SERVICE_ACTION_WRITE_USING_TOKEN 0x11
367#define SERVICE_ACTION_RECEIVE_TOKEN_INFORMATION 0x07
371#define SERVICE_ACTION_CLOSE_ZONE 0x01
372#define SERVICE_ACTION_FINISH_ZONE 0x02
373#define SERVICE_ACTION_OPEN_ZONE 0x03
374#define SERVICE_ACTION_RESET_WRITE_POINTER 0x04
378#define SERVICE_ACTION_REPORT_ZONES 0x00
380#define REPORT_ZONES_OPTION_LIST_ALL_ZONES 0x00
381#define REPORT_ZONES_OPTION_LIST_EMPTY_ZONES 0x01
382#define REPORT_ZONES_OPTION_LIST_IMPLICITLY_OPENED_ZONES 0x02
383#define REPORT_ZONES_OPTION_LIST_EXPLICITLY_OPENED_ZONES 0x03
384#define REPORT_ZONES_OPTION_LIST_CLOSED_ZONES 0x04
385#define REPORT_ZONES_OPTION_LIST_FULL_ZONES 0x05
386#define REPORT_ZONES_OPTION_LIST_READ_ONLY_ZONES 0x06
387#define REPORT_ZONES_OPTION_LIST_OFFLINE_ZONES 0x07
388#define REPORT_ZONES_OPTION_LIST_RWP_ZONES 0x10
389#define REPORT_ZONES_OPTION_LIST_NON_SEQUENTIAL_WRITE_RESOURCES_ACTIVE_ZONES 0x11
390#define REPORT_ZONES_OPTION_LIST_NOT_WRITE_POINTER_ZONES 0x3F
394#define SERVICE_ACTION_READ_CAPACITY16 0x10
395#define SERVICE_ACTION_GET_LBA_STATUS 0x12
396#define SERVICE_ACTION_GET_PHYSICAL_ELEMENT_STATUS 0x17
397#define SERVICE_ACTION_REMOVE_ELEMENT_AND_TRUNCATE 0x18
401#define SERVICE_ACTION_REPORT_TIMESTAMP 0x0F
405#define SERVICE_ACTION_SET_TIMESTAMP 0x0F
407#define CDB_RETURN_ON_COMPLETION 0
408#define CDB_RETURN_IMMEDIATE 1
410#define CDB_FORCE_MEDIA_ACCESS 0x08
412#define SCSIOP_DENON_EJECT_DISC 0xE6
413#define SCSIOP_DENON_STOP_AUDIO 0xE7
414#define SCSIOP_DENON_PLAY_AUDIO 0xE8
415#define SCSIOP_DENON_READ_TOC 0xE9
416#define SCSIOP_DENON_READ_SUBCODE 0xEB
418#define SCSISTAT_GOOD 0x00
419#define SCSISTAT_CHECK_CONDITION 0x02
420#define SCSISTAT_CONDITION_MET 0x04
421#define SCSISTAT_BUSY 0x08
422#define SCSISTAT_INTERMEDIATE 0x10
423#define SCSISTAT_INTERMEDIATE_COND_MET 0x14
424#define SCSISTAT_RESERVATION_CONFLICT 0x18
425#define SCSISTAT_COMMAND_TERMINATED 0x22
426#define SCSISTAT_QUEUE_FULL 0x28
431#define SP_RETURN_NOT_FOUND 0
432#define SP_RETURN_FOUND 1
433#define SP_RETURN_ERROR 2
434#define SP_RETURN_BAD_CONFIG 3
437#define SRB_FUNCTION_EXECUTE_SCSI 0x00
438#define SRB_FUNCTION_CLAIM_DEVICE 0x01
439#define SRB_FUNCTION_IO_CONTROL 0x02
440#define SRB_FUNCTION_RECEIVE_EVENT 0x03
441#define SRB_FUNCTION_RELEASE_QUEUE 0x04
442#define SRB_FUNCTION_ATTACH_DEVICE 0x05
443#define SRB_FUNCTION_RELEASE_DEVICE 0x06
444#define SRB_FUNCTION_SHUTDOWN 0x07
445#define SRB_FUNCTION_FLUSH 0x08
446#define SRB_FUNCTION_ABORT_COMMAND 0x10
447#define SRB_FUNCTION_RELEASE_RECOVERY 0x11
448#define SRB_FUNCTION_RESET_BUS 0x12
449#define SRB_FUNCTION_RESET_DEVICE 0x13
450#define SRB_FUNCTION_TERMINATE_IO 0x14
451#define SRB_FUNCTION_FLUSH_QUEUE 0x15
452#define SRB_FUNCTION_REMOVE_DEVICE 0x16
453#define SRB_FUNCTION_WMI 0x17
454#define SRB_FUNCTION_LOCK_QUEUE 0x18
455#define SRB_FUNCTION_UNLOCK_QUEUE 0x19
456#define SRB_FUNCTION_RESET_LOGICAL_UNIT 0x20
457#define SRB_FUNCTION_SET_LINK_TIMEOUT 0x21
458#define SRB_FUNCTION_LINK_TIMEOUT_OCCURRED 0x22
459#define SRB_FUNCTION_LINK_TIMEOUT_COMPLETE 0x23
460#define SRB_FUNCTION_POWER 0x24
461#define SRB_FUNCTION_PNP 0x25
462#define SRB_FUNCTION_DUMP_POINTERS 0x26
463#define SRB_FUNCTION_FREE_DUMP_POINTERS 0x27
465#if (NTDDI_VERSION >= NTDDI_WIN8)
466#define SRB_FUNCTION_PROTOCOL_COMMAND 0x09
467#define SRB_FUNCTION_QUIESCE_DEVICE 0x1A
468#define SRB_FUNCTION_STORAGE_REQUEST_BLOCK 0x28
469#define SRB_FUNCTION_GET_DUMP_INFO 0x2A
470#define SRB_FUNCTION_FREE_DUMP_INFO 0x2B
473#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
474#define SRB_FUNCTION_EXECUTE_NVME 0x0A
475#define SRB_FUNCTION_NVMEOF_OPERATION 0x2C
476#define SRB_FUNCTION_MINIPORT_PASSTHROUGH_REQUEST 0x2D
480#define SRB_STATUS_PENDING 0x00
481#define SRB_STATUS_SUCCESS 0x01
482#define SRB_STATUS_ABORTED 0x02
483#define SRB_STATUS_ABORT_FAILED 0x03
484#define SRB_STATUS_ERROR 0x04
485#define SRB_STATUS_BUSY 0x05
486#define SRB_STATUS_INVALID_REQUEST 0x06
487#define SRB_STATUS_INVALID_PATH_ID 0x07
488#define SRB_STATUS_NO_DEVICE 0x08
489#define SRB_STATUS_TIMEOUT 0x09
490#define SRB_STATUS_SELECTION_TIMEOUT 0x0A
491#define SRB_STATUS_COMMAND_TIMEOUT 0x0B
492#define SRB_STATUS_MESSAGE_REJECTED 0x0D
493#define SRB_STATUS_BUS_RESET 0x0E
494#define SRB_STATUS_PARITY_ERROR 0x0F
495#define SRB_STATUS_REQUEST_SENSE_FAILED 0x10
496#define SRB_STATUS_NO_HBA 0x11
497#define SRB_STATUS_DATA_OVERRUN 0x12
498#define SRB_STATUS_UNEXPECTED_BUS_FREE 0x13
499#define SRB_STATUS_PHASE_SEQUENCE_FAILURE 0x14
500#define SRB_STATUS_BAD_SRB_BLOCK_LENGTH 0x15
501#define SRB_STATUS_REQUEST_FLUSHED 0x16
502#define SRB_STATUS_ACCESS_DENIED 0x17
503#define SRB_STATUS_OPERATION_IN_PROGRESS 0x18
504#define SRB_STATUS_INVALID_LUN 0x20
505#define SRB_STATUS_INVALID_TARGET_ID 0x21
506#define SRB_STATUS_BAD_FUNCTION 0x22
507#define SRB_STATUS_ERROR_RECOVERY 0x23
508#define SRB_STATUS_NOT_POWERED 0x24
509#define SRB_STATUS_LINK_DOWN 0x25
510#define SRB_STATUS_INSUFFICIENT_RESOURCES 0x26
511#define SRB_STATUS_THROTTLED_REQUEST 0x27
512#define SRB_STATUS_INVALID_PARAMETER 0x28
513#define SRB_STATUS_INTERNAL_ERROR 0x30
514#define SRB_STATUS_QUEUE_FROZEN 0x40
515#define SRB_STATUS_AUTOSENSE_VALID 0x80
516#define SRB_STATUS(Status) (Status & ~(SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_QUEUE_FROZEN))
519#define SRB_FLAGS_QUEUE_ACTION_ENABLE 0x00000002
520#define SRB_FLAGS_DISABLE_DISCONNECT 0x00000004
521#define SRB_FLAGS_DISABLE_SYNCH_TRANSFER 0x00000008
523#define SRB_FLAGS_BYPASS_FROZEN_QUEUE 0x00000010
524#define SRB_FLAGS_DISABLE_AUTOSENSE 0x00000020
525#define SRB_FLAGS_DATA_IN 0x00000040
526#define SRB_FLAGS_DATA_OUT 0x00000080
527#define SRB_FLAGS_NO_DATA_TRANSFER 0x00000000
528#define SRB_FLAGS_UNSPECIFIED_DIRECTION (SRB_FLAGS_DATA_IN | SRB_FLAGS_DATA_OUT)
530#define SRB_FLAGS_NO_QUEUE_FREEZE 0x00000100
531#define SRB_FLAGS_ADAPTER_CACHE_ENABLE 0x00000200
532#define SRB_FLAGS_FREE_SENSE_BUFFER 0x00000400
533#define SRB_FLAGS_D3_PROCESSING 0x00000800
534#define SRB_FLAGS_SEQUENTIAL_REQUIRED 0x00001000
536#define SRB_FLAGS_IS_ACTIVE 0x00010000
537#define SRB_FLAGS_ALLOCATED_FROM_ZONE 0x00020000
538#define SRB_FLAGS_SGLIST_FROM_POOL 0x00040000
539#define SRB_FLAGS_BYPASS_LOCKED_QUEUE 0x00080000
541#define SRB_FLAGS_NO_KEEP_AWAKE 0x00100000
542#define SRB_FLAGS_PORT_DRIVER_ALLOCSENSE 0x00200000
544#define SRB_FLAGS_PORT_DRIVER_SENSEHASPORT 0x00400000
545#define SRB_FLAGS_DONT_START_NEXT_PACKET 0x00800000
547#define SRB_FLAGS_PORT_DRIVER_RESERVED 0x0F000000
548#define SRB_FLAGS_CLASS_DRIVER_RESERVED 0xF0000000
550#define SRB_SIMPLE_TAG_REQUEST 0x20
551#define SRB_HEAD_OF_QUEUE_TAG_REQUEST 0x21
552#define SRB_ORDERED_QUEUE_TAG_REQUEST 0x22
554#define SRB_WMI_FLAGS_ADAPTER_REQUEST 0x01
555#define SRB_POWER_FLAGS_ADAPTER_REQUEST 0x01
556#define SRB_PNP_FLAGS_ADAPTER_REQUEST 0x01
557#define SRB_IOCTL_FLAGS_ADAPTER_REQUEST 0x01
558#define SRB_PROTOCOL_FLAGS_ADAPTER_REQUEST 0x01
560#define STOR_MAP_NO_BUFFERS (0)
561#define STOR_MAP_ALL_BUFFERS (1)
562#define STOR_MAP_NON_READ_WRITE_BUFFERS (2)
563#define STOR_MAP_ALL_BUFFERS_INCLUDING_READ_WRITE (3)
566#define STOR_STATUS_SUCCESS (0x00000000L)
567#define STOR_STATUS_UNSUCCESSFUL (0xC1000001L)
568#define STOR_STATUS_NOT_IMPLEMENTED (0xC1000002L)
569#define STOR_STATUS_INSUFFICIENT_RESOURCES (0xC1000003L)
570#define STOR_STATUS_BUFFER_TOO_SMALL (0xC1000004L)
571#define STOR_STATUS_ACCESS_DENIED (0xC1000005L)
572#define STOR_STATUS_INVALID_PARAMETER (0xC1000006L)
573#define STOR_STATUS_INVALID_DEVICE_REQUEST (0xC1000007L)
574#define STOR_STATUS_INVALID_IRQL (0xC1000008L)
575#define STOR_STATUS_INVALID_DEVICE_STATE (0xC1000009L)
576#define STOR_STATUS_INVALID_BUFFER_SIZE (0xC100000AL)
577#define STOR_STATUS_UNSUPPORTED_VERSION (0xC100000BL)
578#define STOR_STATUS_BUSY (0xC100000CL)
579#define STOR_STATUS_THROTTLED_REQUEST (0xC100000DL)
580#define STOR_STATUS_TIMEOUT (0xC100000EL)
581#define STOR_STATUS_INVALID_DATA (0xC100000FL)
582#define STOR_STATUS_RESET_REQUIRED (0xC1000010L)
583#define STOR_STATUS_NOT_SUPPORTED (0xC1000011L)
585#define VPD_SUPPORTED_PAGES 0x00
586#define VPD_SERIAL_NUMBER 0x80
587#define VPD_DEVICE_IDENTIFIERS 0x83
588#define VPD_MEDIA_SERIAL_NUMBER 0x84
589#define VPD_SOFTWARE_INTERFACE_IDENTIFIERS 0x84
590#define VPD_NETWORK_MANAGEMENT_ADDRESSES 0x85
591#define VPD_EXTENDED_INQUIRY_DATA 0x86
592#define VPD_MODE_PAGE_POLICY 0x87
593#define VPD_SCSI_PORTS 0x88
595#define SCSI_SENSE_NO_SENSE 0x00
596#define SCSI_SENSE_RECOVERED_ERROR 0x01
597#define SCSI_SENSE_NOT_READY 0x02
598#define SCSI_SENSE_MEDIUM_ERROR 0x03
599#define SCSI_SENSE_HARDWARE_ERROR 0x04
600#define SCSI_SENSE_ILLEGAL_REQUEST 0x05
601#define SCSI_SENSE_UNIT_ATTENTION 0x06
602#define SCSI_SENSE_DATA_PROTECT 0x07
603#define SCSI_SENSE_BLANK_CHECK 0x08
604#define SCSI_SENSE_UNIQUE 0x09
605#define SCSI_SENSE_COPY_ABORTED 0x0A
606#define SCSI_SENSE_ABORTED_COMMAND 0x0B
607#define SCSI_SENSE_EQUAL 0x0C
608#define SCSI_SENSE_VOL_OVERFLOW 0x0D
609#define SCSI_SENSE_MISCOMPARE 0x0E
610#define SCSI_SENSE_RESERVED 0x0F
612#define SECURITY_PROTOCOL_IEEE1667 0xEE
613#define TCG_SECURITY_PROTOCOL_ID_0 0x00
614#define TCG_SECURITY_PROTOCOL_ID_1 0x01
615#define TCG_SECURITY_PROTOCOL_ID_2 0x02
616#define MODE_SENSE_CURRENT_VALUES_PAGE_CONTROL 0
617#define MODE_SENSE_CHANGEABLE_VALUES_PAGE_CONTROL 1
618#define MODE_SENSE_DEFAULT_VALUES_PAGE_CONTROL 2
619#define MODE_SENSE_SAVED_VALUES_PAGE_CONTROL 3
620#define MODE_SUBPAGE_COMMAND_DURATION_LIMIT_A_MODE 0x03
621#define MODE_SUBPAGE_COMMAND_DURATION_LIMIT_B_MODE 0x04
622#define MODE_SUBPAGE_COMMAND_DURATION_LIMIT_T2A_MODE 0x07
623#define MODE_SUBPAGE_COMMAND_DURATION_LIMIT_T2B_MODE 0x08
624#define SERVICE_ACTION_REPORT_SUPPORTED_OPERATION_CODES 0x0C
625#define SCSISTAT_TASK_ABORTED 0x40
626#define HOT_PLUGGABLE_NO_INFORMATION_PROVIDED 0x0
627#define HOT_PLUGGABLE_REMOVE_AS_SINGLE_OBJECT 0x1
628#define HOT_PLUGGABLE_NOT_REMOVE_FROM_SCSI_DOMAIN 0x2
629#define HOT_PLUGGABLE_RESERVED 0x3
630#define HOT_PLUGGABLE_FIELD_SHIFT 0x4
631#define HOST_MANAGED_ZONED_BLOCK_DEVICE 0x14
632#define UNKNOWN_OR_NO_DEVICE 0x1F
633#define LOG_PAGE_CODE_ENVIRONMENTAL_REPORTING 0x0D
634#define LOG_PAGE_CODE_UTILIZATION 0x0E
635#define LOG_PAGE_CODE_PERFORMANCE_AND_STATISTICS 0x19
636#define LOG_SUBPAGE_CODE_WRITE_ERROR_COUNTERS 0x00
637#define LOG_SUBPAGE_CODE_READ_ERROR_COUNTERS 0x00
638#define LOG_SUBPAGE_CODE_LOGICAL_BLOCK_PROVISIONING 0x00
639#define LOG_SUBPAGE_CODE_TEMPERATURE 0x00
640#define LOG_SUBPAGE_CODE_ENVIRONMENTAL_REPORTING 0x01
641#define LOG_SUBPAGE_CODE_STARTSTOP_CYCLE_COUNTERS 0x00
642#define LOG_SUBPAGE_CODE_UTILIZATION 0x01
643#define LOG_SUBPAGE_CODE_SELFTEST_RESULTS 0x00
644#define LOG_SUBPAGE_CODE_SOLID_STATE_MEDIA 0x00
645#define LOG_SUBPAGE_CODE_BACKGROUND_SCAN_RESULTS 0x00
646#define LOG_SUBPAGE_CODE_INFORMATIONAL_EXCEPTIONS 0x00
647#define LOG_SUBPAGE_CODE_COMMAND_DURATION_LIMIT_STATISTICS 0x21
648#define LOG_SUBPAGE_CODE_SUPPORTED_SUBPAGES 0xFF
649#define VER_DESCRIPTOR_SPC4_NOVERSION 0x0460
650#define VER_DESCRIPTOR_SPC4_T10_1731D_R16 0x0461
651#define VER_DESCRIPTOR_SPC4_T10_1731D_R18 0x0462
652#define VER_DESCRIPTOR_SPC4_T10_1731D_R23 0x0463
653#define VER_DESCRIPTOR_SBC3 0x04C0
654#define VER_DESCRIPTOR_1667_NOVERSION 0xFFC0
655#define VER_DESCRIPTOR_1667_2006 0xFFC1
656#define VER_DESCRIPTOR_1667_2009 0xFFC2
657#define RESERVATION_ACTION_REPORT_CAPABILITIES 0x02
658#define RESERVATION_ACTION_READ_FULL_STATUS 0x03
659#define RESERVATION_ACTION_REGISTER_AND_MOVE 0x07
660#define RESERVATION_ACTION_REPLACE_LOST_RESERVATION 0x08
661#define RESERVATION_TYPE_WRITE_EXCLUSIVE_ALL_REGISTRANTS 0x07
662#define RESERVATION_TYPE_EXCLUSIVE_ALL_REGISTRANTS 0x08
663#define REPORT_SUPPORTED_OPERATION_CODES_REPORTING_OPTIONS_ALL 0x0
664#define REPORT_SUPPORTED_OPERATION_CODES_REPORTING_OPTIONS_OP 0x1
665#define REPORT_SUPPORTED_OPERATION_CODES_REPORTING_OPTIONS_OP_SA 0x2
666#define REPORT_SUPPORTED_OPERATION_CODES_REPORTING_OPTIONS_OP_SA_OVERWRITE 0x3
667#define REPORT_SUPPORTED_OPERATION_CODES_SUPPORT_NOT_AVAILABLE 0x0
668#define REPORT_SUPPORTED_OPERATION_CODES_SUPPORT_NONE 0x1
669#define REPORT_SUPPORTED_OPERATION_CODES_SUPPORT_SUPPORT_STANDARD 0x3
670#define REPORT_SUPPORTED_OPERATION_CODES_SUPPORT_SUPPORT_VENDOR 0x5
671#define SCSI_WRITE_BUFFER_MODE_DOWNLOAD_MICROCODE_WITH_OFFSETS_SAVE_DEFER_ACTIVATE 0x0E
672#define SCSI_WRITE_BUFFER_MODE_ACTIVATE_DEFERRED_MICROCODE 0x0F
673#define SCSI_WRITE_BUFFER_MODE_0D_MODE_SPECIFIC_VSE_ACT 0x01
674#define SCSI_WRITE_BUFFER_MODE_0D_MODE_SPECIFIC_HR_ACT 0x02
675#define SCSI_WRITE_BUFFER_MODE_0D_MODE_SPECIFIC_PO_ACT 0x04
676#define SCSI_SENSE_DESCRIPTOR_TYPE_FORWARDED_SENSE_DATA 0x0C
677#define SCSI_ADSENSE_CRC_OR_ECC_ERROR 0x10
678#define SCSI_ADSENSE_COMMAND_SEQUENCE_ERROR 0x2C
679#define SCSI_ADSENSE_MEDIUM_FORMAT_CORRUPTED 0x31
680#define SCSI_SENSEQ_LOGICAL_BLOCK_GUARD_CHECK_FAILED 0x01
681#define SCSI_SENSEQ_LOGICAL_BLOCK_TAG_CHECK_FAILED 0x02
682#define SCSI_SENSEQ_LOGICAL_BLOCK_REF_TAG_CHECK_FAILED 0x03
683#define SCSI_SENSEQ_ERROR_TOO_LONG_TO_CORRECT 0x02
684#define SCSI_SENSEQ_INVALID_LU_ID 0x09
685#define SCSI_SENSEQ_PREVIOUS_RESERVATION_CONFLICT 0x09
686#define SCSI_SENSEQ_FORMAT_COMMAND_FAILED 0x01
687#define ZONES_TYPE_AND_LENGTH_MAY_DIFFERENT 0x0
688#define ZONES_TYPE_SAME_LENGTH_SAME 0x1
689#define ZONES_TYPE_SAME_LAST_ZONE_LENGTH_DIFFERENT 0x2
690#define ZONES_TYPE_MAY_DIFFERENT_LENGTH_SAME 0x3
691#define COMMAND_DURATION_LIMIT_T2_UNIT_NONE 0
692#define COMMAND_DURATION_LIMIT_T2_UNIT_500NS 0x06
693#define COMMAND_DURATION_LIMIT_T2_UNIT_1US 0x08
694#define COMMAND_DURATION_LIMIT_T2_UNIT_10MS 0x0A
695#define COMMAND_DURATION_LIMIT_T2_UNIT_500MS 0x0E
696#define DURATION_LIMIT_T2_DESCRIPTOR_COUNT 7
697#define COMMAND_DURATION_LIMIT_T2_POLICY_DO_NOTHING 0
698#define COMMAND_DURATION_LIMIT_T2_POLICY_CONTINUE_WITH_NEXT 0x01
699#define COMMAND_DURATION_LIMIT_T2_POLICY_CONTINUE 0x02
700#define COMMAND_DURATION_LIMIT_T2_POLICY_COMPLETE_DATA_UNAVAILABLE 0x0D
701#define COMMAND_DURATION_LIMIT_T2_POLICY_ABORT_TIMEOUT_PARTIAL_TRANSFER 0x0E
702#define COMMAND_DURATION_LIMIT_T2_POLICY_AOBRT_TIMEOUT 0x0F
703#define GET_PHYSICAL_ELEMENT_STATUS_REPORT_TYPE_PHYSICAL_ELEMENT 0x0
704#define GET_PHYSICAL_ELEMENT_STATUS_REPORT_TYPE_STORAGE_ELEMENT 0x1
705#define GET_PHYSICAL_ELEMENT_STATUS_ALL 0x0
706#define GET_PHYSICAL_ELEMENT_STATUS_FILTER_NEED_ATTENTION 0x1
707#define READ_BUFFER_MODE_ERROR_HISTORY 0x1C
708#define MODE_SPECIFIC_CREATE_VENDOR_SPECIFIC_DATA 0x0
709#define MODE_SPECIFIC_CREATE_CURRENT_INTERNAL_STATUS_DATA 0x1
710#define BUFFER_FORMAT_VENDOR_SPECIFIC 0x0
711#define BUFFER_FORMAT_CURRENT_INTERNAL_STATUS_DATA 0x1
712#define BUFFER_FORMAT_SAVED_INTERNAL_STATUS_DATA 0x2
713#define BUFFER_SOURCE_INDICATED_IN_EHS_SOURCE_FIELD 0x0
714#define BUFFER_SOURCE_UNKNOWN 0x1
715#define BUFFER_SOURCE_CREATED_BY_DEVICE_SERVER 0x2
716#define BUFFER_SOURCE_CREATED_DUE_TO_CURRENT_COMMAND 0x3
717#define BUFFER_SOURCE_CREATED_DUE_TO_PREVIOUS_COMMAND 0x4
718#define STATUS_DATA_SET_SIZE_INCREMENT_IN_BYTES 0x200
720#define NOTIFICATION_OPERATIONAL_CHANGE_CLASS_MASK 0x02
721#define NOTIFICATION_POWER_MANAGEMENT_CLASS_MASK 0x04
722#define NOTIFICATION_EXTERNAL_REQUEST_CLASS_MASK 0x08
723#define NOTIFICATION_MEDIA_STATUS_CLASS_MASK 0x10
724#define NOTIFICATION_MULTI_HOST_CLASS_MASK 0x20
725#define NOTIFICATION_DEVICE_BUSY_CLASS_MASK 0x40
728#define NOTIFICATION_NO_CLASS_EVENTS 0x0
729#define NOTIFICATION_OPERATIONAL_CHANGE_CLASS_EVENTS 0x1
730#define NOTIFICATION_POWER_MANAGEMENT_CLASS_EVENTS 0x2
731#define NOTIFICATION_EXTERNAL_REQUEST_CLASS_EVENTS 0x3
732#define NOTIFICATION_MEDIA_STATUS_CLASS_EVENTS 0x4
733#define NOTIFICATION_MULTI_HOST_CLASS_EVENTS 0x5
734#define NOTIFICATION_DEVICE_BUSY_CLASS_EVENTS 0x6
736#define NOTIFICATION_OPERATIONAL_EVENT_NO_CHANGE 0x0
737#define NOTIFICATION_OPERATIONAL_EVENT_CHANGE_REQUESTED 0x1
738#define NOTIFICATION_OPERATIONAL_EVENT_CHANGE_OCCURRED 0x2
740#define NOTIFICATION_OPERATIONAL_STATUS_AVAILABLE 0x0
741#define NOTIFICATION_OPERATIONAL_STATUS_TEMPORARY_BUSY 0x1
742#define NOTIFICATION_OPERATIONAL_STATUS_EXTENDED_BUSY 0x2
744#define NOTIFICATION_OPERATIONAL_OPCODE_NONE 0x0
745#define NOTIFICATION_OPERATIONAL_OPCODE_FEATURE_CHANGE 0x1
746#define NOTIFICATION_OPERATIONAL_OPCODE_FEATURE_ADDED 0x2
747#define NOTIFICATION_OPERATIONAL_OPCODE_UNIT_RESET 0x3
748#define NOTIFICATION_OPERATIONAL_OPCODE_FIRMWARE_CHANGED 0x4
749#define NOTIFICATION_OPERATIONAL_OPCODE_INQUIRY_CHANGED 0x5
751#define NOTIFICATION_POWER_EVENT_NO_CHANGE 0x0
752#define NOTIFICATION_POWER_EVENT_CHANGE_SUCCEEDED 0x1
753#define NOTIFICATION_POWER_EVENT_CHANGE_FAILED 0x2
755#define NOTIFICATION_POWER_STATUS_ACTIVE 0x1
756#define NOTIFICATION_POWER_STATUS_IDLE 0x2
757#define NOTIFICATION_POWER_STATUS_STANDBY 0x3
758#define NOTIFICATION_POWER_STATUS_SLEEP 0x4
760#define NOTIFICATION_MEDIA_EVENT_NO_EVENT 0x0
761#define NOTIFICATION_EXTERNAL_EVENT_NO_CHANGE 0x0
762#define NOTIFICATION_EXTERNAL_EVENT_BUTTON_DOWN 0x1
763#define NOTIFICATION_EXTERNAL_EVENT_BUTTON_UP 0x2
764#define NOTIFICATION_EXTERNAL_EVENT_EXTERNAL 0x3
766#define NOTIFICATION_EXTERNAL_STATUS_READY 0x0
767#define NOTIFICATION_EXTERNAL_STATUS_PREVENT 0x1
769#define NOTIFICATION_EXTERNAL_REQUEST_NONE 0x0000
770#define NOTIFICATION_EXTERNAL_REQUEST_QUEUE_OVERRUN 0x0001
771#define NOTIFICATION_EXTERNAL_REQUEST_PLAY 0x0101
772#define NOTIFICATION_EXTERNAL_REQUEST_REWIND_BACK 0x0102
773#define NOTIFICATION_EXTERNAL_REQUEST_FAST_FORWARD 0x0103
774#define NOTIFICATION_EXTERNAL_REQUEST_PAUSE 0x0104
775#define NOTIFICATION_EXTERNAL_REQUEST_STOP 0x0106
776#define NOTIFICATION_EXTERNAL_REQUEST_ASCII_LOW 0x0200
777#define NOTIFICATION_EXTERNAL_REQUEST_ASCII_HIGH 0x02ff
779#define NOTIFICATION_MEDIA_EVENT_NO_CHANGE 0x0
780#define NOTIFICATION_MEDIA_EVENT_EJECT_REQUEST 0x1
781#define NOTIFICATION_MEDIA_EVENT_NEW_MEDIA 0x2
782#define NOTIFICATION_MEDIA_EVENT_MEDIA_REMOVAL 0x3
783#define NOTIFICATION_MEDIA_EVENT_MEDIA_CHANGE 0x4
785#define NOTIFICATION_BUSY_EVENT_NO_EVENT 0x0
786#define NOTIFICATION_MULTI_HOST_EVENT_NO_CHANGE 0x0
787#define NOTIFICATION_MULTI_HOST_EVENT_CONTROL_REQUEST 0x1
788#define NOTIFICATION_MULTI_HOST_EVENT_CONTROL_GRANT 0x2
789#define NOTIFICATION_MULTI_HOST_EVENT_CONTROL_RELEASE 0x3
791#define NOTIFICATION_MULTI_HOST_STATUS_READY 0x0
792#define NOTIFICATION_MULTI_HOST_STATUS_PREVENT 0x1
794#define NOTIFICATION_MULTI_HOST_PRIORITY_NO_REQUESTS 0x0
795#define NOTIFICATION_MULTI_HOST_PRIORITY_LOW 0x1
796#define NOTIFICATION_MULTI_HOST_PRIORITY_MEDIUM 0x2
797#define NOTIFICATION_MULTI_HOST_PRIORITY_HIGH 0x3
799#define NOTIFICATION_BUSY_EVENT_NO_EVENT 0x0
800#define NOTIFICATION_BUSY_EVENT_NO_CHANGE 0x0
801#define NOTIFICATION_BUSY_EVENT_BUSY 0x1
802#define NOTIFICATION_BUSY_EVENT_LO_CHANGE 0x2
804#define NOTIFICATION_BUSY_STATUS_NO_EVENT 0x0
805#define NOTIFICATION_BUSY_STATUS_POWER 0x1
806#define NOTIFICATION_BUSY_STATUS_IMMEDIATE 0x2
807#define NOTIFICATION_BUSY_STATUS_DEFERRED 0x3
809#define DVD_FORMAT_LEAD_IN 0x00
810#define DVD_FORMAT_COPYRIGHT 0x01
811#define DVD_FORMAT_DISK_KEY 0x02
812#define DVD_FORMAT_BCA 0x03
813#define DVD_FORMAT_MANUFACTURING 0x04
815#define DVD_REPORT_AGID 0x00
816#define DVD_CHALLENGE_KEY 0x01
817#define DVD_KEY_1 0x02
818#define DVD_KEY_2 0x03
819#define DVD_TITLE_KEY 0x04
820#define DVD_REPORT_ASF 0x05
821#define DVD_INVALIDATE_AGID 0x3F
823#define BLANK_FULL 0x0
824#define BLANK_MINIMAL 0x1
825#define BLANK_TRACK 0x2
826#define BLANK_UNRESERVE_TRACK 0x3
827#define BLANK_TAIL 0x4
828#define BLANK_UNCLOSE_SESSION 0x5
829#define BLANK_SESSION 0x6
831#define CD_EXPECTED_SECTOR_ANY 0x0
832#define CD_EXPECTED_SECTOR_CDDA 0x1
833#define CD_EXPECTED_SECTOR_MODE1 0x2
834#define CD_EXPECTED_SECTOR_MODE2 0x3
835#define CD_EXPECTED_SECTOR_MODE2_FORM1 0x4
836#define CD_EXPECTED_SECTOR_MODE2_FORM2 0x5
838#define DISK_STATUS_EMPTY 0x00
839#define DISK_STATUS_INCOMPLETE 0x01
840#define DISK_STATUS_COMPLETE 0x02
841#define DISK_STATUS_OTHERS 0x03
843#define LAST_SESSION_EMPTY 0x00
844#define LAST_SESSION_INCOMPLETE 0x01
845#define LAST_SESSION_RESERVED_DAMAGED 0x02
846#define LAST_SESSION_COMPLETE 0x03
848#define DISK_TYPE_CDDA 0x00
849#define DISK_TYPE_CDI 0x10
850#define DISK_TYPE_XA 0x20
851#define DISK_TYPE_UNDEFINED 0xFF
853#define DISC_BGFORMAT_STATE_NONE 0x0
854#define DISC_BGFORMAT_STATE_INCOMPLETE 0x1
855#define DISC_BGFORMAT_STATE_RUNNING 0x2
856#define DISC_BGFORMAT_STATE_COMPLETE 0x3
858#define DATA_BLOCK_MODE0 0x0
859#define DATA_BLOCK_MODE1 0x1
860#define DATA_BLOCK_MODE2 0x2
863#define READ_TOC_FORMAT_TOC 0x00
864#define READ_TOC_FORMAT_SESSION 0x01
865#define READ_TOC_FORMAT_FULL_TOC 0x02
866#define READ_TOC_FORMAT_PMA 0x03
867#define READ_TOC_FORMAT_ATIP 0x04
869#define SCSIMESS_ABORT 0x06
870#define SCSIMESS_ABORT_WITH_TAG 0x0D
871#define SCSIMESS_BUS_DEVICE_RESET 0X0C
872#define SCSIMESS_CLEAR_QUEUE 0X0E
873#define SCSIMESS_COMMAND_COMPLETE 0X00
874#define SCSIMESS_DISCONNECT 0X04
875#define SCSIMESS_EXTENDED_MESSAGE 0X01
876#define SCSIMESS_IDENTIFY 0X80
877#define SCSIMESS_IDENTIFY_WITH_DISCON 0XC0
878#define SCSIMESS_IGNORE_WIDE_RESIDUE 0X23
879#define SCSIMESS_INITIATE_RECOVERY 0X0F
880#define SCSIMESS_INIT_DETECTED_ERROR 0X05
881#define SCSIMESS_LINK_CMD_COMP 0X0A
882#define SCSIMESS_LINK_CMD_COMP_W_FLAG 0X0B
883#define SCSIMESS_MESS_PARITY_ERROR 0X09
884#define SCSIMESS_MESSAGE_REJECT 0X07
885#define SCSIMESS_NO_OPERATION 0X08
886#define SCSIMESS_HEAD_OF_QUEUE_TAG 0X21
887#define SCSIMESS_ORDERED_QUEUE_TAG 0X22
888#define SCSIMESS_SIMPLE_QUEUE_TAG 0X20
889#define SCSIMESS_RELEASE_RECOVERY 0X10
890#define SCSIMESS_RESTORE_POINTERS 0X03
891#define SCSIMESS_SAVE_DATA_POINTER 0X02
892#define SCSIMESS_TERMINATE_IO_PROCESS 0X11
894#define SCSIMESS_MODIFY_DATA_POINTER 0X00
895#define SCSIMESS_SYNCHRONOUS_DATA_REQ 0X01
896#define SCSIMESS_WIDE_DATA_REQUEST 0X03
898#define SCSIMESS_MODIFY_DATA_LENGTH 5
899#define SCSIMESS_SYNCH_DATA_LENGTH 3
900#define SCSIMESS_WIDE_DATA_LENGTH 2
902#define CDB_INQUIRY_EVPD 0x01
904#define LUN0_FORMAT_SAVING_DEFECT_LIST 0
905#define USE_DEFAULTMSB 0
906#define USE_DEFAULTLSB 0
908#define START_UNIT_CODE 0x01
909#define STOP_UNIT_CODE 0x00
911#define DEVICE_QUALIFIER_ACTIVE 0x00
912#define DEVICE_QUALIFIER_NOT_ACTIVE 0x01
913#define DEVICE_QUALIFIER_NOT_SUPPORTED 0x03
915#define RESERVATION_ACTION_READ_KEYS 0x00
916#define RESERVATION_ACTION_READ_RESERVATIONS 0x01
918#define RESERVATION_ACTION_REGISTER 0x00
919#define RESERVATION_ACTION_RESERVE 0x01
920#define RESERVATION_ACTION_RELEASE 0x02
921#define RESERVATION_ACTION_CLEAR 0x03
922#define RESERVATION_ACTION_PREEMPT 0x04
923#define RESERVATION_ACTION_PREEMPT_ABORT 0x05
924#define RESERVATION_ACTION_REGISTER_IGNORE_EXISTING 0x06
926#define RESERVATION_SCOPE_LU 0x00
927#define RESERVATION_SCOPE_ELEMENT 0x02
929#define RESERVATION_TYPE_WRITE_EXCLUSIVE 0x01
930#define RESERVATION_TYPE_EXCLUSIVE 0x03
931#define RESERVATION_TYPE_WRITE_EXCLUSIVE_REGISTRANTS 0x05
932#define RESERVATION_TYPE_EXCLUSIVE_REGISTRANTS 0x06
934#define SENSE_BUFFER_SIZE_EX sizeof(SENSE_DATA_EX)
936#define MAX_ADDITIONAL_SENSE_BYTES (MAX_SENSE_BUFFER_SIZE - SENSE_BUFFER_SIZE)
937#define MAX_ADDITIONAL_SENSE_BYTES_EX (MAX_SENSE_BUFFER_SIZE - SENSE_BUFFER_SIZE_EX)
939#define SCSI_SENSE_ERRORCODE_FIXED_CURRENT 0x70
940#define SCSI_SENSE_ERRORCODE_FIXED_DEFERRED 0x71
941#define SCSI_SENSE_ERRORCODE_DESCRIPTOR_CURRENT 0x72
942#define SCSI_SENSE_ERRORCODE_DESCRIPTOR_DEFERRED 0x73
946#define SCSI_SENSE_DESCRIPTOR_TYPE_INFORMATION 0x00
947#define SCSI_SENSE_DESCRIPTOR_TYPE_COMMAND_SPECIFIC 0x01
948#define SCSI_SENSE_DESCRIPTOR_TYPE_SENSE_KEY_SPECIFIC 0x02
949#define SCSI_SENSE_DESCRIPTOR_TYPE_FIELD_REPLACEABLE_UNIT 0x03
950#define SCSI_SENSE_DESCRIPTOR_TYPE_STREAM_COMMAND 0x04
951#define SCSI_SENSE_DESCRIPTOR_TYPE_BLOCK_COMMAND 0x05
952#define SCSI_SENSE_DESCRIPTOR_TYPE_OSD_OBJECT_IDENTIFICATION 0x06
953#define SCSI_SENSE_DESCRIPTOR_TYPE_OSD_RESPONSE_INTEGRITY_CHECK 0x07
954#define SCSI_SENSE_DESCRIPTOR_TYPE_OSD_ATTRIBUTE_IDENTIFICATION 0x08
955#define SCSI_SENSE_DESCRIPTOR_TYPE_ATA_STATUS_RETURN 0x09
956#define SCSI_SENSE_DESCRIPTOR_TYPE_PROGRESS_INDICATION 0x0A
957#define SCSI_SENSE_DESCRIPTOR_TYPE_USER_DATA_SEGMENT_REFERRAL 0x0B
960#define SCSI_ILLEGAL_LENGTH 0x20
962#define SCSI_FILE_MARK 0x80
965#define SCSI_ADSENSE_NO_SENSE 0x00
966#define SCSI_ADSENSE_NO_SEEK_COMPLETE 0x02
967#define SCSI_ADSENSE_WRITE 0x03
968#define SCSI_ADSENSE_LUN_NOT_READY 0x04
969#define SCSI_ADSENSE_LUN_COMMUNICATION 0x08
970#define SCSI_ADSENSE_SERVO_ERROR 0x09
971#define SCSI_ADSENSE_WARNING 0x0B
972#define SCSI_ADSENSE_WRITE_ERROR 0x0C
973#define SCSI_ADSENSE_COPY_TARGET_DEVICE_ERROR 0x0D
974#define SCSI_ADSENSE_UNRECOVERED_ERROR 0x11
975#define SCSI_ADSENSE_TRACK_ERROR 0x14
976#define SCSI_ADSENSE_SEEK_ERROR 0x15
977#define SCSI_ADSENSE_REC_DATA_NOECC 0x17
978#define SCSI_ADSENSE_REC_DATA_ECC 0x18
979#define SCSI_ADSENSE_DEFECT_LIST_ERROR 0x19
980#define SCSI_ADSENSE_PARAMETER_LIST_LENGTH 0x1A
981#define SCSI_ADSENSE_MISCOMPARE_DURING_VERIFY_OPERATION 0x1D
982#define SCSI_ADSENSE_ILLEGAL_COMMAND 0x20
983#define SCSI_ADSENSE_ACCESS_DENIED 0x20
984#define SCSI_ADSENSE_ILLEGAL_BLOCK 0x21
985#define SCSI_ADSENSE_INVALID_TOKEN 0x23
986#define SCSI_ADSENSE_INVALID_CDB 0x24
987#define SCSI_ADSENSE_INVALID_LUN 0x25
988#define SCSI_ADSENSE_INVALID_FIELD_PARAMETER_LIST 0x26
989#define SCSI_ADSENSE_WRITE_PROTECT 0x27
990#define SCSI_ADSENSE_MEDIUM_CHANGED 0x28
991#define SCSI_ADSENSE_BUS_RESET 0x29
992#define SCSI_ADSENSE_PARAMETERS_CHANGED 0x2A
993#define SCSI_ADSENSE_INSUFFICIENT_TIME_FOR_OPERATION 0x2E
994#define SCSI_ADSENSE_INVALID_MEDIA 0x30
995#define SCSI_ADSENSE_DEFECT_LIST 0x32
996#define SCSI_ADSENSE_LB_PROVISIONING 0x38
997#define SCSI_ADSENSE_NO_MEDIA_IN_DEVICE 0x3a
998#define SCSI_ADSENSE_POSITION_ERROR 0x3b
999#define SCSI_ADSENSE_LOGICAL_UNIT_ERROR 0x3e
1000#define SCSI_ADSENSE_OPERATING_CONDITIONS_CHANGED 0x3f
1001#define SCSI_ADSENSE_DATA_PATH_FAILURE 0x41
1002#define SCSI_ADSENSE_POWER_ON_SELF_TEST_FAILURE 0x42
1003#define SCSI_ADSENSE_INTERNAL_TARGET_FAILURE 0x44
1004#define SCSI_ADSENSE_DATA_TRANSFER_ERROR 0x4b
1005#define SCSI_ADSENSE_LUN_FAILED_SELF_CONFIGURATION 0x4c
1006#define SCSI_ADSENSE_RESOURCE_FAILURE 0x55
1007#define SCSI_ADSENSE_OPERATOR_REQUEST 0x5a
1008#define SCSI_ADSENSE_FAILURE_PREDICTION_THRESHOLD_EXCEEDED 0x5d
1009#define SCSI_ADSENSE_ILLEGAL_MODE_FOR_THIS_TRACK 0x64
1010#define SCSI_ADSENSE_COPY_PROTECTION_FAILURE 0x6f
1011#define SCSI_ADSENSE_POWER_CALIBRATION_ERROR 0x73
1012#define SCSI_ADSENSE_VENDOR_UNIQUE 0x80
1013#define SCSI_ADSENSE_MUSIC_AREA 0xA0
1014#define SCSI_ADSENSE_DATA_AREA 0xA1
1015#define SCSI_ADSENSE_VOLUME_OVERFLOW 0xA7
1017#define SCSI_ADWRITE_PROTECT SCSI_ADSENSE_WRITE_PROTECT
1018#define SCSI_FAILURE_PREDICTION_THRESHOLD_EXCEEDED SCSI_ADSENSE_FAILURE_PREDICTION_THRESHOLD_EXCEEDED
1024#define SCSI_SENSEQ_FILEMARK_DETECTED 0x01
1025#define SCSI_SENSEQ_END_OF_MEDIA_DETECTED 0x02
1026#define SCSI_SENSEQ_SETMARK_DETECTED 0x03
1027#define SCSI_SENSEQ_BEGINNING_OF_MEDIA_DETECTED 0x04
1028#define SCSI_SENSEQ_OPERATION_IS_IN_PROGRESS 0x16
1032#define SCSI_SENSEQ_PERIPHERAL_DEVICE_WRITE_FAULT 0x00
1033#define SCSI_SENSEQ_NO_WRITE_CURRENT 0x01
1034#define SCSI_SENSEQ_EXCESSIVE_WRITE_ERRORS 0x02
1038#define SCSI_SENSEQ_CAUSE_NOT_REPORTABLE 0x00
1039#define SCSI_SENSEQ_BECOMING_READY 0x01
1040#define SCSI_SENSEQ_INIT_COMMAND_REQUIRED 0x02
1041#define SCSI_SENSEQ_MANUAL_INTERVENTION_REQUIRED 0x03
1042#define SCSI_SENSEQ_FORMAT_IN_PROGRESS 0x04
1043#define SCSI_SENSEQ_REBUILD_IN_PROGRESS 0x05
1044#define SCSI_SENSEQ_RECALCULATION_IN_PROGRESS 0x06
1045#define SCSI_SENSEQ_OPERATION_IN_PROGRESS 0x07
1046#define SCSI_SENSEQ_LONG_WRITE_IN_PROGRESS 0x08
1047#define SCSI_SENSEQ_SPACE_ALLOC_IN_PROGRESS 0x14
1051#define SCSI_SENSEQ_COMM_FAILURE 0x00
1052#define SCSI_SENSEQ_COMM_TIMEOUT 0x01
1053#define SCSI_SENSEQ_COMM_PARITY_ERROR 0x02
1054#define SCSI_SESNEQ_COMM_CRC_ERROR 0x03
1055#define SCSI_SENSEQ_UNREACHABLE_TARGET 0x04
1059#define SCSI_SENSEQ_TRACK_FOLLOWING_ERROR 0x00
1060#define SCSI_SENSEQ_TRACKING_SERVO_FAILURE 0x01
1061#define SCSI_SENSEQ_FOCUS_SERVO_FAILURE 0x02
1062#define SCSI_SENSEQ_SPINDLE_SERVO_FAILURE 0x03
1063#define SCSI_SENSEQ_HEAD_SELECT_FAULT 0x04
1067#define SCSI_SENSEQ_POWER_LOSS_EXPECTED 0x08
1071#define SCSI_SENSEQ_LOSS_OF_STREAMING 0x09
1072#define SCSI_SENSEQ_PADDING_BLOCKS_ADDED 0x0A
1076#define SCSI_SENSEQ_NOT_REACHABLE 0x02
1077#define SCSI_SENSEQ_DATA_UNDERRUN 0x04
1081#define SCSI_SENSEQ_UNRECOVERED_READ_ERROR 0x00
1085#define SCSI_SENSEQ_RANDOM_POSITIONING_ERROR 0x00
1086#define SCSI_SENSEQ_MECHANICAL_POSITIONING_ERROR 0x01
1087#define SCSI_SENSEQ_POSITIONING_ERROR_DETECTED_BY_READ_OF_MEDIUM 0x02
1091#define SCSI_SENSEQ_DEFECT_LIST_ERROR 0x00
1092#define SCSI_SENSEQ_DEFECT_LIST_NOT_AVAILABLE 0x01
1093#define SCSI_SENSEQ_DEFECT_LIST_ERROR_IN_PRIMARY_LIST 0x02
1094#define SCSI_SENSEQ_DEFECT_LIST_ERROR_IN_GROWN_LIST 0x03
1098#define SCSI_SENSEQ_NO_ACCESS_RIGHTS 0x02
1102#define SCSI_SENSEQ_LOGICAL_ADDRESS_OUT_OF_RANGE 0x00
1103#define SCSI_SENSEQ_ILLEGAL_ELEMENT_ADDR 0x01
1104#define SCSI_SENSEQ_INVALID_WRITE_ADDRESS 0x02
1105#define SCSI_SENSEQ_INVALID_WRITE_CROSSING_LAYER_JUMP 0x03
1106#define SCSI_SENSEQ_UNALIGNED_WRITE 0x04
1107#define SCSI_SENSEQ_WRITE_BOUNDARY_VIOLATION 0x05
1108#define SCSI_SENSEQ_READ_INVALID_DATA 0x06
1109#define SCSI_SENSEQ_READ_BOUNDARY_VIOLATION 0x07
1110#define SCSI_SENSEQ_MISALIGNED_WRITE 0x08
1114#define SCSI_SENSEQ_INVALID_RELEASE_OF_PERSISTENT_RESERVATION 0x04
1115#define SCSI_SENSEQ_TOO_MANY_SEGMENT_DESCRIPTORS 0x08
1119#define SCSI_SENSEQ_SPACE_ALLOC_FAILED_WRITE_PROTECT 0x07
1123#define SCSI_SENSEQ_CAPACITY_DATA_CHANGED 0x09
1127#define SCSI_SENSEQ_DESTINATION_FULL 0x0d
1128#define SCSI_SENSEQ_SOURCE_EMPTY 0x0e
1132#define SCSI_SENSEQ_INCOMPATIBLE_MEDIA_INSTALLED 0x00
1133#define SCSI_SENSEQ_UNKNOWN_FORMAT 0x01
1134#define SCSI_SENSEQ_INCOMPATIBLE_FORMAT 0x02
1135#define SCSI_SENSEQ_CLEANING_CARTRIDGE_INSTALLED 0x03
1139#define SCSI_SENSEQ_NO_DEFECT_SPARE_LOCATION_AVAILABLE 0x00
1140#define SCSI_SENSEQ_DEFECT_LIST_UPDATE_FAILURE 0x01
1144#define SCSI_SENSEQ_SOFT_THRESHOLD_REACHED 0x07
1148#define SCSI_SENSEQ_LOGICAL_UNIT_HAS_NOT_SELF_CONFIGURED_YET 0x00
1149#define SCSI_SENSEQ_LOGICAL_UNIT_FAILURE 0x01
1150#define SCSI_SENSEQ_TIMEOUT_ON_LOGICAL_UNIT 0x02
1151#define SCSI_SENSEQ_LOGICAL_UNIT_FAILED_SELF_TEST 0x03
1152#define SCSI_SENSEQ_LOGICAL_UNIT_FAILED_TO_UPDATE_SELF_TEST_LOG 0x04
1156#define SCSI_SENSEQ_TARGET_OPERATING_CONDITIONS_CHANGED 0x00
1157#define SCSI_SENSEQ_MICROCODE_CHANGED 0x01
1158#define SCSI_SENSEQ_OPERATING_DEFINITION_CHANGED 0x02
1159#define SCSI_SENSEQ_INQUIRY_DATA_CHANGED 0x03
1160#define SCSI_SENSEQ_COMPONENT_DEVICE_ATTACHED 0x04
1161#define SCSI_SENSEQ_DEVICE_IDENTIFIER_CHANGED 0x05
1162#define SCSI_SENSEQ_REDUNDANCY_GROUP_MODIFIED 0x06
1163#define SCSI_SENSEQ_REDUNDANCY_GROUP_DELETED 0x07
1164#define SCSI_SENSEQ_SPARE_MODIFIED 0x08
1165#define SCSI_SENSEQ_SPARE_DELETED 0x09
1166#define SCSI_SENSEQ_VOLUME_SET_MODIFIED 0x0A
1167#define SCSI_SENSEQ_VOLUME_SET_DELETED 0x0B
1168#define SCSI_SENSEQ_VOLUME_SET_DEASSIGNED 0x0C
1169#define SCSI_SENSEQ_VOLUME_SET_REASSIGNED 0x0D
1170#define SCSI_SENSEQ_REPORTED_LUNS_DATA_CHANGED 0x0E
1171#define SCSI_SENSEQ_ECHO_BUFFER_OVERWRITTEN 0x0F
1172#define SCSI_SENSEQ_MEDIUM_LOADABLE 0x10
1173#define SCSI_SENSEQ_MEDIUM_AUXILIARY_MEMORY_ACCESSIBLE 0x11
1177#define SCSI_SENSEQ_INTERNAL_TARGET_FAILURE 0x00
1178#define SCSI_SENSEQ_PRESISTENT_RESERVATION_INFORMATION_LOST 0x01
1179#define SCSI_SENSEQ_ATA_DEVICE_FAILED_SET_FEATURES 0x71
1183#define SCSI_SENSEQ_INITIATOR_RESPONSE_TIMEOUT 0x06
1187#define SCSI_SENSEQ_SYSTEM_RESOURCE_FAILURE 0x00
1188#define SCSI_SENSEQ_SYSTEM_BUFFER_FULL 0x01
1189#define SCSI_SENSEQ_INSUFFICIENT_RESERVATION_RESOURCES 0x02
1190#define SCSI_SENSEQ_INSUFFICIENT_RESOURCES 0x03
1194#define SCSI_SENSEQ_STATE_CHANGE_INPUT 0x00
1195#define SCSI_SENSEQ_MEDIUM_REMOVAL 0x01
1196#define SCSI_SENSEQ_WRITE_PROTECT_ENABLE 0x02
1197#define SCSI_SENSEQ_WRITE_PROTECT_DISABLE 0x03
1201#define SCSI_SENSEQ_FAILURE_PREDICTION_THRESHOLD_EXCEEDED 0x00
1202#define SCSI_SENSEQ_MEDIA_FAILURE_PREDICTION_THRESHOLD_EXCEEDED 0x01
1203#define SCSI_SENSEQ_LUN_FAILURE_PREDICTION_THRESHOLD_EXCEEDED 0x02
1204#define SCSI_SENSEQ_SPARE_AREA_EXHAUSTION_PREDICTION_THRESHOLD_EXCEEDED 0x03
1205#define SCSI_SENSEQ_GENERAL_HARD_DRIVE_FAILURE 0x10
1206#define SCSI_SENSEQ_DRIVE_ERROR_RATE_TOO_HIGH 0x11
1207#define SCSI_SENSEQ_DATA_ERROR_RATE_TOO_HIGH 0x12
1208#define SCSI_SENSEQ_SEEK_ERROR_RATE_TOO_HIGH 0x13
1209#define SCSI_SENSEQ_TOO_MANY_BLOCK_REASSIGNS 0x14
1210#define SCSI_SENSEQ_ACCESS_TIMES_TOO_HIGH 0x15
1211#define SCSI_SENSEQ_START_UNIT_TIMES_TOO_HIGH 0x16
1212#define SCSI_SENSEQ_CHANNEL_PARAMETRICS 0x17
1213#define SCSI_SENSEQ_CONTROLLER_DETECTED 0x18
1214#define SCSI_SENSEQ_THROUGHPUT_PERFORMANCE 0x19
1215#define SCSI_SENSEQ_SEEK_TIME_PERFORMANCE 0x1A
1216#define SCSI_SENSEQ_SPIN_UP_RETRY_COUNT 0x1B
1217#define SCSI_SENSEQ_DRIVE_CALIBRATION_RETRY_COUNT 0x1C
1218#define SCSI_SENSEQ_DATA_CHANNEL_DATA_ERROR_RATE_TOO_HIGH 0x32
1219#define SCSI_SENSEQ_SERVO_DATA_ERROR_RATE_TOO_HIGH 0x42
1220#define SCSI_SENSEQ_SERVER_SEEK_ERROR_RATE_TOO_HIGH 0x43
1221#define SCSI_SENSEQ_FAILURE_PREDICTION_THRESHOLD_EXCEEDED_FALSE 0xFF
1225#define SCSI_SENSEQ_AUTHENTICATION_FAILURE 0x00
1226#define SCSI_SENSEQ_KEY_NOT_PRESENT 0x01
1227#define SCSI_SENSEQ_KEY_NOT_ESTABLISHED 0x02
1228#define SCSI_SENSEQ_READ_OF_SCRAMBLED_SECTOR_WITHOUT_AUTHENTICATION 0x03
1229#define SCSI_SENSEQ_MEDIA_CODE_MISMATCHED_TO_LOGICAL_UNIT 0x04
1230#define SCSI_SENSEQ_LOGICAL_UNIT_RESET_COUNT_ERROR 0x05
1234#define SCSI_SENSEQ_POWER_CALIBRATION_AREA_ALMOST_FULL 0x01
1235#define SCSI_SENSEQ_POWER_CALIBRATION_AREA_FULL 0x02
1236#define SCSI_SENSEQ_POWER_CALIBRATION_AREA_ERROR 0x03
1237#define SCSI_SENSEQ_PMA_RMA_UPDATE_FAILURE 0x04
1238#define SCSI_SENSEQ_PMA_RMA_IS_FULL 0x05
1239#define SCSI_SENSEQ_PMA_RMA_ALMOST_FULL 0x06
1242#define IOCTL_SCSI_MINIPORT_SMART_VERSION ((FILE_DEVICE_SCSI << 16) + 0x0500)
1243#define IOCTL_SCSI_MINIPORT_IDENTIFY ((FILE_DEVICE_SCSI << 16) + 0x0501)
1244#define IOCTL_SCSI_MINIPORT_READ_SMART_ATTRIBS ((FILE_DEVICE_SCSI << 16) + 0x0502)
1245#define IOCTL_SCSI_MINIPORT_READ_SMART_THRESHOLDS ((FILE_DEVICE_SCSI << 16) + 0x0503)
1246#define IOCTL_SCSI_MINIPORT_ENABLE_SMART ((FILE_DEVICE_SCSI << 16) + 0x0504)
1247#define IOCTL_SCSI_MINIPORT_DISABLE_SMART ((FILE_DEVICE_SCSI << 16) + 0x0505)
1248#define IOCTL_SCSI_MINIPORT_RETURN_STATUS ((FILE_DEVICE_SCSI << 16) + 0x0506)
1249#define IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTOSAVE ((FILE_DEVICE_SCSI << 16) + 0x0507)
1250#define IOCTL_SCSI_MINIPORT_SAVE_ATTRIBUTE_VALUES ((FILE_DEVICE_SCSI << 16) + 0x0508)
1251#define IOCTL_SCSI_MINIPORT_EXECUTE_OFFLINE_DIAGS ((FILE_DEVICE_SCSI << 16) + 0x0509)
1252#define IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTO_OFFLINE ((FILE_DEVICE_SCSI << 16) + 0x050a)
1253#define IOCTL_SCSI_MINIPORT_READ_SMART_LOG ((FILE_DEVICE_SCSI << 16) + 0x050b)
1254#define IOCTL_SCSI_MINIPORT_WRITE_SMART_LOG ((FILE_DEVICE_SCSI << 16) + 0x050c)
1257#define IOCTL_SCSI_MINIPORT_NOT_QUORUM_CAPABLE ((FILE_DEVICE_SCSI << 16) + 0x0520)
1258#define IOCTL_SCSI_MINIPORT_NOT_CLUSTER_CAPABLE ((FILE_DEVICE_SCSI << 16) + 0x0521)
1260#define MODE_FD_SINGLE_SIDE 0x01
1261#define MODE_FD_DOUBLE_SIDE 0x02
1262#define MODE_FD_MAXIMUM_TYPE 0x1E
1263#define MODE_DSP_FUA_SUPPORTED 0x10
1264#define MODE_DSP_WRITE_PROTECT 0x80
1266#define CDDA_CHANNEL_MUTED 0x0
1267#define CDDA_CHANNEL_ZERO 0x1
1268#define CDDA_CHANNEL_ONE 0x2
1269#define CDDA_CHANNEL_TWO 0x4
1270#define CDDA_CHANNEL_THREE 0x8
1272#define CDVD_LMT_CADDY 0
1273#define CDVD_LMT_TRAY 1
1274#define CDVD_LMT_POPUP 2
1275#define CDVD_LMT_RESERVED1 3
1276#define CDVD_LMT_CHANGER_INDIVIDUAL 4
1277#define CDVD_LMT_CHANGER_CARTRIDGE 5
1278#define CDVD_LMT_RESERVED2 6
1279#define CDVD_LMT_RESERVED3 7
1281#define LOADING_MECHANISM_CADDY 0x00
1282#define LOADING_MECHANISM_TRAY 0x01
1283#define LOADING_MECHANISM_POPUP 0x02
1284#define LOADING_MECHANISM_INDIVIDUAL_CHANGER 0x04
1285#define LOADING_MECHANISM_CARTRIDGE_CHANGER 0x05
1287#define MODE_BLOCK_DESC_LENGTH 8
1288#define MODE_HEADER_LENGTH 4
1289#define MODE_HEADER_LENGTH10 8
1292#define CDB_AUDIO_PAUSE 0x00
1293#define CDB_AUDIO_RESUME 0x01
1294#define CDB_DEVICE_START 0x11
1295#define CDB_DEVICE_STOP 0x10
1296#define CDB_EJECT_MEDIA 0x10
1297#define CDB_LOAD_MEDIA 0x01
1298#define CDB_SUBCHANNEL_HEADER 0x00
1299#define CDB_SUBCHANNEL_BLOCK 0x01
1301#define CDROM_AUDIO_CONTROL_PAGE 0x0E
1302#define MODE_SELECT_IMMEDIATE 0x04
1303#define MODE_SELECT_PFBIT 0x10
1305#define CDB_USE_MSF 0x01
1308#define GET_LAST_SESSION 0x01
1309#define GET_SESSION_DATA 0x02
1311#define VPD_MAX_BUFFER_SIZE 0xff
1313#define VPD_ATA_INFORMATION 0x89
1315#define VPD_THIRD_PARTY_COPY 0x8F
1316#define VPD_BLOCK_LIMITS 0xB0
1317#define VPD_BLOCK_DEVICE_CHARACTERISTICS 0xB1
1318#define VPD_LOGICAL_BLOCK_PROVISIONING 0xB2
1319#define VPD_ZONED_BLOCK_DEVICE_CHARACTERISTICS 0xB6
1321#define BLOCK_DEVICE_TOKEN_LIMITS_DESCRIPTOR_TYPE_WINDOWS 0x00
1323#define ZONED_CAPABILITIES_NOT_REPORTED 0x0
1324#define ZONED_CAPABILITIES_HOST_AWARE 0x1
1325#define ZONED_CAPABILITIES_DEVICE_MANAGED 0x2
1327#define PROVISIONING_TYPE_UNKNOWN 0x0
1328#define PROVISIONING_TYPE_RESOURCE 0x1
1329#define PROVISIONING_TYPE_THIN 0x2
1331#define RC_BASIS_LAST_LBA_NOT_SEQUENTIAL_WRITE_REQUIRED_ZONES 0x0
1332#define RC_BASIS_LAST_LBA_ON_LOGICAL_UNIT 0x1
1334#define LBA_STATUS_MAPPED 0x0
1335#define LBA_STATUS_DEALLOCATED 0x1
1336#define LBA_STATUS_ANCHORED 0x2
1338#define LOG_PAGE_CODE_SUPPORTED_LOG_PAGES 0x00
1339#define LOG_PAGE_CODE_WRITE_ERROR_COUNTERS 0x02
1340#define LOG_PAGE_CODE_READ_ERROR_COUNTERS 0x03
1341#define LOG_PAGE_CODE_LOGICAL_BLOCK_PROVISIONING 0x0C
1342#define LOG_PAGE_CODE_TEMPERATURE 0x0D
1343#define LOG_PAGE_CODE_STARTSTOP_CYCLE_COUNTERS 0x0E
1344#define LOG_PAGE_CODE_SELFTEST_RESULTS 0x10
1345#define LOG_PAGE_CODE_SOLID_STATE_MEDIA 0x11
1346#define LOG_PAGE_CODE_BACKGROUND_SCAN_RESULTS 0x15
1347#define LOG_PAGE_CODE_INFORMATIONAL_EXCEPTIONS 0x2F
1349#define LOG_PAGE_LBP_PARAMETER_CODE_AVAILABLE 0x1
1350#define LOG_PAGE_LBP_PARAMETER_CODE_USED 0x2
1352#define LOG_PAGE_LBP_RESOURCE_SCOPE_NOT_REPORTED 0x0
1353#define LOG_PAGE_LBP_RESOURCE_SCOPE_DEDICATED_TO_LUN 0x1
1354#define LOG_PAGE_LBP_RESOURCE_SCOPE_NOT_DEDICATED_TO_LUN 0x2
1356#define REVERSE_SHORT(Short) { \
1358 PTWO_BYTE _val2 = (PTWO_BYTE)(Short); \
1359 _val = _val2->Byte0; \
1360 _val2->Byte0 = _val2->Byte1; \
1361 _val2->Byte1 = _val; \
1364#define REVERSE_LONG(Long) { \
1366 PFOUR_BYTE _val2 = (PFOUR_BYTE)(Long); \
1367 _val = _val2->Byte3; \
1368 _val2->Byte3 = _val2->Byte0; \
1369 _val2->Byte0 = _val; \
1370 _val = _val2->Byte2; \
1371 _val2->Byte2 = _val2->Byte1; \
1372 _val2->Byte1 = _val; \
1375#define WHICH_BIT(Data, Bit) { \
1377 for (_val = 0; _val < 32; _val++) { \
1378 if (((Data) >> _val) == 1) { \
1382 ASSERT(_val != 32); \
1386#define BLOCK_DEVICE_TOKEN_SIZE 512
1388#define ScsiGetSenseErrorCode(SenseInfoBuffer) (((PUCHAR)(SenseInfoBuffer))[0] & 0x7f)
1390#define ScsiGetSenseDescriptorLength(DescriptorBuffer) \
1391 (sizeof(SCSI_SENSE_DESCRIPTOR_HEADER) + ((PSCSI_SENSE_DESCRIPTOR_HEADER)(DescriptorBuffer))->AdditionalLength)
1393#define IsFixedSenseDataFormat(SenseInfoBuffer) \
1394 ((ScsiGetSenseErrorCode(SenseInfoBuffer)) == SCSI_SENSE_ERRORCODE_FIXED_CURRENT || \
1395 (ScsiGetSenseErrorCode(SenseInfoBuffer)) == SCSI_SENSE_ERRORCODE_FIXED_DEFERRED)
1397#define IsDescriptorSenseDataFormat(SenseInfoBuffer) \
1398 ((ScsiGetSenseErrorCode(SenseInfoBuffer)) == SCSI_SENSE_ERRORCODE_DESCRIPTOR_CURRENT || \
1399 (ScsiGetSenseErrorCode(SenseInfoBuffer)) == SCSI_SENSE_ERRORCODE_DESCRIPTOR_DEFERRED)
1401#define IsSenseDataCurrentError(SenseInfoBuffer) \
1402 ((ScsiGetSenseErrorCode(SenseInfoBuffer)) == SCSI_SENSE_ERRORCODE_FIXED_CURRENT || \
1403 (ScsiGetSenseErrorCode(SenseInfoBuffer)) == SCSI_SENSE_ERRORCODE_DESCRIPTOR_CURRENT)
1405#define IsSenseDataDeferredError(SenseInfoBuffer) \
1406 ((ScsiGetSenseErrorCode(SenseInfoBuffer)) == SCSI_SENSE_ERRORCODE_FIXED_DEFERRED || \
1407 (ScsiGetSenseErrorCode(SenseInfoBuffer)) == SCSI_SENSE_ERRORCODE_DESCRIPTOR_DEFERRED)
1409#define IsSenseDataFormatValueValid(SenseInfoBuffer) \
1410 (IsFixedSenseDataFormat(SenseInfoBuffer) || IsDescriptorSenseDataFormat(SenseInfoBuffer))
1412#define SCSI_SENSE_OPTIONS_NONE ((SCSI_SENSE_OPTIONS)0x00000000)
1413#define SCSI_SENSE_OPTIONS_FIXED_FORMAT_IF_UNKNOWN_FORMAT_INDICATED ((SCSI_SENSE_OPTIONS)0x00000001)
1446#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
1564#if (NTDDI_VERSION >= NTDDI_WIN8)
1715#if (NTDDI_VERSION >= NTDDI_WIN7)
1726#if (NTDDI_VERSION >= NTDDI_WIN8)
1867#define SCSI_REQUEST_BLOCK_SIZE sizeof(SCSI_REQUEST_BLOCK)
1890#if (NTDDI_VERSION >= NTDDI_WS03SP1) && defined(_WIN64)
1961#if (NTDDI_VERSION >= NTDDI_WIN8)
1990#define SRB_ALIGN DECLSPEC_ALIGN(8)
1991#define STOR_ADDRESS_ALIGN DECLSPEC_ALIGN(8)
1992#define POINTER_ALIGN DECLSPEC_ALIGN(8)
1995#define STOR_ADDRESS_ALIGN
1996#define POINTER_ALIGN
1999#define STOR_ADDRESS_TYPE_UNKNOWN 0x0
2000#define STOR_ADDRESS_TYPE_BTL8 0x1
2001#define STOR_ADDRESS_TYPE_MAX 0xffff
2007 ULONG AddressLength;
2011#define STOR_ADDR_BTL8_ADDRESS_LENGTH 4
2019 ULONG AddressLength;
2053#define SRBEX_DATA_BIDIRECTIONAL_LENGTH ((2 * sizeof(ULONG)) + sizeof(PVOID))
2061 ULONG DataInTransferLength;
2067#define SRBEX_DATA_SCSI_CDB16_LENGTH ((20 * sizeof(UCHAR)) + sizeof(ULONG) + sizeof(PVOID))
2085#define SRBEX_DATA_SCSI_CDB32_LENGTH ((36 * sizeof(UCHAR)) + sizeof(ULONG) + sizeof(PVOID))
2103#define SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MIN ((4 * sizeof(UCHAR)) + (3 * sizeof(ULONG)) + sizeof(PVOID))
2104#define SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MAX 0xffffffffUL
2123#define SRBEX_DATA_WMI_LENGTH ((4 * sizeof(UCHAR)) + sizeof(ULONG) + sizeof(PVOID))
2131 UCHAR WMISubFunction;
2138#define SRBEX_DATA_POWER_LENGTH ((4 * sizeof(UCHAR)) + sizeof(STOR_DEVICE_POWER_STATE) + sizeof(STOR_POWER_ACTION))
2146 UCHAR SrbPowerFlags;
2152#define SRBEX_DATA_PNP_LENGTH ((4 * sizeof(UCHAR)) + sizeof(STOR_PNP_ACTION) + (2 * sizeof(ULONG)))
2160 UCHAR PnPSubFunction;
2167#define SRBEX_DATA_IO_INFO_LENGTH ((5 * sizeof(ULONG)) + (4 * sizeof(UCHAR)))
2170#define REQUEST_INFO_NO_CACHE_FLAG 0x00000001
2171#define REQUEST_INFO_PAGING_IO_FLAG 0x00000002
2172#define REQUEST_INFO_SEQUENTIAL_IO_FLAG 0x00000004
2173#define REQUEST_INFO_TEMPORARY_FLAG 0x00000008
2174#define REQUEST_INFO_WRITE_THROUGH_FLAG 0x00000010
2175#define REQUEST_INFO_HYBRID_WRITE_THROUGH_FLAG 0x00000020
2176#define REQUEST_INFO_NO_FILE_OBJECT_FLAG 0x00000040
2177#define REQUEST_INFO_VOLSNAP_IO_FLAG 0x00000080
2178#define REQUEST_INFO_STREAM_FLAG 0x00000100
2179#define REQUEST_INFO_CRYPTO_FLAG 0x00000200
2180#define REQUEST_INFO_VALID_CACHEPRIORITY_FLAG 0x80000000
2192 UCHAR CachePriority;
2193#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
2203#define SRB_SIGNATURE 0x53524258
2204#define STORAGE_REQUEST_BLOCK_VERSION_1 0x1
2224 UCHAR ReservedUchar[4];
2232 ULONG ReservedUlong;
2237#if (NTDDI_VERSION >= NTDDI_WIN10_CU)
2241 ULONG RequestTagHigh4Bytes;
2248 ULONG AddressOffset;
2250 ULONG DataTransferLength;
2265#define SRB_TYPE_SCSI_REQUEST_BLOCK 0
2266#define SRB_TYPE_STORAGE_REQUEST_BLOCK 1
2267#define SRB_TYPE_NVME_REQUEST_BLOCK 2
2270#define STORAGE_ADDRESS_TYPE_BTL8 0
2273#define SRB_TYPE_FLAG_SCSI_REQUEST_BLOCK 0x1
2274#define SRB_TYPE_FLAG_STORAGE_REQUEST_BLOCK 0x2
2277#define ADDRESS_TYPE_FLAG_BTL8 0x1
2280#define STOR_FEATURE_VIRTUAL_MINIPORT 0x00000001
2281#define STOR_FEATURE_ATA_PASS_THROUGH 0x00000002
2282#define STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES 0x00000004
2283#define STOR_FEATURE_DUMP_POINTERS 0x00000008
2284#define STOR_FEATURE_DEVICE_NAME_NO_SUFFIX 0x00000010
2285#define STOR_FEATURE_DUMP_RESUME_CAPABLE 0x00000020
2286#define STOR_FEATURE_DEVICE_DESCRIPTOR_FROM_ATA_INFO_VPD 0x00000040
2287#define STOR_FEATURE_EXTRA_IO_INFORMATION 0x00000080
2288#define STOR_FEATURE_ADAPTER_CONTROL_PRE_FINDADAPTER 0x00000100
2289#define STOR_FEATURE_ADAPTER_NOT_REQUIRE_IO_PORT 0x00000200
2290#define STOR_FEATURE_DUMP_16_BYTE_ALIGNMENT 0x00000400
2291#define STOR_FEATURE_SET_ADAPTER_INTERFACE_TYPE 0x00000800
2292#define STOR_FEATURE_DUMP_INFO 0x00001000
2293#define STOR_FEATURE_DMA_ALLOCATION_NO_BOUNDARY 0x00002000
2294#define STOR_FEATURE_REPORT_INTERNAL_DATA 0x00008000
2295#define STOR_FEATURE_EARLY_DUMP 0x00010000
2299#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
2305#define STOR_ADDRESS_TYPE_NVME 0x2
2306#define STOR_ADDR_NVME_ADDRESS_LENGTH 16
2314 ULONG AddressLength;
2320#define SRBEX_DATA_MINIPORT_PASSTHROUGH_LENGTH (4 * sizeof(ULONG))
2335#define SRBEX_DATA_NVME_COMMAND_LENGTH \
2336 ((4 * sizeof(ULONGLONG)) + (14 * sizeof(ULONG)) + (5 * sizeof(USHORT)) + (2 * sizeof(UCHAR)))
2454#define STOR_NVMEOF_OPERATION_V1 0x0001
2455#define SRBEX_DATA_NVMEOF_OPERATION_LENGTH ((2 * sizeof(USHORT)) + (2 * sizeof(ULONG)))
2473#include <pshpack1.h>
2488 struct _CDB6READWRITE
2508 struct _CDB6INQUIRY3
2582 struct _PAUSE_RESUME
2606 struct _READ_DISK_INFORMATION
2615 struct _READ_TRACK_INFORMATION
2627 struct _RESERVE_TRACK_RZONE
2634 struct _SEND_OPC_INFORMATION
2646 struct _REPAIR_TRACK
2669 struct _READ_BUFFER_CAPACITY
2678 struct _SEND_CUE_SHEET
2707 struct _PLAY_AUDIO_MSF
2743 UCHAR StartingBlockAddress[4];
2744 UCHAR PlayLength[4];
2780 struct _STOP_PLAY_SCAN
2848 struct _PLXTR_READ_CDDA
2864 struct _NEC_READ_CDDA
2914 struct _MODE_SELECT10
3006 struct _MEDIA_REMOVAL
3028 struct _REQUEST_BLOCK_ADDRESS
3047 struct _WRITE_TAPE_MARKS
3057 struct _SPACE_TAPE_MARKS
3078 struct _READ_POSITION
3087 struct _CDB6READWRITETAPE
3100 struct _INIT_ELEMENT_STATUS
3109 struct _INITIALIZE_ELEMENT_RANGE
3122 struct _POSITION_TO_ELEMENT
3147 struct _EXCHANGE_MEDIUM
3161 struct _READ_ELEMENT_STATUS
3174 struct _SEND_VOLUME_TAG
3189 struct _REQUEST_VOLUME_ELEMENT_ADDRESS
3226 struct _SYNCHRONIZE_CACHE10
3238 struct _GET_EVENT_STATUS_NOTIFICATION
3250 struct _GET_PERFORMANCE
3263 struct _READ_DVD_STRUCTURE
3276 struct _SET_STREAMING
3283 struct _SEND_DVD_STRUCTURE
3317 struct _SET_READ_AHEAD
3327 struct _READ_FORMATTED_CAPACITIES
3344 struct _PERSISTENT_RESERVE_IN
3353 struct _PERSISTENT_RESERVE_OUT
3364 struct _GET_CONFIGURATION
3374 struct _SET_CD_SPEED
3461 struct _SYNCHRONIZE_CACHE16
3472 struct _READ_CAPACITY16
3526#if (NTDDI_VERSION < NTDDI_WINXP)
3537 UCHAR ReservedBit:1;
3556#include <pshpack1.h>
4074 union _EXTENDED_ARGUMENTS
4816#define ZONE_TYPE_CONVENTIONAL 0x1
4817#define ZONE_TYPE_SEQUENTIAL_WRITE_REQUIRED 0x2
4818#define ZONE_TYPE_SEQUENTIAL_WRITE_PREFERRED 0x3
4821#define ZONE_CONDITION_NOT_WRITE_POINTER 0x0
4822#define ZONE_CONDITION_EMPTY 0x1
4823#define ZONE_CONDITION_IMPLICITLY_OPENED 0x2
4824#define ZONE_CONDITION_EXPLICITLY_OPENED 0x3
4825#define ZONE_CONDITION_CLOSED 0x4
4826#define ZONE_CONDITION_READ_ONLY 0xD
4827#define ZONE_CONDITION_FULL 0xE
4828#define ZONE_CONDITION_OFFLINE 0xF
4831#define PHYSICAL_ELEMENT_TYPE_STORAGE_ELEMENT 0x01
4834#define PHYSICAL_ELEMENT_HEALTH_NOT_REPORTED 0x00
4835#define PHYSICAL_ELEMENT_HEALTH_MANUFACTURER_SPECIFICATION_LIMIT 0x64
4836#define PHYSICAL_ELEMENT_HEALTH_RESERVED_LOWER_BOUNDARY 0xD0
4837#define PHYSICAL_ELEMENT_HEALTH_RESERVED_UPPER_BOUNDARY 0xFC
4838#define PHYSICAL_ELEMENT_HEALTH_DEPOPULATION_COMPLETED_WITH_ERROR 0xFD
4839#define PHYSICAL_ELEMENT_HEALTH_DEPOPULATION_IN_PROGRESS 0xFE
4840#define PHYSICAL_ELEMENT_HEALTH_DEPOPULATION_COMPLETED_SUCCESS 0xFF
4843#define BUFFER_ID_RETURN_ERROR_HISTORY_DIRECTORY 0x0
4844#define BUFFER_ID_RETURN_ERROR_HISTORY_DIRECTORY_CREATE_NEW_ERROR_HISTORY_SNAPSHOT 0x1
4845#define BUFFER_ID_RETURN_ERROR_HISTORY_DIRECTORY_ESTABLISH_NEW_NEXUS 0x2
4846#define BUFFER_ID_RETURN_ERROR_HISTORY_DIRECTORY_ESTABLISH_NEW_NEXUS_AND_SNAPSHOT 0x3
4847#define BUFFER_ID_RETURN_ERROR_HISTORY_MINIMUM_THRESHOLD 0x10
4848#define BUFFER_ID_RETURN_ERROR_HISTORY_MAXIMUM_THRESHOLD 0xEF
4849#define BUFFER_ID_CLEAR_ERROR_HISTORY_NEXUS 0xFE
4850#define BUFFER_ID_CLEAR_ERROR_HISTORY_AND_RELEASE_ANY_SNAPSHOT 0xFF
4853#define ERROR_HISTORY_SOURCE_CREATED_BY_DEVICE_SERVER 0x0
4854#define ERROR_HISTORY_SOURCE_CREATED_DUE_TO_CURRENT_READ_BUFFER_COMMAND 0x1
4855#define ERROR_HISTORY_SOURCE_CREATED_DUE_TO_PREVIOUS_READ_BUFFER_COMMAND 0x2
4856#define ERROR_HISTORY_SOURCE_INDICATED_IN_BUFFER_SOURCE_FIELD 0x3
4859#define ERROR_HISTORY_RETRIEVED_NO_INFORMATION 0x0
4860#define ERROR_HISTORY_RETRIEVED_BUFFER_ID_FE_OR_FF 0x1
4861#define ERROR_HISTORY_RETRIEVED_NOT_BUFFER_ID_FE_OR_FF 0x2
4862#define ERROR_HISTORY_RETRIEVED_RESERVED 0x3
5203 UCHAR NominalCommandProcessingTimeoutInSec[4];
5204 UCHAR RecommendedCommandTimeoutInSec[4];
5240#include <pshpack1.h>
5286 struct _THRESHOLD_RESOURCE_COUNT
5298 struct _DATE_OF_MANUFACTURE
5303 struct _SELF_TEST_RESULTS
5305 UCHAR SelfTestResults : 4;
5307 UCHAR SelfTestCode : 3;
5308 UCHAR SelfTestNumber;
5309 UCHAR PowerOnHours[2];
5310 UCHAR AddressOfFirstFailure[8];
5315 UCHAR VendorSpecific;
5318 struct _SOLID_STATE_MEDIA
5321 UCHAR PercentageUsed;
5324 struct _BACKGROUND_SCAN_STATUS
5326 UCHAR PowerOnMinutes[4];
5329 UCHAR ScansPerformed[2];
5330 UCHAR ScanProgress[2];
5331 UCHAR MediumScansPerformed[2];
5334 struct _INFORMATIONAL_EXCEPTIONS
5338 UCHAR MostRecentTemperature;
5451#include <pshpack1.h>
5455 UCHAR LogicalBlockAddress[8];
5456 UCHAR TransferLength[4];
5462 UCHAR PopulateTokenDataLength[2];
5466 UCHAR InactivityTimeout[4];
5468 UCHAR BlockDeviceRangeDescriptorListLength[2];
5476 UCHAR WriteUsingTokenDataLength[2];
5480 UCHAR BlockOffsetIntoToken[8];
5483 UCHAR BlockDeviceRangeDescriptorListLength[2];
5491 UCHAR AvailableData[4];
5492 UCHAR ResponseToServiceAction:5;
5496 UCHAR OperationCounter[2];
5497 UCHAR EstimatedStatusUpdateDelay[4];
5498 UCHAR CompletionStatus;
5499 UCHAR SenseDataFieldLength;
5500 UCHAR SenseDataLength;
5501 UCHAR TransferCountUnits;
5502 UCHAR TransferCount[8];
5503 UCHAR SegmentsProcessed[2];
5512 UCHAR TokenDescriptorsLength[4];
5587#if (NTDDI_VERSION >= NTDDI_WIN8)
5611#if (NTDDI_VERSION >= NTDDI_WIN8)
5638#if (NTDDI_VERSION >= NTDDI_WIN8)
5640#if (NTDDI_VERSION >= NTDDI_WIN10_VB)
5647#if (NTDDI_VERSION >= NTDDI_WIN8)
5657#define STOR_ADAPTER_FEATURE_DEVICE_TELEMETRY 0x00000001
5658#define STOR_ADAPTER_FEATURE_STOP_UNIT_DURING_POWER_DOWN 0x00000002
5659#define STOR_ADAPTER_UNCACHED_EXTENSION_NUMA_NODE_PREFERRED 0x00000004
5660#define STOR_ADAPTER_DMA_V3_PREFERRED 0x00000008
5661#define STOR_ADAPTER_FEATURE_ABORT_COMMAND 0x00000010
5662#define STOR_ADAPTER_FEATURE_RICH_TEMPERATURE_THRESHOLD 0x00000020
5663#define STOR_ADAPTER_DMA_ADDRESS_WIDTH_SPECIFIED 0x00000040
5666#define DUMP_MODE_CRASH 0x01
5667#define DUMP_MODE_HIBER 0x02
5668#define DUMP_MODE_MARK_MEMORY 0x03
5669#define DUMP_MODE_RESUME 0x04
5741#define STOR_PERF_DPC_REDIRECTION 0x00000001
5742#define STOR_PERF_CONCURRENT_CHANNELS 0x00000002
5743#define STOR_PERF_INTERRUPT_MESSAGE_RANGES 0x00000004
5744#define STOR_PERF_ADV_CONFIG_LOCALITY 0x00000008
5745#define STOR_PERF_OPTIMIZE_FOR_COMPLETION_DURING_STARTIO 0x00000010
5746#define STOR_PERF_DPC_REDIRECTION_CURRENT_CPU 0x00000020
5747#define STOR_PERF_NO_SGL 0x00000040
5748#define STOR_PERF_SOFT_NUMA 0x00000080
5749#define STOR_PERF_HETEROGENEOUS_CPU 0x00000100
5751#define STOR_PERF_VERSION_2 0x00000002
5752#define STOR_PERF_VERSION_3 0x00000003
5753#define STOR_PERF_VERSION_4 0x00000004
5754#define STOR_PERF_VERSION_5 0x00000005
5755#define STOR_PERF_VERSION_6 0x00000006
5756#define STOR_PERF_VERSION_7 0x00000007
5757#define STOR_PERF_VERSION_8 0x00000008
5759#define STOR_PERF_VERSION STOR_PERF_VERSION_8
5792#if (NTDDI_VERSION >= NTDDI_WIN8)
5812#define STOR_REQUEST_INFO_VER_1 1
5813#define STOR_REQUEST_INFO_VER_2 2
5814#define STOR_REQUEST_INFO_VER STOR_REQUEST_INFO_VER_2
5869#define STORPORT_ETW_EVENT_KEYWORD_IO 0x0000000000000001
5870#define STORPORT_ETW_EVENT_KEYWORD_PERFORMANCE 0x0000000000000002
5871#define STORPORT_ETW_EVENT_KEYWORD_POWER 0x0000000000000004
5872#define STORPORT_ETW_EVENT_KEYWORD_ENUMERATION 0x0000000000000008
5897#define STORPORT_ETW_MAX_DESCRIPTION_LENGTH 32
5898#define STORPORT_ETW_MAX_PARAM_NAME_LENGTH 16
5992#define STOR_SYSTEM_POWER_HINTS_V1 0x1
6004#define STOR_FILTER_RESOURCE_REQUIREMENTS_V1 0x1
6039#define STOR_SERIAL_NUMBER_MAX_SIZE (128 * sizeof(WCHAR))
6069#define STOR_VENDOR_ID_LENGTH 16
6070#define STOR_MODEL_NUMBER_LENGTH 64
6071#define STOR_FIRMWARE_REVISION_LENGTH 16
6073#define STOR_RICH_DEVICE_DESCRIPTION_STRUCTURE_VERSION 0x1
6085#define STOR_RICH_DEVICE_DESCRIPTION_STRUCTURE_VERSION_V2 0x2
6104#define STOR_FRU_ID_MAX_LENGTH 128
6105#define STOR_FRU_ID_DESCRIPTION_STRUCTURE_VERSION_1 0x1
6162#define STOR_CRYPTO_OPERATION_INSERT_KEY_VERSION_1 1
6177#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
6201#if (NTDDI_VERSION >= NTDDI_WIN8)
6330#define MARK_DUMP_MEMORY_FLAG_PHYSICAL_ADDRESS 0x1
6437#define EVENT_BUFFER_MAX_LENGTH 4096
6438#define EVENT_NAME_MAX_LENGTH 32
6439#define EVENT_MAX_PARAM_NAME_LEN 32
6449 ULONG EventBufferLength;
6507#define STORPORT_LIVEDUMP_BUCKET_ID_LENGTH 128
6545#define STOR_RPMB_VERSION_1 0x00000001
6567#define MINIPORT_DUMP_INFO_SIGNATURE 0x4D504449
6581#define GET_DUMP_INFO_SIGNATURE_EXT 0x474D4445
6582#define GET_DUMP_INFO_VERSION_1 sizeof(GET_MINIPORT_DUMP_INFO_V1)
6602#define FREE_DUMP_INFO_SIGNATURE 0x464D4449
6617#define STOR_POFX_UNKNOWN_POWER 0xFFFFFFFF
6618#define STOR_POFX_UNKNOWN_TIME 0xFFFFFFFFFFFFFFFF
6630#define STOR_POFX_COMPONENT_IDLE_STATE_SIZE (sizeof(STOR_POFX_COMPONENT_IDLE_STATE))
6631#define STOR_POFX_COMPONENT_IDLE_STATE_VERSION_V1 1
6643#define STOR_POFX_COMPONENT_SIZE ((ULONG)FIELD_OFFSET(STOR_POFX_COMPONENT, FStates))
6644#define STOR_POFX_COMPONENT_VERSION_V1 1
6662#define STOR_POFX_COMPONENT_VERSION_V2 2
6664#define STOR_POFX_UNIT_MIN_IDLE_STATES 1
6665#define STOR_POFX_UNIT_MAX_IDLE_STATES 2
6666#define STOR_POFX_ADAPTER_MIN_IDLE_STATES 1
6667#define STOR_POFX_ADAPTER_MAX_IDLE_STATES 8
6678#define STOR_POFX_DEVICE_SIZE ((ULONG)FIELD_OFFSET(STOR_POFX_DEVICE, Components))
6679#define STOR_POFX_DEVICE_VERSION_V1 1
6699#define STOR_POFX_DEVICE_VERSION_V2 2
6726#define STOR_POFX_PERF_STATE_SIZE (sizeof(STOR_POFX_PERF_STATE))
6727#define STOR_POFX_PERF_STATE_VERSION_V1 1
6752#define STOR_POFX_COMPONENT_PERF_SET_SIZE (sizeof(STOR_POFX_COMPONENT_PERF_SET))
6753#define STOR_POFX_COMPONENT_PERF_SET_VERSION_V1 1
6756#define STOR_POFX_COMPONENT_MIN_PERF_SETS 0
6757#define STOR_POFX_COMPONENT_MAX_PERF_SETS 3
6758#define STOR_POFX_MIN_DISCRETE_PERF_STATES 1
6759#define STOR_POFX_MAX_DISCRETE_PERF_STATES 8
6780#define STOR_POFX_DEVICE_V3_SIZE ((ULONG)FIELD_OFFSET(STOR_POFX_DEVICE_V3, Components))
6781#define STOR_POFX_DEVICE_VERSION_V3 3
6784#define STOR_POFX_UNIT_MIN_COMPONENTS 1
6785#define STOR_POFX_UNIT_MAX_COMPONENTS 1
6786#define STOR_POFX_ADAPTER_MIN_COMPONENTS 1
6787#define STOR_POFX_ADAPTER_MAX_COMPONENTS 1
6789#define STOR_POFX_DEVICE_FLAG_GET_PERF_STATE_FROM_PEP 0x1000
6791#ifndef STORAGE_CRYPTO_ALGORITHMS_DEFINED
6792#define STORAGE_CRYPTO_ALGORITHMS_DEFINED
6827#ifndef STORAGE_SECURITY_COMPLIANCE_BITMASK_DEFINED
6828#define STORAGE_SECURITY_COMPLIANCE_BITMASK_DEFINED
6842#ifndef STORAGE_CRYPTO_KEY_TYPE_DEFINED
6843#define STORAGE_CRYPTO_KEY_TYPE_DEFINED
6862#define STOR_CRYPTO_ALGORITHM_ID_OFFSET StorCryptoAlgorithmXTSAES
6864#define STOR_CRYPTO_CAPABILITY_VERSION_1 1
6865#define STOR_CRYPTO_CAPABILITY_VERSION_2 2
6875#if (NTDDI_VERSION >= NTDDI_WIN11_GA)
6883#define STOR_CRYPTO_CAPABILITIES_DATA_VERSION_1 1
6894#define STOR_CRYPTO_KEY_INFO_VERSION_1 1
6905#define RAID_MIN_TIMER_DELAY_IN_MSEC 32
6908#define STATE_CHANGE_LUN 0x1
6909#define STATE_CHANGE_TARGET 0x2
6910#define STATE_CHANGE_BUS 0x4
6913#define ATTRIBUTE_VM_PASSTHROUGH_LUN 0x1
6916#define RAID_ASYNC_NOTIFY_FLAG_MEDIA_STATUS 0x1
6917#define RAID_ASYNC_NOTIFY_FLAG_DEVICE_STATUS 0x2
6918#define RAID_ASYNC_NOTIFY_FLAG_DEVICE_OPERATION 0x4
6920#define RAID_ASYNC_NOTIFY_SUPPORTED_FLAGS (RAID_ASYNC_NOTIFY_FLAG_MEDIA_STATUS | \
6921 RAID_ASYNC_NOTIFY_FLAG_DEVICE_STATUS | \
6922 RAID_ASYNC_NOTIFY_FLAG_DEVICE_OPERATION)
6924#define DUMP_MINIPORT_VERSION_1 0x0100
6925#define DUMP_MINIPORT_VERSION 0x0200
6926#define DUMP_MINIPORT_NAME_LENGTH 15
6964#define STOR_POFX_DEVICE_FLAG_NO_D0 0x01
6965#define STOR_POFX_DEVICE_FLAG_NO_D3 0x02
6966#define STOR_POFX_DEVICE_FLAG_ENABLE_D3_COLD 0x04
6967#define STOR_POFX_DEVICE_FLAG_NO_DUMP_ACTIVE 0x08
6968#define STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT 0x10
6969#define STOR_POFX_DEVICE_FLAG_ADAPTIVE_D3_IDLE_TIMEOUT 0x20
6970#define STOR_POFX_DEVICE_FLAG_NO_UNIT_REGISTRATION 0x40
6971#define STOR_POFX_DEVICE_FLAG_PERF_STATE_PEP_OPTIONAL 0x80
6972#define STOR_POFX_DEVICE_FLAG_NO_IDLE_DEBOUNCE 0x100
6973#define STOR_POFX_DEVICE_FLAG_DUMP_ALWAYS_POWER_ON 0x200
6974#define STOR_POFX_DEVICE_FLAG_DISABLE_INTERRUPTS_ON_D3 0x400
6975#define STOR_POFX_DEVICE_FLAG_ADAPTER_D3_WAKE 0x800
6979 {0xdcaf9c10, 0x895f, 0x481f, {0xa4, 0x92, 0xd4, 0xce, 0xd2, 0xf5, 0x56, 0x33}};
6981 {0x585d326b, 0x0b3a, 0x4088, {0x89, 0x39, 0x88, 0xb0, 0x0f, 0x69, 0x58, 0xbe}};
7065#if (NTDDI_VERSION >= NTDDI_WIN8)
7074#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
7162(
NTAPI STOR_SYNCHRONIZED_ACCESS)(
7269#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
7279#if (NTDDI_VERSION >= NTDDI_WIN8)
7290#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
7302#if (NTDDI_VERSION >= NTDDI_WIN8)
7358#define REVERSE_BYTES_QUAD(Destination, Source) { \
7359 PEIGHT_BYTE d = (PEIGHT_BYTE)(Destination); \
7360 PEIGHT_BYTE s = (PEIGHT_BYTE)(Source); \
7361 d->Byte7 = s->Byte0; \
7362 d->Byte6 = s->Byte1; \
7363 d->Byte5 = s->Byte2; \
7364 d->Byte4 = s->Byte3; \
7365 d->Byte3 = s->Byte4; \
7366 d->Byte2 = s->Byte5; \
7367 d->Byte1 = s->Byte6; \
7368 d->Byte0 = s->Byte7; \
7371#define REVERSE_BYTES(Destination, Source) { \
7372 PFOUR_BYTE d = (PFOUR_BYTE)(Destination); \
7373 PFOUR_BYTE s = (PFOUR_BYTE)(Source); \
7374 d->Byte3 = s->Byte0; \
7375 d->Byte2 = s->Byte1; \
7376 d->Byte1 = s->Byte2; \
7377 d->Byte0 = s->Byte3; \
7380#define REVERSE_BYTES_SHORT(Destination, Source) { \
7381 PTWO_BYTE d = (PTWO_BYTE)(Destination); \
7382 PTWO_BYTE s = (PTWO_BYTE)(Source); \
7383 d->Byte1 = s->Byte0; \
7384 d->Byte0 = s->Byte1; \
7387#define StorPortCopyMemory(Destination,Source,Length) memcpy((Destination),(Source),(Length))
7430 _In_ PCCHAR DebugMessage,
7897 HwPassiveInitializeRoutine,
8078 AdapterDeviceObject,
8104 ScatterGatherBuffer,
8105 ScatterGatherBufferLength);
8200#if (NTDDI_VERSION >= NTDDI_WIN7)
8312#if (NTDDI_VERSION >= NTDDI_WIN8)
8571 PerformanceFrequency,
8572 PerformanceCounter);
8884 PhysicalAddressRanges,
8885 PhysicalAddressRangeCount);
8968#if (NTDDI_VERSION >= NTDDI_WIN8)
9130 WatchdogInformation);
9384 OsInstallationUpgrade);
9426#if (NTDDI_VERSION >= NTDDI_WIN8)
9472 CryptoCapabilities);
9501#define DebugPrint(x) StorPortDebugPrint x
9503#define DebugPrint(x)
#define WriteBuffer(BaseIoAddress, Buffer, Count)
#define ReadBuffer(BaseIoAddress, Buffer, Count)
PDEVICE_OBJECT PhysicalDeviceObject
_In_ PSCSI_REQUEST_BLOCK Srb
_In_ PSCSI_REQUEST_BLOCK _In_opt_ PVOID _In_ ULONG _In_ BOOLEAN _In_opt_ WDFREQUEST OriginalRequest
_In_ PSCSI_REQUEST_BLOCK _In_opt_ PVOID _In_ ULONG _In_ BOOLEAN WriteToDevice
_In_ CDROM_SCAN_FOR_SPECIAL_INFO _In_ PCDROM_SCAN_FOR_SPECIAL_HANDLER Function
_In_ ULONG _In_ BOOLEAN _In_ ULONG _In_ UCHAR _In_ UCHAR _In_ UCHAR Lun
_In_ ULONG _In_ BOOLEAN _In_ ULONG _In_ UCHAR PathId
_In_z_ PCCHAR _In_ PDEVICE_OBJECT LowerDeviceObject
_In_ ULONG _In_ ULONG _In_opt_ DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK _In_opt_ PVOID CallbackContext
_In_ PVOID _In_ ULONG _In_ ULONG _Out_ ULONG * BytesReturned
_In_ ULONG _In_ MEMORY_CACHING_TYPE _Out_ PPHYSICAL_ADDRESS PhysicalAddress
_In_ DXGK_MIRACAST_DISPLAY_CALLBACKS _Out_ PVOID _Out_ ULONG * TargetId
_In_ HANDLE _In_ CONST PDXGKMDT_OPM_GET_INFO_PARAMETERS Parameters
_In_ ULONG _In_ MEMORY_CACHING_TYPE _Out_ PPHYSICAL_ADDRESS _Out_ PVOID * VirtualAddress
_Check_return_ _In_ DXGK_EVENT_TYPE _In_ ULONG Event
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG DataLength
_Check_return_ _In_ ULONG _In_ DEVICE_POWER_STATE DevicePowerState
_In_ ULONG _In_ ULONG _In_opt_ DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK Callback
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG Flags
_In_ ULONG _In_ MEMORY_CACHING_TYPE CacheType
#define DECLSPEC_ALIGN(x)
static const WCHAR Signature[]
VOID(NTAPI * PHW_DMA_STARTED)(IN PVOID DeviceExtension)
_SCSI_ADAPTER_CONTROL_TYPE
enum _SCSI_NOTIFICATION_TYPE SCSI_NOTIFICATION_TYPE
_SCSI_ADAPTER_CONTROL_STATUS
enum _SCSI_ADAPTER_CONTROL_TYPE SCSI_ADAPTER_CONTROL_TYPE
BOOLEAN(NTAPI * PHW_STARTIO)(IN PVOID DeviceExtension, IN PSCSI_REQUEST_BLOCK Srb)
BOOLEAN(NTAPI * PHW_ADAPTER_STATE)(IN PVOID DeviceExtension, IN PVOID Context, IN BOOLEAN SaveState)
BOOLEAN(NTAPI * PHW_RESET_BUS)(IN PVOID DeviceExtension, IN ULONG PathId)
SCSI_ADAPTER_CONTROL_STATUS(NTAPI * PHW_ADAPTER_CONTROL)(IN PVOID DeviceExtension, IN SCSI_ADAPTER_CONTROL_TYPE ControlType, IN PVOID Parameters)
BOOLEAN(NTAPI * PHW_INITIALIZE)(IN PVOID DeviceExtension)
union Alignment_ Alignment
_Must_inspect_result_ __in_opt PWDF_OBJECT_ATTRIBUTES __in PVOID __in __out WDFMEMORY * PMemory
_In_ GUID _In_ PVOID ValueData
_Must_inspect_result_ _In_ PUCXHUB_DEVICE_CREATE_INFO _Out_ UCXUSBDEVICE * Device
_In_ UCXUSBDEVICE _In_ UCXENDPOINT _In_ ULONG Priority
_In_ const GUID _In_ ULONG _In_opt_ PFN_WDF_WMI_INSTANCE_QUERY_INSTANCE Query
static ULONG ResourceCount
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ PNDIS_STRING SubKeyName
_In_ NDIS_ERROR_CODE ErrorCode
_Out_ PNDIS_HANDLE _Out_ PUINT _In_ PNDIS_STRING _In_ NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ PLARGE_INTEGER MaximumSize
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize _Pre_valid_ PVOID * BaseAddress
#define _In_reads_bytes_(s)
#define _Struct_size_bytes_(s)
#define _Field_size_bytes_full_(s)
#define _At_buffer_(t, i, c, a)
#define _Field_range_(l, h)
#define _Out_writes_bytes_(s)
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define _ANONYMOUS_STRUCT
enum _INTERFACE_TYPE INTERFACE_TYPE
_In_opt_ WDFREQUEST _In_ ULONG _In_ BOOLEAN _In_ PCDB Cdb
enum _KINTERRUPT_MODE KINTERRUPT_MODE
enum _DMA_SPEED DMA_SPEED
enum _DMA_WIDTH DMA_WIDTH
_In_ UCHAR _In_ ULONG _Out_ PUCHAR _Outptr_result_bytebuffer_ OutBufferLength PVOID * OutBuffer
_In_ UCHAR _Out_opt_ PUCHAR _Out_opt_ PUCHAR _Out_opt_ PUCHAR AdditionalSenseCodeQualifier
_In_ UCHAR SenseInfoBufferLength
#define STOR_ADDRESS_TYPE_BTL8
_In_ UCHAR _Out_opt_ PUCHAR _Out_opt_ PUCHAR AdditionalSenseCode
#define STOR_ADDR_BTL8_ADDRESS_LENGTH
struct STOR_ADDRESS_ALIGN _STOR_ADDRESS STOR_ADDRESS
_In_ UCHAR _Out_opt_ PUCHAR SenseKey
struct STOR_ADDRESS_ALIGN _STOR_ADDRESS * PSTOR_ADDRESS
enum _STOR_PNP_ACTION STOR_PNP_ACTION
#define SRBEX_DATA_SCSI_CDB32_LENGTH
struct SRB_ALIGN _SRBEX_DATA SRBEX_DATA
#define STORAGE_REQUEST_BLOCK_VERSION_1
#define SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MIN
#define SRBEX_DATA_IO_INFO_LENGTH
_Must_inspect_result_ _In_ PVOID _In_ struct _HW_INITIALIZATION_DATA _In_ PVOID HwContext
#define SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MAX
enum _STOR_DEVICE_POWER_STATE STOR_DEVICE_POWER_STATE
_Must_inspect_result_ _In_ PVOID _In_ struct _HW_INITIALIZATION_DATA * HwInitializationData
#define SRB_FUNCTION_STORAGE_REQUEST_BLOCK
#define SRBEX_DATA_BIDIRECTIONAL_LENGTH
#define SRBEX_DATA_PNP_LENGTH
enum _STOR_POWER_ACTION STOR_POWER_ACTION
@ SrbExDataTypeBidirectional
@ SrbExDataTypeScsiCdbVar
#define SRBEX_DATA_POWER_LENGTH
#define SRBEX_DATA_WMI_LENGTH
#define SRBEX_DATA_SCSI_CDB16_LENGTH
enum _SRBEXDATATYPE SRBEXDATATYPE
PACPI_METHOD_ARGUMENT Next
struct _STOR_FILTER_RESOURCE_REQUIREMENTS * PSTOR_FILTER_RESOURCE_REQUIREMENTS
struct _SCSI_SUPPORTED_CONTROL_TYPE_LIST SCSI_SUPPORTED_CONTROL_TYPE_LIST
struct _ERROR_HISTORY_DIRECTORY * PERROR_HISTORY_DIRECTORY
struct _DESCRIPTOR_SENSE_DATA * PDESCRIPTOR_SENSE_DATA
VOID(NTAPI * PHW_DMA_STARTED)(_In_ PVOID DeviceExtension)
STORPORT_API BOOLEAN NTAPI StorPortSetDeviceQueueDepth(_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun, _In_ ULONG Depth)
struct _STOR_POWER_SETTING_INFO * PSTOR_POWER_SETTING_INFO
FORCEINLINE VOID StorPortReleaseSpinLock(_In_ PVOID DeviceExtension, _Inout_ PSTOR_LOCK_HANDLE LockHandle)
struct SRB_ALIGN _SRBEX_DATA_NVMEOF_OPERATION SRBEX_DATA_NVMEOF_OPERATION
BOOLEAN(NTAPI * PHW_BUILDIO)(_In_ PVOID DeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb)
struct _STOR_REQUEST_INFO_V2 * PSTOR_REQUEST_INFO_V2
FORCEINLINE ULONG StorPortWaitForEvent(_In_ PVOID HwDeviceExtension, _In_ PSTOR_EVENT Event, _In_ LONGLONG Timeout)
struct _NOTIFICATION_MULTI_HOST_STATUS NOTIFICATION_MULTI_HOST_STATUS
FORCEINLINE ULONG StorPortSetFeatureList(_In_ PVOID HwDeviceExtension, _In_range_(1, StorportFeatureMax) ULONG FeatureCount, _In_reads_(FeatureCount) PBOOLEAN FeatureList)
struct _FREE_MINIPORT_DUMP_INFO FREE_MINIPORT_DUMP_INFO
struct _PORT_OUTPUT * PPORT_OUTPUT
struct _STOR_POFX_COMPONENT_PERF_SET STOR_POFX_COMPONENT_PERF_SET
@ StorPowerActionWarmEject
@ StorPowerActionShutdown
@ StorPowerActionReserved
@ StorPowerActionShutdownReset
@ StorPowerActionHibernate
@ StorPowerActionShutdownOff
struct _STOR_POWER_CONTROL_HEADER STOR_POWER_CONTROL_HEADER
struct _SCSI_REQUEST_BLOCK SCSI_REQUEST_BLOCK
struct _STOR_POFX_COMPONENT_V2 * PSTOR_POFX_COMPONENT_V2
struct _STARTIO_PERFORMANCE_PARAMETERS STARTIO_PERFORMANCE_PARAMETERS
FORCEINLINE ULONG StorPortSetAdapterBusType(_In_ PVOID HwDeviceExtension, _In_ ULONG BusType)
struct _MODE_COMMAND_DURATION_LIMIT_PAGE_T2B_SUBPAGE * PMODE_COMMAND_DURATION_LIMIT_PAGE_T2B_SUBPAGE
struct _WINDOWS_BLOCK_DEVICE_TOKEN_LIMITS_DESCRIPTOR WINDOWS_BLOCK_DEVICE_TOKEN_LIMITS_DESCRIPTOR
struct _CDAUDIO_CONTROL_PAGE CDAUDIO_CONTROL_PAGE
struct _CDVD_REPORT_ASF_DATA CDVD_REPORT_ASF_DATA
VOID(NTAPI * PStorPortPutScatterGatherList)(_In_ PVOID HwDeviceExtension, _In_ PSTOR_SCATTER_GATHER_LIST ScatterGatherList, _In_ BOOLEAN WriteToDevice)
struct _MODE_COMMAND_DURATION_LIMIT_PAGE_T2A_SUBPAGE MODE_COMMAND_DURATION_LIMIT_PAGE_T2A_SUBPAGE
struct _SCSI_SENSE_DESCRIPTOR_INFORMATION SCSI_SENSE_DESCRIPTOR_INFORMATION
struct _STOR_ADAPTER_CONTROL_POWER STOR_ADAPTER_CONTROL_POWER
struct _STORPORT_TELEMETRY_EVENT STORPORT_TELEMETRY_EVENT
#define DURATION_LIMIT_T2_DESCRIPTOR_COUNT
@ StorportFeaturePreparePLDR
@ StorportFeatureReportInternalDataUnitControl
@ StorportFeatureReserved1
@ StorportFeatureRestoreEarlyDumpData
@ StorportFeaturePrepareEarlyDumpData
@ StorportFeatureKsrUnitPowerDownOptimization
@ StorportFeaturePostHwInitialize
@ StorportFeatureFruIdUnitControl
@ StorportFeatureNvmeofAdapterOperation
@ StorportFeatureBusTypeUnitControl
@ StorportFeatureQueryStorMQInterface
@ StorportFeatureResetBusSynchronous
@ StorportFeatureSetEventLoggingAdapterControl
@ StorportFeatureKsrAdapterPowerDownOptimization
@ StorportFeatureReportInternalDataAdapterControl
@ StorportFeatureFruIdAdapterControl
struct RS_COMMAND_TIMEOUTS_DESCRIPTOR * PRS_COMMAND_TIMEOUTS_DESCRIPTOR
struct _CDVD_FEATURE_SET_PAGE CDVD_FEATURE_SET_PAGE
enum _STOR_DEVICE_RESET_TYPE STOR_DEVICE_RESET_TYPE
struct _STOR_RPMB_CAPABILITIES_DATA * PSTOR_RPMB_CAPABILITIES_DATA
struct _POWER_CONDITION_PAGE * PPOWER_CONDITION_PAGE
struct _ACCESS_RANGE ACCESS_RANGE
VOID(NTAPI * PHW_WORKITEM)(_In_ PVOID HwDeviceExtension, _In_opt_ PVOID Context, _In_ PVOID Worker)
enum _SCSI_UNIT_CONTROL_STATUS SCSI_UNIT_CONTROL_STATUS
union _EIGHT_BYTE EIGHT_BYTE
enum _STORPORT_ETW_EVENT_CHANNEL * PSTORPORT_ETW_EVENT_CHANNEL
struct _STOR_POFX_POWER_REQUIRED_CONTEXT STOR_POFX_POWER_REQUIRED_CONTEXT
enum _STOR_PNP_ACTION STOR_PNP_ACTION
struct _INQUIRYDATA * PINQUIRYDATA
struct _LOG_PAGE_LOGICAL_BLOCK_PROVISIONING * PLOG_PAGE_LOGICAL_BLOCK_PROVISIONING
struct _SCSI_PNP_REQUEST_BLOCK * PSCSI_PNP_REQUEST_BLOCK
struct _STOR_SCATTER_GATHER_LIST STOR_SCATTER_GATHER_LIST
union _STORAGE_CRYPTO_KEY_TYPE STORAGE_CRYPTO_KEY_TYPE
BOOLEAN(NTAPI * PHW_PASSIVE_INITIALIZE_ROUTINE)(_In_ PVOID DeviceExtension)
enum _STOR_THREAD_PRIORITY STOR_THREAD_PRIORITY
FORCEINLINE ULONG StorPortReleaseMSISpinLock(_In_ PVOID HwDeviceExtension, _In_ ULONG MessageId, _In_ ULONG OldIrql)
struct _READ_CAPACITY_DATA_EX READ_CAPACITY_DATA_EX
STORPORT_API VOID __cdecl StorPortDebugPrint(_In_ ULONG DebugPrintLevel, _In_ PCCHAR DebugMessage,...)
_STOR_POFX_PERF_STATE_TYPE
@ StorPoFxPerfStateTypeRange
@ StorPoFxPerfStateTypeDiscrete
@ StorPoFxPerfStateTypeMaximum
struct _LBA_STATUS_LIST_HEADER LBA_STATUS_LIST_HEADER
enum _STOR_POFX_PERF_STATE_TYPE STOR_POFX_PERF_STATE_TYPE
FORCEINLINE ULONG StorPortGetSystemAddress(_In_ PVOID HwDeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb, _Out_ PVOID *SystemAddress)
static const GUID STORPORT_POFX_LUN_GUID
STORPORT_API UCHAR NTAPI StorPortReadPortUchar(_In_ PVOID HwDeviceExtension, _In_ PUCHAR Port)
struct _STOR_UNIT_CONTROL_QUERY_BUS_TYPE * PSTOR_UNIT_CONTROL_QUERY_BUS_TYPE
STORPORT_API VOID NTAPI StorPortWritePortUlong(_In_ PVOID HwDeviceExtension, _In_ PULONG Port, _In_ ULONG Value)
struct _NOTIFICATION_OPERATIONAL_STATUS * PNOTIFICATION_OPERATIONAL_STATUS
FORCEINLINE ULONG StorPortSetSystemGroupAffinityThread(_In_ PVOID HwDeviceExtension, _In_ PSTOR_GROUP_AFFINITY Affinity, _Out_opt_ PSTOR_GROUP_AFFINITY PreviousAffinity)
struct RS_ONE_COMMAND_PARAMETER_DATA * PRS_ONE_COMMAND_PARAMETER_DATA
struct _MODE_PAGE_SUBPAGE_HEADER * PMODE_PAGE_SUBPAGE_HEADER
FORCEINLINE ULONG StorPortGetRequestCryptoInfo(_In_ PVOID HwDeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb, _Out_ PSTOR_CRYPTO_KEY_INFO KeyInfo)
FORCEINLINE ULONG StorPortAllocateMdl(_In_ PVOID HwDeviceExtension, _In_ PVOID BufferPointer, _In_ ULONG NumberOfBytes, _Out_ PVOID *Mdl)
enum _STORAGE_CRYPTO_ALGORITHM_ID * PSTORAGE_CRYPTO_ALGORITHM_ID
FORCEINLINE ULONG StorPortEtwEvent2(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_ ULONG EventId, _In_ PWSTR EventDescription, _In_ ULONGLONG EventKeywords, _In_ STORPORT_ETW_LEVEL EventLevel, _In_ STORPORT_ETW_EVENT_OPCODE EventOpcode, _In_opt_ PSCSI_REQUEST_BLOCK Srb, _In_opt_ PWSTR Parameter1Name, _In_ ULONGLONG Parameter1Value, _In_opt_ PWSTR Parameter2Name, _In_ ULONGLONG Parameter2Value)
FORCEINLINE ULONG StorPortQueueWorkItem(_In_ PVOID HwDeviceExtension, _In_ PHW_WORKITEM WorkItemCallback, _In_ PVOID Worker, _In_opt_ PVOID Context)
struct _STOR_POFX_UNIT_POWER_INFO * PSTOR_POFX_UNIT_POWER_INFO
enum _STOR_PNP_ACTION * PSTOR_PNP_ACTION
struct RT_PARAMETER_DATA * PRT_PARAMETER_DATA
@ ScsiAdapterPrepareForBusReScan
@ ScsiAdapterCryptoOperation
@ ScsiAdapterResetBusSynchronous
@ ScsiQuerySupportedControlTypes
@ ScsiAdapterReportInternalData
@ ScsiAdapterPoFxPowerControl
@ ScsiAdapterPrepareEarlyDumpData
@ ScsiAdapterSystemPowerHints
@ MakeAdapterControlTypeSizeOfUlong
@ ScsiAdapterSurpriseRemoval
@ ScsiAdapterPoFxSetPerfState
@ ScsiAdapterSetEventLogging
@ ScsiPowerSettingNotification
@ ScsiAdapterFilterResourceRequirements
@ ScsiAdapterPoFxPowerActive
@ ScsiAdapterPoFxPowerSetFState
@ ScsiAdapterPostHwInitialize
@ ScsiAdapterPoFxPowerRequired
@ ScsiAdapterPoFxMaxOperationalPower
@ ScsiAdapterKsrPowerDown
@ ScsiAdapterRestoreEarlyDumpData
@ ScsiAdapterSerialNumber
struct _READ_CAPACITY_DATA * PREAD_CAPACITY_DATA
struct _VPD_LOGICAL_BLOCK_PROVISIONING_PAGE * PVPD_LOGICAL_BLOCK_PROVISIONING_PAGE
FORCEINLINE ULONG StorPortGetGroupAffinity(_In_ PVOID HwDeviceExtension, _In_ USHORT GroupNumber, _Out_ PKAFFINITY GroupAffinityMask)
struct _STOR_RICH_DEVICE_DESCRIPTION STOR_RICH_DEVICE_DESCRIPTION
struct _STOR_SCATTER_GATHER_ELEMENT * PSTOR_SCATTER_GATHER_ELEMENT
struct _PRI_RESERVATION_LIST * PPRI_RESERVATION_LIST
struct _LOG_PARAMETER_HEADER LOG_PARAMETER_HEADER
struct _STOR_GROUP_AFFINITY STOR_GROUP_AFFINITY
STORAGE_CRYPTO_KEY_SIZE STOR_CRYPTO_KEY_SIZE
FORCEINLINE ULONG StorPortQueryTimerMinInterval(_In_ PVOID HwDeviceExtension, _Out_ PULONG MinInterval)
struct _VIRTUAL_HW_INITIALIZATION_DATA * PVIRTUAL_HW_INITIALIZATION_DATA
BOOLEAN(NTAPI * PHW_STARTIO)(_In_ PVOID DeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb)
struct _STOR_UNIT_ATTRIBUTES STOR_UNIT_ATTRIBUTES
_NVME_ADAPTER_CONTROL_TYPE
@ NvmeAdapterFilterResourceRequirements
@ NvmeAdapterSerialNumber
@ NvmeQuerySupportedControlTypes
@ NvmeAdapterCryptoOperation
@ NvmePowerSettingNotification
@ NvmeAdapterPrepareEarlyDumpData
@ NvmeAdapterPrepareForBusReScan
@ NvmeAdapterPoFxMaxOperationalPower
@ NvmeAdapterPostHwInitialize
@ NvmeAdapterPoFxPowerControl
@ NvmeAdapterPoFxPowerRequired
@ NvmeAdapterPoFxPowerSetFState
@ NvmeAdapterSurpriseRemoval
@ NvmeAdapterResetBusSynchronous
@ NvmeAdapterSystemPowerHints
@ NvmeAdapterPoFxSetPerfState
@ NvmeAdapterPoFxPowerActive
@ NvmeNvmeofAdapterOperation
@ MakeNvmeAdapterControlTypeSizeOfUlong
@ NvmeAdapterKsrPowerDown
@ NvmeAdapterRestoreEarlyDumpData
@ NvmeAdapterSetEventLogging
@ NvmeAdapterReportInternalData
@ StorSynchronizationEvent
struct _READ_BUFFER_CAPACITY_DATA READ_BUFFER_CAPACITY_DATA
STORPORT_API VOID NTAPI StorPortReadPortBufferUshort(_In_ PVOID HwDeviceExtension, _In_ PUSHORT Port, _In_ PUSHORT Buffer, _In_ ULONG Count)
STORPORT_API UCHAR NTAPI StorPortReadRegisterUchar(_In_ PVOID HwDeviceExtension, _In_ PUCHAR Register)
struct _STOR_LOG_EVENT_DETAILS * PSTOR_LOG_EVENT_DETAILS
struct _STOR_FILTER_RESOURCE_REQUIREMENTS STOR_FILTER_RESOURCE_REQUIREMENTS
struct _NOTIFICATION_POWER_STATUS NOTIFICATION_POWER_STATUS
STORPORT_API VOID NTAPI StorPortWritePortUshort(_In_ PVOID HwDeviceExtension, _In_ PUSHORT Port, _In_ USHORT Value)
struct _MODE_COMMAND_DURATION_LIMIT_PAGE_T2B_SUBPAGE MODE_COMMAND_DURATION_LIMIT_PAGE_T2B_SUBPAGE
ULONG_PTR STOR_KSPIN_LOCK
FORCEINLINE ULONG StorPortCurrentOsInstallationUpgrade(_In_ PVOID HwDeviceExtension, _Out_ PBOOLEAN OsInstallationUpgrade)
struct _SLOT_TABLE_INFORMATION SLOT_TABLE_INFORMATION
struct _VIRTUAL_HW_INITIALIZATION_DATA VIRTUAL_HW_INITIALIZATION_DATA
_STORPORT_LIVEDUMP_DATA_TYPE
@ StorportLivedumpDataTypeUndefined
@ StorportLivedumpDataTypeDeviceTelemetryLog
FORCEINLINE ULONG StorPortGetMSIInfo(_In_ PVOID HwDeviceExtension, _In_ ULONG MessageId, _Out_ PMESSAGE_INTERRUPT_INFORMATION InterruptInfo)
STORPORT_API BOOLEAN NTAPI StorPortBusy(_In_ PVOID HwDeviceExtension, _In_ ULONG RequestsToComplete)
struct _VPD_IDENTIFICATION_PAGE VPD_IDENTIFICATION_PAGE
FORCEINLINE ULONG StorPortGetHighestNodeNumber(_In_ PVOID HwDeviceExtension, _Out_ PULONG HighestNode)
struct _STOR_UNIT_ATTRIBUTES * PSTOR_UNIT_ATTRIBUTES
struct _MODE_CDROM_WRITE_PARAMETERS_PAGE2 MODE_CDROM_WRITE_PARAMETERS_PAGE2
struct _STOR_FRU_ID_DESCRIPTION STOR_FRU_ID_DESCRIPTION
FORCEINLINE ULONG StorPortLogTelemetry(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_ PSTORPORT_TELEMETRY_EVENT Event)
struct _NOTIFICATION_EXTERNAL_STATUS * PNOTIFICATION_EXTERNAL_STATUS
struct _LOG_PAGE_LOGICAL_BLOCK_PROVISIONING LOG_PAGE_LOGICAL_BLOCK_PROVISIONING
struct _NOTIFICATION_MEDIA_STATUS NOTIFICATION_MEDIA_STATUS
FORCEINLINE ULONG StorPortGetStartIoPerfParams(_In_ PVOID HwDeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb, _Inout_ PSTARTIO_PERFORMANCE_PARAMETERS StartIoPerfParams)
PVOID(NTAPI * PStorPortAllocatePool)(_In_ ULONG NumberOfBytes, _In_ ULONG Tag, _In_ PVOID HwDeviceExtension, _Out_ PVOID *PMdl)
struct _STOR_UNIT_CONTROL_POWER STOR_UNIT_CONTROL_POWER
ULONG_PTR * PSTOR_KSPIN_LOCK
FORCEINLINE ULONG StorPortFlushDataBufferMdl(_In_ PVOID HwDeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb)
struct _VPD_SERIAL_NUMBER_PAGE VPD_SERIAL_NUMBER_PAGE
STORAGE_CRYPTO_ALGORITHM_ID STOR_CRYPTO_ALGORITHM_ID
struct _VPD_ATA_INFORMATION_PAGE * PVPD_ATA_INFORMATION_PAGE
struct _MINIPORT_MAPPINGS * PMINIPORT_MAPPINGS
FORCEINLINE BOOLEAN StorPortIssueDpc(_In_ PVOID DeviceExtension, _In_ PSTOR_DPC Dpc, _In_ PVOID SystemArgument1, _In_ PVOID SystemArgument2)
#define SRBEX_DATA_NVME_COMMAND_LENGTH
struct _STOR_UNIT_NVME_ICE_INFORMATION * PSTOR_UNIT_NVME_ICE_INFORMATION
FORCEINLINE ULONG StorPortPoFxIdleComponent(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_opt_ PSCSI_REQUEST_BLOCK Srb, _In_ ULONG Component, _In_ ULONG Flags)
struct BLOCK_DEVICE_TOKEN_DESCRIPTOR * PBLOCK_DEVICE_TOKEN_DESCRIPTOR
@ StorQueryResourceRequirements
@ StorFilterResourceRequirements
#define GET_DUMP_INFO_SIGNATURE_EXT
struct _MINIPORT_DATA MINIPORT_DATA
_NVME_NAMESPACE_CONTROL_TYPE
@ NvmeNamespacePoFxPowerControl
@ NvmeQuerySupportedNamespaceControlTypes
@ MakeNamespaceControlTypeSizeOfUlong
@ NvmeNamespacePoFxPowerSetFState
@ NvmeNamespacePoFxPowerActive
@ NvmeNamespacePoFxPowerRequired
@ NvmeNamespaceControlMax
@ NvmeNamespacePoFxPowerInfo
@ NvmeNamespaceSurpriseRemoval
struct POPULATE_TOKEN_HEADER * PPOPULATE_TOKEN_HEADER
FORCEINLINE ULONG StorPortAllocatePool(_In_ PVOID HwDeviceExtension, _In_ ULONG NumberOfBytes, _In_ ULONG Tag, _Out_ PVOID *BufferPointer)
struct _VPD_SERIAL_NUMBER_PAGE * PVPD_SERIAL_NUMBER_PAGE
struct SRB_ALIGN _SRBEX_DATA_SCSI_CDB_VAR SRBEX_DATA_SCSI_CDB_VAR
FORCEINLINE ULONG StorPortFreeHostMemoryBuffer(_In_ PVOID HwDeviceExtension)
struct _PORT_CONFIGURATION_INFORMATION * PPORT_CONFIGURATION_INFORMATION
FORCEINLINE ULONG StorPortPoFxPowerControl(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_ LPCGUID PowerControlCode, _In_opt_ PVOID InBuffer, _In_ SIZE_T InBufferSize, _Out_opt_ PVOID OutBuffer, _In_ SIZE_T OutBufferSize, _Out_opt_ PSIZE_T BytesReturned)
STORPORT_API BOOLEAN NTAPI StorPortRegistryWrite(_In_ PVOID HwDeviceExtension, _In_ PUCHAR ValueName, _In_ ULONG Global, _In_ ULONG Type, _In_ PUCHAR Buffer, _In_ ULONG BufferLength)
enum _SCSI_NOTIFICATION_TYPE * PSCSI_NOTIFICATION_TYPE
struct _PRO_PARAMETER_LIST * PPRO_PARAMETER_LIST
_SCSI_UC_DEVICE_USAGE_TYPE
@ ScsiDeviceUsageTypePaging
@ ScsiDeviceUsageTypeInlineCryptoEngine
@ ScsiDeviceUsageTypeDumpFile
@ ScsiDeviceUsageTypeUndefined
@ ScsiDeviceUsageTypeHibernation
@ ScsiDeviceUsageTypeBoot
struct _CDVD_KEY_HEADER * PCDVD_KEY_HEADER
struct _VPD_MEDIA_SERIAL_NUMBER_PAGE VPD_MEDIA_SERIAL_NUMBER_PAGE
#define STOR_MODEL_NUMBER_LENGTH
struct _STORPORT_CAPTURE_LIVEDUMP STORPORT_CAPTURE_LIVEDUMP
struct _ERROR_HISTORY_DIRECTORY_ENTRY ERROR_HISTORY_DIRECTORY_ENTRY
struct _VPD_SUPPORTED_PAGES_PAGE VPD_SUPPORTED_PAGES_PAGE
enum _SCSI_NOTIFICATION_TYPE SCSI_NOTIFICATION_TYPE
struct SRB_ALIGN _SRBEX_DATA_BIDIRECTIONAL * PSRBEX_DATA_BIDIRECTIONAL
FORCEINLINE ULONG StorPortGetProcessorIndexFromNumber(_In_ PVOID HwDeviceExtension, _In_ PPROCESSOR_NUMBER ProcNumber, _Out_ PULONG ProcIndex)
struct _MODE_CACHING_PAGE * PMODE_CACHING_PAGE
#define STOR_FIRMWARE_REVISION_LENGTH
struct _LOG_PARAMETER_THRESHOLD_RESOURCE_COUNT LOG_PARAMETER_THRESHOLD_RESOURCE_COUNT
FORCEINLINE ULONG StorPortMiniportReportInternalData(_In_ PVOID HwDeviceExtension, _In_ PVOID CallbackContext, _In_ ULONG DataCount, _In_reads_(DataCount) PMINIPORT_DATA Data)
#define BLOCK_DEVICE_TOKEN_SIZE
enum _VPD_IDENTIFIER_TYPE VPD_IDENTIFIER_TYPE
struct _READ_BUFFER_CAPACITY_DATA * PREAD_BUFFER_CAPACITY_DATA
_STORPORT_QUERY_CONFIGURATION_TYPE
@ StorportQueryConfigurationD3
@ StorportQueryConfigurationNvmeIce
@ StorportQueryConfigurationMax
enum _STOR_DEVICE_POWER_STATE * PSTOR_DEVICE_POWER_STATE
STORPORT_API BOOLEAN NTAPI StorPortDeviceBusy(_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun, _In_ ULONG RequestsToComplete)
struct _LUN_LIST LUN_LIST
struct _CURRENT_INTERNAL_STATUS_PARAMETER_DATA CURRENT_INTERNAL_STATUS_PARAMETER_DATA
FORCEINLINE ULONG StorPortCompleteServiceIrp(_In_ PVOID HwDeviceExtension, _In_ PVOID Irp)
struct _STOR_DPC_WATCHDOG_INFORMATION STOR_DPC_WATCHDOG_INFORMATION
VOID(NTAPI * PHW_TIMER_EX)(_In_ PVOID DeviceExtension, _In_opt_ PVOID Context)
struct _PERF_CONFIGURATION_DATA PERF_CONFIGURATION_DATA
FORCEINLINE ULONG StorPortGetNodeAffinity(_In_ PVOID HwDeviceExtension, _In_ ULONG NodeNumber, _Out_ PGROUP_AFFINITY NodeAffinityMask)
struct _MODE_COMMAND_DURATION_LIMIT_PAGE_T2A_SUBPAGE * PMODE_COMMAND_DURATION_LIMIT_PAGE_T2A_SUBPAGE
@ ExtFunctionSetUnitAttributes
@ ExtFunctionFreeContiguousMemorySpecifyCache
@ ExtFunctionGetGroupAffinity
@ ExtFunctionGetRequestCryptoInfo
@ ExtFunctionCancelHighResolutionTimer
@ ExtFunctionGetNodeAffinity
@ ExtFunctionCompleteServiceIrp
@ ExtFunctionDeviceOperationAllowed
@ ExtFunctionAllocateDmaMemory
@ ExtFunctionMiniportEtwEvent4
@ ExtFunctionDelayExecution
@ ExtFunctionMiniportChannelEtwEvent4
@ ExtFunctionRegistryWriteAdapterKey
@ ExtFunctionQueryConfiguration
@ ExtFunctionCaptureLiveDump
@ ExtFunctionInitializeTimer
@ ExtFunctionRequestTimer
@ ExtFunctionAllocateContiguousMemorySpecifyCacheNode
@ ExtFunctionGetCurrentIrql
@ ExtFunctionGetProcessorIndexFromNumber
@ ExtFunctionInvokeAcpiMethod
@ ExtFunctionGetOriginalMdl
@ ExtFunctionMiniportTelemetry
@ ExtFunctionSetPowerSettingNotificationGuids
@ ExtFunctionWaitForEvent
@ ExtFunctionInterlockedFlushSList
@ ExtFunctionGetDeviceObjects
@ ExtFunctionAcquireMSISpinLock
@ ExtFunctionPropagateIrpExtension
@ ExtFunctionInitializeCryptoEngine
@ ExtFunctionInitializePerformanceOptimizations
@ ExtFunctionInitializePoFxPower
@ ExtFunctionPoFxSetPerfState
@ ExtFunctionPoFxSetIdleTimeout
@ ExtFunctionSetAdapterBusType
@ ExtFunctionFlushDataBufferMdl
@ ExtFunctionPoFxIdleComponent
@ ExtFunctionGetDataInBufferMdl
@ ExtFunctionInterlockedInsertTailList
@ ExtFunctionInterlockedPopEntrySList
@ ExtFunctionMaskPciMsixEntry
@ ExtFunctionPoFxPowerControl
@ ExtFunctionPoFxSetComponentResidency
@ ExtFunctionGetLogicalProcessorRelationship
@ ExtFunctionGetMessageInterruptInformation
@ ExtFunctionGetSystemAddress
@ ExtFunctionMiniportReportInternalData
@ ExtFunctionInitializeSListHead
@ ExtFunctionMiniportLogByteStream
@ ExtFunctionInterlockedInsertHeadList
@ ExtFunctionFreeDmaMemory
@ ExtFunctionGetD3ColdSupport
@ ExtFunctionQueryDpcWatchdogInformation
@ ExtFunctionGetStartIoPerformanceParameters
@ ExtFunctionLogSystemEvent
@ ExtFunctionGetRequestInfo
@ ExtFunctionDeviceResetEx
@ ExtFunctionInterlockedPushEntrySList
@ ExtFunctionBuildScatterGatherList
@ ExtFunctionPutScatterGatherList
@ ExtFunctionInitializeRpmb
@ ExtFunctionMiniportChannelEtwEvent8
@ ExtFunctionGetSystemPortNumber
@ ExtFunctionFreeHighResolutionTimer
@ ExtFunctionReleaseMSISpinLock
@ ExtFunctionSetPriorityThread
@ ExtFunctionCurrentOsInstallationUpgrade
@ ExtFunctionQueueWorkItem
@ ExtFunctionInitializeSpinlock
@ ExtFunctionQueryPerformanceCounter
@ ExtFunctionQueryTimerMinInterval
@ ExtFunctionInitializeHighResolutionTimer
@ ExtFunctionUpdateAdapterMaxIOInfo
@ ExtFunctionGetActiveGroupCount
@ ExtFunctionGetProcessorCount
@ ExtFunctionBuildMdlForNonPagedPool
@ ExtFunctionAcquireSpinLock
@ ExtFunctionGetCurrentProcessorNumber
@ ExtFunctionGetActivityId
@ ExtFunctionGetHighestNodeNumber
@ ExtFunctionPoFxSetComponentLatency
@ ExtFunctionSetFeatureList
@ ExtFunctionPoFxActivateComponent
@ ExtFunctionMiniportTelemetryEx
@ ExtFunctionInitializeEvent
@ ExtFunctionAllocatePool
@ ExtFunctionGetCurrentProcessorIndex
@ ExtFunctionRequestHighResolutionTimer
@ ExtFunctionSetSystemGroupAffinityThread
@ ExtFunctionQueryDepthSList
@ ExtFunctionGetDataInBufferScatterGatherList
@ ExtFunctionLogHardwareError
@ ExtFunctionUpdateAdapterMaxIO
@ ExtFunctionInitializeWorker
@ ExtFunctionRevertToUserGroupAffinityThread
@ ExtFunctionMiniportEtwEvent8
@ ExtFunctionMiniportChannelEtwEvent2
@ ExtFunctionPoFxRegisterPerfStates
@ ExtFunctionCreateSystemThread
@ ExtFunctionGetActiveNodeCount
@ ExtFunctionInterlockedRemoveHeadList
@ ExtFunctionGetDataInBufferSystemAddress
@ ExtFunctionRegistryReadAdapterKey
@ ExtFunctionMarkDumpMemory
@ ExtFunctionMiniportEtwEvent2
enum _STOR_EVENT_ASSOCIATION_ENUM STOR_EVENT_ASSOCIATION_ENUM
struct _STOR_EVENT * PRSTOR_EVENT
struct SRB_ALIGN _SRBEX_DATA_IO_INFO SRBEX_DATA_IO_INFO
struct _TRACK_INFORMATION2 * PTRACK_INFORMATION2
VOID(NTAPI * PHW_FREE_ADAPTER_RESOURCES)(_In_ PVOID DeviceExtension)
struct _STOR_UC_DEVICE_USAGE STOR_UC_DEVICE_USAGE
enum _STORAGE_CRYPTO_ALGORITHM_ID STORAGE_CRYPTO_ALGORITHM_ID
struct _CDVD_FEATURE_SET_PAGE * PCDVD_FEATURE_SET_PAGE
struct _PERFORMANCE_DESCRIPTOR PERFORMANCE_DESCRIPTOR
struct _VPD_THIRD_PARTY_COPY_PAGE * PVPD_THIRD_PARTY_COPY_PAGE
FORCEINLINE ULONG StorPortGetDeviceObjects(_In_ PVOID HwDeviceExtension, _Out_ PVOID *AdapterDeviceObject, _Out_ PVOID *PhysicalDeviceObject, _Out_ PVOID *LowerDeviceObject)
struct _STOR_POFX_ACTIVE_CONTEXT STOR_POFX_ACTIVE_CONTEXT
struct _READ_DVD_STRUCTURES_HEADER * PREAD_DVD_STRUCTURES_HEADER
struct SRB_ALIGN _SRBEX_DATA_SCSI_CDB_VAR * PSRBEX_DATA_SCSI_CDB_VAR
struct BLOCK_DEVICE_RANGE_DESCRIPTOR * PBLOCK_DEVICE_RANGE_DESCRIPTOR
FORCEINLINE ULONG StorPortGetSystemPortNumber(_In_ PVOID HwDeviceExtension, _Inout_ PSTOR_ADDRESS Address)
SRBEX_DATA_NVME_COMMAND_FLAG
@ SRBEX_DATA_NVME_COMMAND_FLAG_SIGNATURE_ENABLED
@ SRBEX_DATA_NVME_COMMAND_FLAG_REQUIRE_DATA_TRANSFER_OUT
@ SRBEX_DATA_NVME_COMMAND_FLAG_PRP_SET_ALREADY
@ SRBEX_DATA_NVME_COMMAND_FLAG_NO_POLLING
@ SRBEX_DATA_NVME_COMMAND_FLAG_REQUIRE_DATA_TRANSFER_IN
@ ScsiAdapterControlBufferTooSmall
@ ScsiAdapterControlSuccess
@ ScsiAdapterControlUnsuccessful
@ ScsiAdapterControlRetryNeeded
struct _ZONE_DESCRIPTIOR * PZONE_DESCRIPTIOR
struct _MODE_PARM_READ_WRITE * PMODE_PARM_READ_WRITE_DATA
struct _STOR_POFX_COMPONENT STOR_POFX_COMPONENT
FORCEINLINE ULONG StorPortInterlockedInsertHeadList(_In_ PVOID HwDeviceExtension, _In_ PSTOR_LIST_ENTRY ListHead, _In_ PSTOR_LIST_ENTRY ListEntry, _In_ PSTOR_KSPIN_LOCK Lock)
struct _STOR_LOCK_HANDLE STOR_LOCK_HANDLE
struct _HW_INITIALIZATION_DATA * PHW_INITIALIZATION_DATA
_STOR_SYNCHRONIZATION_MODEL
@ StorSynchronizeFullDuplex
@ StorSynchronizeHalfDuplex
_STORPORT_LIVEDUMP_ISSUE_TYPE
@ StorportLivedumpIssueTypeDevicePanic
@ StorportLivedumpIssueTypeUndefined
struct SRB_ALIGN _SRBEX_DATA SRBEX_DATA
enum _STORPORT_ETW_EVENT_OPCODE STORPORT_ETW_EVENT_OPCODE
STORPORT_API PVOID NTAPI StorPortGetLogicalUnit(_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun)
struct _MINIPORT_DUMP_INFO * PMINIPORT_DUMP_INFO
STORPORT_API ULONG NTAPI StorPortInitialize(_In_ PVOID Argument1, _In_ PVOID Argument2, _In_ PHW_INITIALIZATION_DATA HwInitializationData, _In_opt_ PVOID Unused)
struct _STOR_POFX_POWER_REQUIRED_CONTEXT * PSTOR_POFX_POWER_REQUIRED_CONTEXT
FORCEINLINE ULONG StorPortFreeWorker(_In_ PVOID HwDeviceExtension, _In_ PVOID Worker)
struct _READ_CAPACITY_DATA READ_CAPACITY_DATA
struct _SLOT_TABLE_INFORMATION * PSLOT_TABLE_INFORMATION
union _SENSE_DATA_EX * PSENSE_DATA_EX
struct _STOR_SERIAL_NUMBER STOR_SERIAL_NUMBER
struct _SCSI_WMI_REQUEST_BLOCK SCSI_WMI_REQUEST_BLOCK
_SCSI_UNIT_CONTROL_STATUS
@ ScsiUnitControlNotSupported
@ ScsiUnitControlUnsuccessful
STORPORT_API ULONG NTAPI StorPortReadRegisterUlong(_In_ PVOID HwDeviceExtension, _In_ PULONG Register)
struct _STOR_EVENT STOR_EVENT
struct _MODE_FLEXIBLE_DISK_PAGE * PMODE_FLEXIBLE_DISK_PAGE
struct _MODE_READ_RECOVERY_PAGE * PMODE_READ_RECOVERY_PAGE
struct _TRACK_INFORMATION * PTRACK_INFORMATION
enum _SCSI_ADAPTER_CONTROL_TYPE SCSI_ADAPTER_CONTROL_TYPE
struct _SAVED_INTERNAL_STATUS_PARAMETER_DATA * PSAVED_INTERNAL_STATUS_PARAMETER_DATA
struct _MODE_READ_WRITE_RECOVERY_PAGE * PMODE_READ_WRITE_RECOVERY_PAGE
struct _OPC_TABLE_ENTRY * POPC_TABLE_ENTRY
struct _DISK_INFORMATION * PDISK_INFORMATION
BOOLEAN(NTAPI * PStorPortGetMessageInterruptInformation)(_In_ PVOID HwDeviceExtension, _In_ ULONG MessageId, _Out_ PMESSAGE_INTERRUPT_INFORMATION InterruptInfo)
FORCEINLINE ULONG StorPortBuildMdlForNonPagedPool(_In_ PVOID HwDeviceExtension, _Inout_ PVOID Mdl)
struct _UNMAP_BLOCK_DESCRIPTOR UNMAP_BLOCK_DESCRIPTOR
STORPORT_API VOID NTAPI StorPortReadPortBufferUlong(_In_ PVOID HwDeviceExtension, _In_ PULONG Port, _In_ PULONG Buffer, _In_ ULONG Count)
struct _STOR_POFX_POWER_CONTROL * PSTOR_POFX_POWER_CONTROL
_STOR_EVENT_ASSOCIATION_ENUM
@ StorEventTargetAssociation
@ StorEventInvalidAssociation
@ StorEventAdapterAssociation
@ StorEventLunAssociation
struct _FORMATTED_CAPACITY_LIST FORMATTED_CAPACITY_LIST
struct _UNMAP_LIST_HEADER UNMAP_LIST_HEADER
FORCEINLINE ULONG StorPortRevertToUserGroupAffinityThread(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_GROUP_AFFINITY PreviousAffinity)
struct _STOR_POFX_COMPONENT_IDLE_STATE STOR_POFX_COMPONENT_IDLE_STATE
struct _FORMAT_LIST_HEADER * PFORMAT_LIST_HEADER
FORCEINLINE ULONG StorPortUpdateAdapterMaxIO(_In_ PVOID HwDeviceExtension, _In_ ULONG MaxIoCount)
FORCEINLINE ULONG StorPortInterlockedPopEntrySList(_In_ PVOID HwDeviceExtension, _In_ PSLIST_HEADER SListHead, _Out_ PSLIST_ENTRY *Result)
STORPORT_API VOID NTAPI StorPortWriteRegisterUlong(_In_ PVOID HwDeviceExtension, _In_ PULONG Register, _In_ ULONG Value)
enum _SCSI_ADAPTER_CONTROL_STATUS SCSI_ADAPTER_CONTROL_STATUS
VOID(NTAPI * PHW_COMPLETE_SERVICE_IRP)(_In_ PVOID DeviceExtension)
enum _STOR_DEVICE_POWER_STATE STOR_DEVICE_POWER_STATE
struct _GET_MINIPORT_DUMP_INFO_V1 GET_MINIPORT_DUMP_INFO_V1
struct WRITE_USING_TOKEN_HEADER * PWRITE_USING_TOKEN_HEADER
struct SRB_ALIGN _SRBEX_DATA_SCSI_CDB16 SRBEX_DATA_SCSI_CDB16
enum _NVME_NAMESPACE_CONTROL_TYPE NVME_NAMESPACE_CONTROL_TYPE
STORPORT_API VOID NTAPI StorPortMoveMemory(_Out_writes_bytes_(Length) PVOID WriteBuffer, _In_reads_bytes_(Length) PVOID ReadBuffer, _In_ ULONG Length)
FORCEINLINE VOID StorPortAcquireSpinLock(_In_ PVOID DeviceExtension, _In_ STOR_SPINLOCK SpinLock, _In_ PVOID LockContext, _Inout_ PSTOR_LOCK_HANDLE LockHandle)
struct _STOR_DEVICE_CAPABILITIES_EX * PSTOR_DEVICE_CAPABILITIES_EX
struct _MODE_READ_RECOVERY_PAGE MODE_READ_RECOVERY_PAGE
STORPORT_API VOID NTAPI StorPortSynchronizeAccess(_In_ PVOID HwDeviceExtension, _In_ PSTOR_SYNCHRONIZED_ACCESS SynchronizedAccessRoutine, _In_opt_ PVOID Context)
FORCEINLINE ULONG StorPortFreeHighResolutionTimer(_In_ PVOID HwDeviceExtension, _In_ PVOID TimerHandle)
enum _VPD_CODE_SET VPD_CODE_SET
FORCEINLINE ULONG StorPortQueryDpcWatchdogInformation(_In_ PVOID HwDeviceExtension, _Out_ PSTOR_DPC_WATCHDOG_INFORMATION WatchdogInformation)
enum _STOR_POFX_PERF_STATE_UNIT STOR_POFX_PERF_STATE_UNIT
FORCEINLINE ULONG StorPortPoFxRegisterPerfStates(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_ ULONG ComponentIndex, _In_ ULONG PerfSetCount, _In_reads_(PerfSetCount) PSTOR_POFX_COMPONENT_PERF_SET *PerfSets)
#define STOR_ADDRESS_TYPE_NVME
struct _STARTIO_PERFORMANCE_PARAMETERS_V2 * PSTARTIO_PERFORMANCE_PARAMETERS_V2
struct STOR_ADDRESS_ALIGN _STOR_ADDR_NVME * PSTOR_ADDR_NVME
struct _MECHANICAL_STATUS * PMECHANICAL_STATUS
FORCEINLINE ULONG StorPortQueryConfiguration(_In_ PVOID HwDeviceExtension, _In_ STORPORT_QUERY_CONFIGURATION_TYPE Type, _Out_ PVOID Buffer, _In_ ULONG BufferLength)
FORCEINLINE ULONG StorPortAllocateDmaMemory(_In_ PVOID HwDeviceExtension, _In_ SIZE_T NumberOfBytes, _In_ PHYSICAL_ADDRESS LowestAcceptableAddress, _In_ PHYSICAL_ADDRESS HighestAcceptableAddress, _In_opt_ PHYSICAL_ADDRESS BoundaryAddressMultiple, _In_ MEMORY_CACHING_TYPE CacheType, _In_ NODE_REQUIREMENT PreferredNode, _Out_ PVOID *BufferPointer, _Out_ PPHYSICAL_ADDRESS PhysicalAddress)
enum _STORPORT_ETW_EVENT_OPCODE * PSTORPORT_ETW_EVENT_OPCODE
enum _RAID_SYSTEM_POWER * PRAID_SYSTEM_POWER
struct _LOG_PAGE * PLOG_PAGE
struct STOR_ADDRESS_ALIGN _STOR_ADDR_NVME STOR_ADDR_NVME
struct _MODE_MRW_PAGE MODE_MRW_PAGE
struct _STOR_REPORT_INTERNAL_DATA * PSTOR_REPORT_INTERNAL_DATA
struct _STOR_CRYPTO_CAPABILITY STOR_CRYPTO_CAPABILITY
FORCEINLINE ULONG StorPortPoFxSetIdleTimeout(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_ ULONG IdleTimeout)
struct _PHYSICAL_ELEMENT_STATUS_PARAMETER_DATA * PPHYSICAL_ELEMENT_STATUS_PARAMETER_DATA
struct _CDVD_KEY_DATA * PCDVD_KEY_DATA
VOID(NTAPI * PHW_PROCESS_SERVICE_REQUEST)(_In_ PVOID DeviceExtension, _In_ PVOID Irp)
enum _GETSGSTATUS * PGETSGSTATUS
struct _STARTIO_PERFORMANCE_PARAMETERS_V2 STARTIO_PERFORMANCE_PARAMETERS_V2
struct _MODE_DISCONNECT_PAGE MODE_DISCONNECT_PAGE
enum _RAID_SYSTEM_POWER RAID_SYSTEM_POWER
struct _PHYSICAL_ELEMENT_STATUS_PARAMETER_DATA PHYSICAL_ELEMENT_STATUS_PARAMETER_DATA
struct _STOR_RESET_BUS_SYNCHRONOUS_PARAMETER STOR_RESET_BUS_SYNCHRONOUS_PARAMETER
struct _SAVED_INTERNAL_STATUS_PARAMETER_DATA SAVED_INTERNAL_STATUS_PARAMETER_DATA
VOID(NTAPI * PHW_CLEANUP_TRACING)(_In_ PVOID Arg1)
struct _VPD_SUPPORTED_PAGES_PAGE * PVPD_SUPPORTED_PAGES_PAGE
struct _LOG_PARAMETER_THRESHOLD_RESOURCE_COUNT * PLOG_PARAMETER_THRESHOLD_RESOURCE_COUNT
STORPORT_API ULONG NTAPI StorPortGetBusData(_In_ PVOID DeviceExtension, _In_ ULONG BusDataType, _In_ ULONG SystemIoBusNumber, _In_ ULONG SlotNumber, _Out_ _When_(Length !=0, _Out_writes_bytes_(Length)) PVOID Buffer, _In_ ULONG Length)
struct _STORPORT_TELEMETRY_EVENT * PSTORPORT_TELEMETRY_EVENT
union _EIGHT_BYTE * PEIGHT_BYTE
struct _READ_BLOCK_LIMITS * PREAD_BLOCK_LIMITS_DATA
enum _NVME_NAMESPACE_CONTROL_TYPE * PNVME_NAMESPACE_CONTROL_TYPE
struct _MODE_CONTROL_PAGE * PMODE_CONTROL_PAGE
struct _STOR_DEVICE_CAPABILITIES STOR_DEVICE_CAPABILITIES
FORCEINLINE ULONG StorPortCancelDpc(_In_ PVOID HwDeviceExtension, _In_ PSTOR_DPC Dpc, _Out_ PBOOLEAN Cancelled)
enum _NVME_ADAPTER_CONTROL_TYPE * PNVME_ADAPTER_CONTROL_TYPE
struct _SCSI_PNP_REQUEST_BLOCK SCSI_PNP_REQUEST_BLOCK
struct _FORMATTED_CAPACITY_DESCRIPTOR * PFORMATTED_CAPACITY_DESCRIPTOR
FORCEINLINE ULONG StorPortFreeTimer(_In_ PVOID HwDeviceExtension, _In_ PVOID TimerHandle)
enum _NVME_ADAPTER_CONTROL_STATUS NVME_ADAPTER_CONTROL_STATUS
struct _STOR_DPC STOR_DPC
enum SRBEX_DATA_NVME_RESPONSE_FLAG * PSRBEX_DATA_NVME_RESPONSE_FLAG
#define EVENT_NAME_MAX_LENGTH
struct _VPD_ZONED_BLOCK_DEVICE_CHARACTERISTICS_PAGE * PVPD_ZONED_BLOCK_DEVICE_CHARACTERISTICS_PAGE
struct _VPD_IDENTIFICATION_PAGE * PVPD_IDENTIFICATION_PAGE
struct _MEMORY_REGION * PMEMORY_REGION
struct STOR_ADDRESS_ALIGN _STOR_ADDR_BTL8 * PSTOR_ADDR_BTL8
FORCEINLINE ULONG StorPortRequestTimer(_In_ PVOID HwDeviceExtension, _In_ PVOID TimerHandle, _In_ PHW_TIMER_EX TimerCallback, _In_opt_ PVOID CallbackContext, _In_ ULONGLONG TimerValue, _In_ ULONGLONG TolerableDelay)
struct _MODE_PARAMETER_HEADER10 MODE_PARAMETER_HEADER10
struct _DPC_BUFFER DPC_BUFFER
struct _STOR_CRYPTO_OPERATION STOR_CRYPTO_OPERATION
struct _STOR_CRYPTO_CAPABILITIES_DATA * PSTOR_CRYPTO_CAPABILITIES_DATA
FORCEINLINE ULONG StorPortInitializeEvent(_In_ PVOID HwDeviceExtension, _In_ PSTOR_EVENT Event, _In_ STOR_EVENT_TYPE Type, _In_ BOOLEAN State)
struct _MODE_MRW_PAGE * PMODE_MRW_PAGE
enum _STORPORT_FUNCTION_CODE STORPORT_FUNCTION_CODE
STORAGE_CRYPTO_ALGORITHM_ID * PSTOR_CRYPTO_ALGORITHM_ID
union _FOUR_BYTE FOUR_BYTE
struct _CDVD_TITLE_KEY_HEADER CDVD_TITLE_KEY_HEADER
struct _STOR_DEVICE_CAPABILITIES * PSTOR_DEVICE_CAPABILITIES
struct _STOR_CRYPTO_KEY_INFO STOR_CRYPTO_KEY_INFO
struct _PRI_RESERVATION_LIST PRI_RESERVATION_LIST
enum _STOR_IMPORTANCE STOR_IMPORTANCE
struct _MODE_RIGID_GEOMETRY_PAGE MODE_RIGID_GEOMETRY_PAGE
@ InternalDataScopeInMemoryState
@ InternalDataScopeUndefined
struct _HW_INITIALIZATION_DATA HW_INITIALIZATION_DATA
union _SENSE_DATA_EX SENSE_DATA_EX
struct _SCSI_POWER_REQUEST_BLOCK SCSI_POWER_REQUEST_BLOCK
VOID(NTAPI * PHW_STATE_CHANGE)(_In_ PVOID HwDeviceExtension, _In_opt_ PVOID Context, _In_ SHORT AddressType, _In_ PVOID Address, _In_ ULONG Status)
_STORAGE_CRYPTO_ALGORITHM_ID
@ StorageCryptoAlgorithmBitlockerAESCBC
@ StorageCryptoAlgorithmUnknown
@ StorageCryptoAlgorithmESSIVAESCBC
@ StorCryptoAlgorithmXTSAES
@ StorCryptoAlgorithmAESECB
@ StorageCryptoAlgorithmAESECB
@ StorageCryptoAlgorithmXTSAES
@ StorageCryptoAlgorithmMax
@ StorCryptoAlgorithmBitlockerAESCBC
@ StorCryptoAlgorithmUnknown
@ StorCryptoAlgorithmESSIVAESCBC
struct _SENSE_DATA * PSENSE_DATA
struct _PORT_OUTPUT PORT_OUTPUT
struct _FORMATTED_CAPACITY_DESCRIPTOR FORMATTED_CAPACITY_DESCRIPTOR
struct _STOR_MAX_OPERATIONAL_POWER * PSTOR_MAX_OPERATIONAL_POWER
FORCEINLINE ULONG StorPortGetDataInBufferSystemAddress(_In_ PVOID HwDeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb, _Out_ PVOID *SystemAddress)
STORPORT_API VOID NTAPI StorPortWriteRegisterUshort(_In_ PVOID HwDeviceExtension, _In_ PUSHORT Register, _In_ USHORT Value)
struct _VPD_ATA_INFORMATION_PAGE VPD_ATA_INFORMATION_PAGE
struct _STORPORT_EXTENDED_FUNCTIONS STORPORT_EXTENDED_FUNCTIONS
struct _FORMATTED_CAPACITY_LIST * PFORMATTED_CAPACITY_LIST
struct _STOR_POFX_PERF_STATE_CONTEXT STOR_POFX_PERF_STATE_CONTEXT
struct _STOR_POWER_CONTROL_HEADER * PSTOR_POWER_CONTROL_HEADER
enum _NVME_ADAPTER_CONTROL_STATUS * PNVME_ADAPTER_CONTROL_STATUS
struct _LOG_PAGE LOG_PAGE
struct _DATA_BLOCK_HEADER DATA_BLOCK_HEADER
union _STORAGE_SECURITY_COMPLIANCE_BITMASK STORAGE_SECURITY_COMPLIANCE_BITMASK
struct _SCSI_POWER_REQUEST_BLOCK * PSCSI_POWER_REQUEST_BLOCK
FORCEINLINE ULONG StorPortQueryDepthSList(_In_ PVOID HwDeviceExtension, _In_ PSLIST_HEADER SListHead, _Out_ PUSHORT Depth)
VOID(NTAPI * PHW_TIMER)(_In_ PVOID DeviceExtension)
struct _STOR_SLIST_ENTRY * PSTOR_SLIST_ENTRY
FORCEINLINE ULONG StorPortInitializePoFxPower(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_ PSTOR_POFX_DEVICE Device, _Inout_ PBOOLEAN D3ColdEnabled)
STORPORT_API VOID NTAPI StorPortWritePortBufferUshort(_In_ PVOID HwDeviceExtension, _In_ PUSHORT Port, _In_ PUSHORT Buffer, _In_ ULONG Count)
struct _READ_BLOCK_LIMITS READ_BLOCK_LIMITS_DATA
struct _STOR_SCATTER_GATHER_ELEMENT STOR_SCATTER_GATHER_ELEMENT
struct _UNMAP_LIST_HEADER * PUNMAP_LIST_HEADER
struct _MODE_CACHING_PAGE MODE_CACHING_PAGE
struct _SCSI_SUPPORTED_CONTROL_TYPE_LIST * PSCSI_SUPPORTED_CONTROL_TYPE_LIST
struct _STORPORT_LIVEDUMP_DEVICE_TELEMETRY_LOG * PSTORPORT_LIVEDUMP_DEVICE_TELEMETRY_LOG
enum _STOR_CRYPTO_OPERATION_TYPE STOR_CRYPTO_OPERATION_TYPE
struct _MODE_CDROM_WRITE_PARAMETERS_PAGE MODE_CDROM_WRITE_PARAMETERS_PAGE
struct PRI_FULL_STATUS_LIST * PPRI_FULL_STATUS_LIST
_NVME_ADAPTER_CONTROL_STATUS
@ NvmeAdapterControlSuccess
@ NvmeAdapterControlUnsuccessful
@ NvmeAdapterControlRetryNeeded
@ NvmeAdapterControlBufferTooSmall
struct _MODE_PARAMETER_HEADER MODE_PARAMETER_HEADER
FORCEINLINE ULONG StorPortInitializePerfOpts(_In_ PVOID HwDeviceExtension, _In_ BOOLEAN Query, _Inout_ PPERF_CONFIGURATION_DATA PerfConfigData)
#define STOR_STATUS_SUCCESS
@ StorCryptoKeySizeUnknown
@ StorCryptoKeySize192Bits
@ StorageCryptoKeySizeUnknown
@ StorageCryptoKeySize256Bits
@ StorageCryptoKeySize128Bits
@ StorageCryptoKeySize192Bits
@ StorageCryptoKeySizeMax
@ StorageCryptoKeySize512Bits
@ StorCryptoKeySize128Bits
@ StorCryptoKeySize512Bits
@ StorCryptoKeySize256Bits
struct _SCSI_SENSE_DESCRIPTOR_ATA_STATUS_RETURN SCSI_SENSE_DESCRIPTOR_ATA_STATUS_RETURN
FORCEINLINE ULONG StorPortCaptureLiveDump(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_ PSTORPORT_CAPTURE_LIVEDUMP CaptureLivedump)
enum _SCSI_UNIT_CONTROL_TYPE * PSCSI_UNIT_CONTROL_TYPE
BOOLEAN(NTAPI * PHW_INTERRUPT)(_In_ PVOID DeviceExtension)
struct ST_PARAMETER_DATA * PST_PARAMETER_DATA
struct _VPD_BLOCK_LIMITS_PAGE * PVPD_BLOCK_LIMITS_PAGE
struct _NOTIFICATION_POWER_STATUS * PNOTIFICATION_POWER_STATUS
FORCEINLINE ULONG StorPortGetCurrentIrql(_In_ PVOID HwDeviceExtension, _Out_ PKIRQL Irql)
struct _CDVD_CHALLENGE_KEY_DATA CDVD_CHALLENGE_KEY_DATA
struct _STOR_CRYPTO_CAPABILITY * PSTOR_CRYPTO_CAPABILITY
struct _STOR_UNIT_CONTROL_POWER * PSTOR_UNIT_CONTROL_POWER
STORPORT_API VOID NTAPI StorPortFreeRegistryBuffer(_In_ PVOID HwDeviceExtension, _In_ PUCHAR Buffer)
_STORPORT_CAPTURE_LIVEDUMP_TYPE
@ StorportCaptureLiveDumpTypeFull
@ StorportCaptureLiveDumpTypeUndefined
@ StorportCaptureLiveDumpTypeMini
struct _LUN_LIST * PLUN_LIST
struct _CDVD_REPORT_ASF_DATA * PCDVD_REPORT_ASF_DATA
struct _VPD_IDENTIFICATION_DESCRIPTOR * PVPD_IDENTIFICATION_DESCRIPTOR
struct _MODE_INFO_EXCEPTIONS * PMODE_INFO_EXCEPTIONS
STORPORT_API BOOLEAN NTAPI StorPortValidateRange(_In_ PVOID HwDeviceExtension, _In_ INTERFACE_TYPE BusType, _In_ ULONG SystemIoBusNumber, _In_ STOR_PHYSICAL_ADDRESS IoAddress, _In_ ULONG NumberOfBytes, _In_ BOOLEAN InIoSpace)
struct _MODE_FLEXIBLE_DISK_PAGE MODE_FLEXIBLE_DISK_PAGE
enum _INTERNAL_DATA_SCOPE INTERNAL_DATA_SCOPE
struct _MECHANICAL_STATUS_INFORMATION_HEADER MECHANICAL_STATUS_INFORMATION_HEADER
enum _STOR_EVENT_TYPE * PSTOR_EVENT_TYPE
struct _SCSI_SENSE_DESCRIPTOR_HEADER SCSI_SENSE_DESCRIPTOR_HEADER
STORPORT_API PSTOR_SCATTER_GATHER_LIST NTAPI StorPortGetScatterGatherList(_In_ PVOID DeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb)
STORPORT_API VOID NTAPI StorPortReadRegisterBufferUchar(_In_ PVOID HwDeviceExtension, _In_ PUCHAR Register, _In_ PUCHAR Buffer, _In_ ULONG Count)
FORCEINLINE ULONG StorPortLogTelemetryEx(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_ PSTORPORT_TELEMETRY_EVENT Event, _In_ STOR_TELEMETRY_CATEGORY Category)
FORCEINLINE ULONG StorPortGetDataInBufferScatterGatherList(_In_ PVOID HwDeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb, _Out_ PSTOR_SCATTER_GATHER_LIST *SgList)
struct _FREE_MINIPORT_DUMP_INFO * PFREE_MINIPORT_DUMP_INFO
STORPORT_API STOR_PHYSICAL_ADDRESS NTAPI StorPortGetPhysicalAddress(_In_ PVOID HwDeviceExtension, _In_opt_ PSCSI_REQUEST_BLOCK Srb, _In_ PVOID VirtualAddress, _Out_ ULONG *Length)
struct _SCSI_EXTENDED_MESSAGE * PSCSI_EXTENDED_MESSAGE
FORCEINLINE ULONG StorPortRequestHighResolutionTimer(_In_ PVOID HwDeviceExtension, _In_ PVOID TimerHandle, _In_ ULONGLONG TimerValue)
FORCEINLINE ULONG StorPortSetEvent(_In_ PVOID HwDeviceExtension, _In_ PSTOR_EVENT Event, _Out_opt_ PLONG PreviousState)
enum _STOR_EVENT_TYPE STOR_EVENT_TYPE
struct _STOR_EXT_DELETE_PARAMETERS * PSTOR_EXT_DELETE_PARAMETERS
struct _STOR_POFX_DEVICE_V2 * PSTOR_POFX_DEVICE_V2
union _TWO_BYTE * PTWO_BYTE
struct _STOR_REQUEST_INFO_V1 STOR_REQUEST_INFO_V1
struct _STOR_EVENT * PSTOR_EVENT
struct _SUPPORTED_SECURITY_PROTOCOLS_PARAMETER_DATA * PSUPPORTED_SECURITY_PROTOCOLS_PARAMETER_DATA
struct _STOR_POFX_FSTATE_CONTEXT STOR_POFX_FSTATE_CONTEXT
union _FOUR_BYTE * PFOUR_BYTE
struct _VPD_ZONED_BLOCK_DEVICE_CHARACTERISTICS_PAGE VPD_ZONED_BLOCK_DEVICE_CHARACTERISTICS_PAGE
STORPORT_API BOOLEAN NTAPI StorPortRegistryRead(_In_ PVOID HwDeviceExtension, _In_ PUCHAR ValueName, _In_ ULONG Global, _In_ ULONG Type, _In_ PUCHAR Buffer, _In_ PULONG BufferLength)
SCSI_UNIT_CONTROL_STATUS(NTAPI * PHW_UNIT_CONTROL)(_In_ PVOID DeviceExtension, _In_ SCSI_UNIT_CONTROL_TYPE ControlType, _In_ PVOID Parameters)
FORCEINLINE BOOLEAN StorPortEnablePassiveInitialization(_In_ PVOID DeviceExtension, _In_ PHW_PASSIVE_INITIALIZE_ROUTINE HwPassiveInitializeRoutine)
STORPORT_API ULONG NTAPI StorPortReadPortUlong(_In_ PVOID HwDeviceExtension, _In_ PULONG Port)
SRBEX_DATA_NVME_COMMAND_TYPE
@ SRBEX_DATA_NVME_COMMAND_TYPE_FABRICS
@ SRBEX_DATA_NVME_COMMAND_TYPE_NVM
@ SRBEX_DATA_NVME_COMMAND_TYPE_ADMIN
struct _MODE_DISCONNECT_PAGE * PMODE_DISCONNECT_PAGE
STORAGE_CRYPTO_KEY_SIZE * PSTOR_CRYPTO_KEY_SIZE
FORCEINLINE ULONG StorPortFreeMdl(_In_ PVOID HwDeviceExtension, _In_ PVOID Mdl)
struct _MODE_PARAMETER_HEADER10 * PMODE_PARAMETER_HEADER10
struct _PHYSICAL_ELEMENT_STATUS_DATA_DESCRIPTOR PHYSICAL_ELEMENT_STATUS_DATA_DESCRIPTOR
#define STORPORT_LIVEDUMP_BUCKET_ID_LENGTH
struct _MODE_PAGE_SUBPAGE_HEADER MODE_PAGE_SUBPAGE_HEADER
struct _STOR_ADAPTER_CONTROL_POWER * PSTOR_ADAPTER_CONTROL_POWER
enum _SRBEXDATATYPE * PSRBEXDATATYPE
STORPORT_API BOOLEAN NTAPI StorPortPauseDevice(_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun, _In_ ULONG TimeOut)
enum _INTERNAL_DATA_SCOPE * PINTERNAL_DATA_SCOPE
FORCEINLINE ULONG StorPortInterlockedFlushSList(_In_ PVOID HwDeviceExtension, _In_ PSLIST_HEADER SListHead, _Out_ PSLIST_ENTRY *Result)
STORPORT_API VOID NTAPI StorPortWritePortUchar(_In_ PVOID HwDeviceExtension, _In_ PUCHAR Port, _In_ UCHAR Value)
#define FREE_DUMP_INFO_SIGNATURE
#define EVENT_MAX_PARAM_NAME_LEN
struct _TRACK_INFORMATION3 TRACK_INFORMATION3
struct RS_ALL_COMMANDS_PARAMETER_DATA * PRS_ALL_COMMANDS_PARAMETER_DATA
@ StorRpmbFrameTypeUnknown
@ StorRpmbFrameTypeStandard
FORCEINLINE ULONG StorPortAllocateHostMemoryBuffer(_In_ PVOID HwDeviceExtension, _In_ SIZE_T MinimumBytes, _In_ SIZE_T PreferredBytes, _In_ ULONGLONG UtilizationBytes, _In_ ULONG AlignmentBytes, _In_ PHYSICAL_ADDRESS LowestAcceptableAddress, _In_ PHYSICAL_ADDRESS HighestAcceptableAddress, _In_opt_ PHYSICAL_ADDRESS BoundaryAddressMultiple, _Out_ PACCESS_RANGE PhysicalAddressRanges, _Inout_ PULONG PhysicalAddressRangeCount)
struct _STORPORT_EXTENDED_FUNCTIONS * PSTORPORT_EXTENDED_FUNCTIONS
struct _PRI_REGISTRATION_LIST PRI_REGISTRATION_LIST
struct SRB_ALIGN _SRBEX_DATA_MINIPORT_PASSTHROUGH SRBEX_DATA_MINIPORT_PASSTHROUGH
struct _STOR_POFX_DEVICE STOR_POFX_DEVICE
struct _VPD_BLOCK_LIMITS_PAGE VPD_BLOCK_LIMITS_PAGE
struct _STOR_UNICODE_STRING STOR_UNICODE_STRING
enum _OPERATION_STATUS OPERATION_STATUS
VOID(NTAPI * PpostScaterGatherExecute)(_In_ PVOID *DeviceObject, _In_ PVOID *Irp, _In_ PSTOR_SCATTER_GATHER_LIST ScatterGather, _In_ PVOID Context)
#define EVENT_BUFFER_MAX_LENGTH
struct _AUDIO_OUTPUT AUDIO_OUTPUT
BOOLEAN(NTAPI * PHW_ADAPTER_STATE)(IN PVOID DeviceExtension, IN PVOID Context, IN BOOLEAN SaveState)
struct _STOR_POFX_PERF_STATE STOR_POFX_PERF_STATE
FORCEINLINE ULONG StorPortPoFxSetComponentLatency(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_ ULONG Component, _In_ ULONGLONG Latency)
struct _ERROR_HISTORY_DIRECTORY_ENTRY * PERROR_HISTORY_DIRECTORY_ENTRY
struct _SUPPORTED_SECURITY_PROTOCOLS_PARAMETER_DATA SUPPORTED_SECURITY_PROTOCOLS_PARAMETER_DATA
enum _STOR_CRYPTO_OPERATION_TYPE * PSTOR_CRYPTO_OPERATION_TYPE
struct _VPD_BLOCK_DEVICE_CHARACTERISTICS_PAGE VPD_BLOCK_DEVICE_CHARACTERISTICS_PAGE
_STOR_CRYPTO_OPERATION_TYPE
@ StorCryptoOperationInsertKey
FORCEINLINE ULONG StorPortInitializeCryptoEngine(_In_ PVOID HwDeviceExtension, _In_ PSTOR_CRYPTO_CAPABILITIES_DATA CryptoCapabilities)
struct RECEIVE_TOKEN_INFORMATION_HEADER * PRECEIVE_TOKEN_INFORMATION_HEADER
FORCEINLINE ULONG StorPortBuildScatterGatherList(_In_ PVOID HwDeviceExtension, _In_ PVOID Mdl, _In_ PVOID CurrentVa, _In_ ULONG Length, _In_ PpostScaterGatherExecute ExecutionRoutine, _In_ PVOID Context, _In_ BOOLEAN WriteToDevice, _Inout_ PVOID ScatterGatherBuffer, _In_ ULONG ScatterGatherBufferLength)
struct _SCSI_SENSE_DESCRIPTOR_ATA_STATUS_RETURN * PSCSI_SENSE_DESCRIPTOR_ATA_STATUS_RETURN
STORPORT_API PUCHAR NTAPI StorPortAllocateRegistryBuffer(_In_ PVOID HwDeviceExtension, _In_ PULONG Length)
FORCEINLINE ULONG StorPortCreateSystemThread(_In_ PVOID HwDeviceExtension, _In_ PVOID ThreadStartRoutine, _In_opt_ PVOID StartContext, _Out_ PVOID *ThreadHandle)
STOR_SYNCHRONIZED_ACCESS * PSTOR_SYNCHRONIZED_ACCESS
enum _STOR_SPINLOCK STOR_SPINLOCK
struct _CDAUDIO_CONTROL_PAGE * PCDAUDIO_CONTROL_PAGE
struct _NOTIFICATION_EVENT_STATUS_HEADER * PNOTIFICATION_EVENT_STATUS_HEADER
struct _MODE_CACHING_PAGE_EX MODE_CACHING_PAGE_EX
STORPORT_API VOID NTAPI StorPortReadPortBufferUchar(_In_ PVOID HwDeviceExtension, _In_ PUCHAR Port, _In_ PUCHAR Buffer, _In_ ULONG Count)
STORPORT_API BOOLEAN NTAPI StorPortReady(_In_ PVOID HwDeviceExtension)
struct SRB_ALIGN _SRBEX_DATA * PSRBEX_DATA
struct _POWER_CONDITION_PAGE POWER_CONDITION_PAGE
struct _STOR_POFX_DEVICE_V2 STOR_POFX_DEVICE_V2
BOOLEAN(NTAPI * PHW_RESET_BUS)(IN PVOID DeviceExtension, IN ULONG PathId)
struct _WINDOWS_BLOCK_DEVICE_TOKEN_LIMITS_DESCRIPTOR * PWINDOWS_BLOCK_DEVICE_TOKEN_LIMITS_DESCRIPTOR
struct _SENSE_DATA SENSE_DATA
struct _READ_DVD_STRUCTURES_HEADER READ_DVD_STRUCTURES_HEADER
struct PRI_FULL_STATUS_LIST_HEADER * PPRI_FULL_STATUS_LIST_HEADER
enum _SCSI_UC_DEVICE_USAGE_TYPE SCSI_UC_DEVICE_USAGE_TYPE
struct _LOG_PARAMETER_HEADER * PLOG_PARAMETER_HEADER
enum _STORPORT_ETW_LEVEL STORPORT_ETW_LEVEL
enum _STOR_IO_PRIORITY_HINT * PSTOR_IO_PRIORITY_HINT
struct _MODE_INFO_EXCEPTIONS MODE_INFO_EXCEPTIONS
struct _CDVD_INACTIVITY_TIMEOUT_PAGE CDVD_INACTIVITY_TIMEOUT_PAGE
STORPORT_API ULONG64 NTAPI StorPortConvertPhysicalAddressToUlong64(_In_ STOR_PHYSICAL_ADDRESS Address)
enum _STORPORT_FEATURE_TYPE STORPORT_FEATURE_TYPE
FORCEINLINE ULONG StorPortPoFxSetPerfState(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_ ULONG ComponentIndex, _In_ ULONG PerfSetIndex, _In_ ULONGLONG Value, _In_opt_ PVOID Context)
struct _STOR_SET_EVENT_LOGGING * PSTOR_SET_EVENT_LOGGING
struct _STOR_SCATTER_GATHER_LIST * PSTOR_SCATTER_GATHER_LIST
STORPORT_API ULONG StorPortExtendedFunction(_In_ STORPORT_FUNCTION_CODE FunctionCode, _In_ PVOID HwDeviceExtension,...)
struct _NVME_SUPPORTED_CONTROL_TYPE_LIST * PNVME_SUPPORTED_CONTROL_TYPE_LIST
struct SRB_ALIGN _SRBEX_DATA_PNP SRBEX_DATA_PNP
struct _TRACK_INFORMATION TRACK_INFORMATION
struct _READ_CAPACITY_DATA_EX * PREAD_CAPACITY_DATA_EX
FORCEINLINE ULONG StorPortLogSystemEvent(_In_ PVOID HwDeviceExtension, _Inout_ PSTOR_LOG_EVENT_DETAILS LogDetails, _Inout_ PULONG MaximumSize)
struct _LBA_STATUS_DESCRIPTOR * PLBA_STATUS_DESCRIPTOR
struct _CDVD_REPORT_AGID_DATA * PCDVD_REPORT_AGID_DATA
BOOLEAN(NTAPI * PHW_INITIALIZE)(_In_ PVOID DeviceExtension)
struct _NOTIFICATION_BUSY_STATUS NOTIFICATION_BUSY_STATUS
struct _STOR_SET_EVENT_LOGGING STOR_SET_EVENT_LOGGING
struct _PERFORMANCE_DESCRIPTOR * PPERFORMANCE_DESCRIPTOR
STORPORT_API VOID NTAPI StorPortWritePortBufferUchar(_In_ PVOID HwDeviceExtension, _In_ PUCHAR Port, _In_ PUCHAR Buffer, _In_ ULONG Count)
#define STOR_SERIAL_NUMBER_MAX_SIZE
#define GET_DUMP_INFO_VERSION_1
struct _MINIPORT_DUMP_POINTERS MINIPORT_DUMP_POINTERS
struct _STORPORT_LIVEDUMP_DEVICE_TELEMETRY_LOG STORPORT_LIVEDUMP_DEVICE_TELEMETRY_LOG
struct _REPORT_ZONES_DATA REPORT_ZONES_DATA
struct PRI_REPORT_CAPABILITIES * PPRI_REPORT_CAPABILITIES
enum _SCSI_UNIT_CONTROL_TYPE SCSI_UNIT_CONTROL_TYPE
FORCEINLINE ULONG StorPortDelayExecution(_In_ PVOID HwDeviceExtension, _In_opt_ PSCSI_REQUEST_BLOCK Srb, _In_ LONGLONG Delay)
struct _NOTIFICATION_MEDIA_STATUS * PNOTIFICATION_MEDIA_STATUS
struct _MESSAGE_INTERRUPT_INFORMATION * PMESSAGE_INTERRUPT_INFORMATION
struct _SCSI_REQUEST_BLOCK * PSCSI_REQUEST_BLOCK
struct _FORMAT_LIST_HEADER FORMAT_LIST_HEADER
STORPORT_API VOID NTAPI StorPortCompleteRequest(_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun, _In_ UCHAR SrbStatus)
struct SRB_ALIGN _SRBEX_DATA_WMI SRBEX_DATA_WMI
struct _MODE_PARM_READ_WRITE MODE_PARM_READ_WRITE_DATA
enum _SCSI_UNIT_CONTROL_STATUS * PSCSI_UNIT_CONTROL_STATUS
struct _STOR_FRU_ID_DESCRIPTION * PSTOR_FRU_ID_DESCRIPTION
struct _STOR_POFX_COMPONENT_IDLE_STATE * PSTOR_POFX_COMPONENT_IDLE_STATE
STORPORT_API ULONG NTAPI StorPortSetBusDataByOffset(_In_ PVOID DeviceExtension, _In_ ULONG BusDataType, _In_ ULONG SystemIoBusNumber, _In_ ULONG SlotNumber, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
STORPORT_API PVOID NTAPI StorPortGetDeviceBase(_In_ PVOID HwDeviceExtension, _In_ INTERFACE_TYPE BusType, _In_ ULONG SystemIoBusNumber, _In_ STOR_PHYSICAL_ADDRESS IoAddress, _In_ ULONG NumberOfBytes, _In_ BOOLEAN InIoSpace)
VOID(NTAPI * PHW_DPC_ROUTINE)(_In_ PSTOR_DPC Dpc, _In_ PVOID HwDeviceExtension, _In_ PVOID SystemArgument1, _In_ PVOID SystemArgument2)
struct _STOR_SERIAL_NUMBER * PSTOR_SERIAL_NUMBER
FORCEINLINE ULONG StorPortSetPriorityThread(_In_ PVOID HwDeviceExtension, _In_ PVOID ThreadHandle, _In_ STOR_THREAD_PRIORITY Priority, _Out_opt_ PSTOR_THREAD_PRIORITY OldPriority)
struct _TRACK_INFORMATION2 TRACK_INFORMATION2
struct _STOR_LOCK_HANDLE * PSTOR_LOCK_HANDLE
struct _MINIPORT_MAPPINGS MINIPORT_MAPPINGS
struct _MESSAGE_INTERRUPT_INFORMATION MESSAGE_INTERRUPT_INFORMATION
STORPORT_API VOID NTAPI StorPortQuerySystemTime(_Out_ PLARGE_INTEGER CurrentTime)
struct _STOR_EXT_SET_PARAMETERS STOR_EXT_SET_PARAMETERS
struct _CDVD_CAPABILITIES_PAGE * PCDVD_CAPABILITIES_PAGE
FORCEINLINE ULONG StorPortDeviceOperationAllowed(_In_ PVOID HwDeviceExtension, _In_ PSTOR_ADDRESS Address, _In_ LPCGUID DeviceOperation, _Inout_ PULONG AllowedFlag)
@ StorThreadPriorityDelayed
@ StorThreadPrioritySuperCritical
@ StorThreadPriorityNormal
@ StorThreadPriorityCritical
@ StorThreadPriorityBackground
@ StorThreadPriorityRealTime
@ StorThreadPriorityHyperCritical
struct _CDVD_CHALLENGE_KEY_DATA * PCDVD_CHALLENGE_KEY_DATA
struct STOR_ADDRESS_ALIGN _STOR_ADDR_BTL8 STOR_ADDR_BTL8
struct _STOR_DISPATCHER_HEADER STOR_DISPATCHER_HEADER
STORPORT_API USHORT NTAPI StorPortReadPortUshort(_In_ PVOID HwDeviceExtension, _In_ PUSHORT Port)
struct _SENSE_DATA * PFIXED_SENSE_DATA
SRBEX_DATA_NVME_RESPONSE_FLAG
@ SRBEX_DATA_NVME_RESPONSE_FLAG_SQHD_VALID
enum _STORPORT_CAPTURE_LIVEDUMP_TYPE STORPORT_CAPTURE_LIVEDUMP_TYPE
struct _MINIPORT_DUMP_INFO MINIPORT_DUMP_INFO
struct PRI_FULL_STATUS_DESCRIPTOR_HEADER * PPRI_FULL_STATUS_DESCRIPTOR_HEADER
struct _VPD_MEDIA_SERIAL_NUMBER_PAGE * PVPD_MEDIA_SERIAL_NUMBER_PAGE
struct _STOR_POFX_ACTIVE_CONTEXT * PSTOR_POFX_ACTIVE_CONTEXT
struct _SCSI_SENSE_DESCRIPTOR_INFORMATION * PSCSI_SENSE_DESCRIPTOR_INFORMATION
_STOR_POFX_PERF_STATE_UNIT
@ StorPoFxPerfStateUnitMilliwatts
@ StorPoFxPerfStateUnitBandwidth
@ StorPoFxPerfStateUnitFrequency
@ StorPoFxPerfStateUnitOther
@ StorPoFxPerfStateUnitMaximum
struct _STOR_LOG_EVENT_DETAILS STOR_LOG_EVENT_DETAILS
FORCEINLINE ULONG StorPortInitializeSpinLock(_In_ PVOID HwDeviceExtension, _In_ PSTOR_KSPIN_LOCK SpinLock)
enum _STOR_DMA_WIDTH STOR_DMA_WIDTH
enum _TRANSFER_COUNT_UNITS * PTRANSFER_COUNT_UNITS
struct _STOR_POFX_COMPONENT * PSTOR_POFX_COMPONENT
struct _T2_COMMAND_DURATION_LIMIT_DESCRIPTOR * PT2_COMMAND_DURATION_LIMIT_DESCRIPTOR
@ ScsiUnitPoFxPowerSetFState
@ ScsiUnitRichDescription
@ ScsiQuerySupportedUnitControlTypes
@ ScsiUnitPoFxPowerRequired
@ MakeUnitControlTypeSizeOfUlong
@ ScsiUnitPoFxPowerActive
@ ScsiUnitPoFxPowerControl
@ ScsiUnitSurpriseRemoval
@ ScsiUnitReportInternalData
@ ScsiUnitNvmeIceInformation
struct _PORT_CONFIGURATION_INFORMATION PORT_CONFIGURATION_INFORMATION
struct _STOR_DISPATCHER_HEADER * PSTOR_DISPATCHER_HEADER
@ StorMediumHighImportance
enum _NVME_NAMESPACE_CONTROL_STATUS NVME_NAMESPACE_CONTROL_STATUS
struct _STOR_MAX_OPERATIONAL_POWER STOR_MAX_OPERATIONAL_POWER
@ OPERATION_IN_PROGRESS_IN_FOREGROUND
@ OPERATION_IN_PROGRESS_IN_BACKGROUND
@ OPERATION_COMPLETED_WITH_SUCCESS
@ OPERATION_COMPLETED_WITH_ERROR
@ OPERATION_COMPLETED_WITH_RESIDUAL_DATA
STORPORT_API BOOLEAN NTAPI StorPortDeviceReady(_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun)
struct _FORMAT_DESCRIPTOR FORMAT_DESCRIPTOR
#define STOR_ADDRESS_ALIGN
enum _STOR_POWER_ACTION * PSTOR_POWER_ACTION
struct _STOR_GROUP_AFFINITY * PSTOR_GROUP_AFFINITY
struct _MODE_FORMAT_PAGE MODE_FORMAT_PAGE
struct _STOR_POFX_PERF_STATE_CONTEXT * PSTOR_POFX_PERF_STATE_CONTEXT
enum _STOR_TELEMETRY_CATEGORY * PSTOR_TELEMETRY_CATEGORY
STORPORT_API VOID NTAPI StorPortReadRegisterBufferUlong(_In_ PVOID HwDeviceExtension, _In_ PULONG Register, _In_ PULONG Buffer, _In_ ULONG Count)
struct SRB_ALIGN _SRBEX_DATA_IO_INFO * PSRBEX_DATA_IO_INFO
struct _STOR_CRYPTO_OPERATION_INSERT_KEY STOR_CRYPTO_OPERATION_INSERT_KEY
struct _STOR_SYSTEM_POWER_HINTS * PSTOR_SYSTEM_POWER_HINTS
STORPORT_API BOOLEAN NTAPI StorPortPause(_In_ PVOID HwDeviceExtension, _In_ ULONG TimeOut)
struct _STOR_DEVICE_CAPABILITIES_EX STOR_DEVICE_CAPABILITIES_EX
FORCEINLINE ULONG StorPortGetRequestInfo(_In_ PVOID HwDeviceExtension, _In_opt_ PSCSI_REQUEST_BLOCK Srb, _Out_ PSTOR_REQUEST_INFO RequestInfo)
FORCEINLINE ULONG StorPortPoFxActivateComponent(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_opt_ PSCSI_REQUEST_BLOCK Srb, _In_ ULONG Component, _In_ ULONG Flags)
enum _STOR_POWER_ACTION STOR_POWER_ACTION
struct _STOR_CRYPTO_KEY_INFO * PSTOR_CRYPTO_KEY_INFO
enum _STORPORT_LIVEDUMP_DATA_TYPE * PSTORPORT_LIVEDUMP_DATA_TYPE
struct _TAPE_POSITION_DATA TAPE_POSITION_DATA
#define SRBEX_DATA_NVMEOF_OPERATION_LENGTH
FORCEINLINE ULONG StorPortFreeDmaMemory(_In_ PVOID HwDeviceExtension, _In_ PVOID BaseAddress, _In_ SIZE_T NumberOfBytes, _In_ MEMORY_CACHING_TYPE CacheType, _In_ PHYSICAL_ADDRESS PhysicalAddress)
enum _STOR_IO_PRIORITY_HINT STOR_IO_PRIORITY_HINT
STORPORT_API PVOID NTAPI StorPortGetVirtualAddress(_In_ PVOID HwDeviceExtension, _In_ STOR_PHYSICAL_ADDRESS PhysicalAddress)
FORCEINLINE ULONG StorPortGetDataInBufferMdl(_In_ PVOID HwDeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb, _Out_ PVOID *Mdl)
FORCEINLINE ULONG StorPortGetOriginalMdl(_In_ PVOID HwDeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb, _Out_ PVOID *Mdl)
struct _MECHANICAL_STATUS MECHANICAL_STATUS
STORPORT_API VOID NTAPI StorPortWritePortBufferUlong(_In_ PVOID HwDeviceExtension, _In_ PULONG Port, _In_ PULONG Buffer, _In_ ULONG Count)
struct _STOR_CRYPTO_OPERATION * PSTOR_CRYPTO_OPERATION
ULONG(NTAPI * PVIRTUAL_HW_FIND_ADAPTER)(_In_ PVOID DeviceExtension, _In_ PVOID HwContext, _In_ PVOID BusInformation, _In_ PVOID LowerDevice, _In_ PCHAR ArgumentString, _Inout_ PPORT_CONFIGURATION_INFORMATION ConfigInfo, _In_ PBOOLEAN Again)
struct SRB_ALIGN _SRBEX_DATA_POWER SRBEX_DATA_POWER
STORPORT_API VOID NTAPI StorPortWriteRegisterUchar(_In_ PVOID HwDeviceExtension, _In_ PUCHAR Register, _In_ UCHAR Value)
FORCEINLINE ULONG StorPortInitializeWorker(_In_ PVOID HwDeviceExtension, _Out_ PVOID *Worker)
#define STOR_ADDR_NVME_ADDRESS_LENGTH
struct _SCSI_WMI_REQUEST_BLOCK * PSCSI_WMI_REQUEST_BLOCK
struct _READ_CAPACITY16_DATA READ_CAPACITY16_DATA
struct _STOR_EXT_DELETE_PARAMETERS STOR_EXT_DELETE_PARAMETERS
STORPORT_API PSCSI_REQUEST_BLOCK NTAPI StorPortGetSrb(_In_ PVOID DeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun, _In_ LONG QueueTag)
FORCEINLINE ULONG StorPortMaskPciMsixEntry(_In_ PVOID HwDeviceExtension, _In_ ULONG MessageId, _In_ BOOLEAN Mask)
struct _CDVD_TITLE_KEY_HEADER * PCDVD_TITLE_KEY_HEADER
#define STOR_NVMEOF_OPERATION_V1
struct _LOG_PARAMETER LOG_PARAMETER
SCSI_ADAPTER_CONTROL_STATUS(NTAPI * PHW_ADAPTER_CONTROL)(IN PVOID DeviceExtension, IN SCSI_ADAPTER_CONTROL_TYPE ControlType, IN PVOID Parameters)
enum _STORPORT_CAPTURE_LIVEDUMP_TYPE * PSTORPORT_CAPTURE_LIVEDUMP_TYPE
struct _PRI_RESERVATION_DESCRIPTOR * PPRI_RESERVATION_DESCRIPTOR
@ VpdIdentifierTypeSCSINameString
@ VpdIdentifierTypeVendorId
@ VpdIdentifierTypeMD5LogicalUnitId
@ VpdIdentifierTypeTargetPortGroup
@ VpdIdentifierTypeLogicalUnitGroup
@ VpdIdentifierTypeFCPHName
@ VpdIdentifierTypePortRelative
@ VpdIdentifierTypeVendorSpecific
FORCEINLINE ULONG StorPortInvokeAcpiMethod(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_ ULONG MethodName, _In_opt_ PVOID InputBuffer, _In_ ULONG InputBufferLength, _Out_opt_ PVOID OutputBuffer, _In_ ULONG OutputBufferLength, _Out_opt_ PULONG BytesReturned)
STORPORT_API USHORT NTAPI StorPortReadRegisterUshort(_In_ PVOID HwDeviceExtension, _In_ PUSHORT Register)
enum _STORAGE_CRYPTO_KEY_SIZE STORAGE_CRYPTO_KEY_SIZE
STORPORT_API VOID NTAPI StorPortStallExecution(_In_ ULONG Delay)
struct _NOTIFICATION_BUSY_STATUS * PNOTIFICATION_BUSY_STATUS
VOID(NTAPI * PSTOR_EXT_DELETE_CALLBACK)(_In_opt_ PVOID Context)
static const GUID STORPORT_POFX_ADAPTER_GUID
STORPORT_API VOID NTAPI StorPortReadRegisterBufferUshort(_In_ PVOID HwDeviceExtension, _In_ PUSHORT Register, _In_ PUSHORT Buffer, _In_ ULONG Count)
enum _VPD_ASSOCIATION * PVPD_ASSOCIATION
struct _STOR_UNIT_NVME_ICE_INFORMATION STOR_UNIT_NVME_ICE_INFORMATION
BOOLEAN(NTAPI * PHW_MESSAGE_SIGNALED_INTERRUPT_ROUTINE)(_In_ PVOID HwDeviceExtension, _In_ ULONG MessageId)
enum _STOR_RPMB_FRAME_TYPE STOR_RPMB_FRAME_TYPE
FORCEINLINE ULONG StorPortPutScatterGatherList(_In_ PVOID HwDeviceExtension, _In_ PSTOR_SCATTER_GATHER_LIST ScatterGatherList, _In_ BOOLEAN WriteToDevice)
struct _REPORT_ZONES_DATA * PREPORT_ZONES_DATA
enum _NVME_NAMESPACE_CONTROL_STATUS * PNVME_NAMESPACE_CONTROL_STATUS
struct _STOR_SYSTEM_POWER_HINTS STOR_SYSTEM_POWER_HINTS
VOID(NTAPI * PHW_INITIALIZE_TRACING)(_In_ PVOID Arg1, _In_ PVOID Arg2)
struct _MODE_CACHING_PAGE_EX * PMODE_CACHING_PAGE_EX
STORPORT_API BOOLEAN NTAPI StorPortResume(_In_ PVOID HwDeviceExtension)
struct _STOR_POFX_DEVICE_V3 * PSTOR_POFX_DEVICE_V3
struct _STOR_CRYPTO_OPERATION_INSERT_KEY * PSTOR_CRYPTO_OPERATION_INSERT_KEY
FORCEINLINE ULONG StorPortGetCurrentProcessorIndex(_In_ PVOID HwDeviceExtension, _Out_ PULONG ProcessorIndex)
struct _SCSI_EXTENDED_MESSAGE SCSI_EXTENDED_MESSAGE
enum _TRANSFER_COUNT_UNITS TRANSFER_COUNT_UNITS
FORCEINLINE ULONG StorPortSetUnitAttributes(_In_ PVOID HwDeviceExtension, _In_ PSTOR_ADDRESS Address, _In_ STOR_UNIT_ATTRIBUTES Attributes)
struct _MODE_READ_WRITE_RECOVERY_PAGE MODE_READ_WRITE_RECOVERY_PAGE
struct SRB_ALIGN _SRBEX_DATA_NVMEOF_OPERATION * PSRBEX_DATA_NVMEOF_OPERATION
struct _STOR_REQUEST_INFO_V1 * PSTOR_REQUEST_INFO_V1
@ SrbExDataTypeMSReservedStart
@ SrbExDataTypeMiniportPassthrough
@ SrbExDataTypeNvmeofOperation
@ SrbExDataTypeNvmeCommand
@ SrbExDataTypeBidirectional
@ SrbExDataTypeScsiCdbVar
@ SrbExDataTypePassthroughDirect
struct _UNMAP_BLOCK_DESCRIPTOR * PUNMAP_BLOCK_DESCRIPTOR
struct PRI_FULL_STATUS_DESCRIPTOR * PPRI_FULL_STATUS_DESCRIPTOR
#define MINIPORT_DUMP_INFO_SIGNATURE
struct RECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER * PRECEIVE_TOKEN_INFORMATION_RESPONSE_HEADER
STORPORT_API VOID NTAPI StorPortWriteRegisterBufferUshort(_In_ PVOID HwDeviceExtension, _In_ PUSHORT Register, _In_ PUSHORT Buffer, _In_ ULONG Count)
struct _OVERWRITE_PARAMETER_LIST * POVERWRITE_PARAMETER_LIST
enum _STORPORT_ETW_EVENT_CHANNEL STORPORT_ETW_EVENT_CHANNEL
enum SRBEX_DATA_NVME_COMMAND_TYPE * PSRBEX_DATA_NVME_COMMAND_TYPE
struct _STOR_RPMB_CAPABILITIES_DATA STOR_RPMB_CAPABILITIES_DATA
union _STOR_SLIST_HEADER * PSTOR_SLIST_HEADER
@ StorportEtwLevelVerbose
@ StorportEtwLevelLogAlways
@ StorportEtwLevelCritical
@ StorportEtwLevelInformational
@ StorportEtwLevelWarning
struct _INQUIRYDATA INQUIRYDATA
struct SRB_ALIGN _SRBEX_DATA_BIDIRECTIONAL SRBEX_DATA_BIDIRECTIONAL
enum _INTERRUPT_SYNCHRONIZATION_MODE INTERRUPT_SYNCHRONIZATION_MODE
enum _NVME_ADAPTER_CONTROL_TYPE NVME_ADAPTER_CONTROL_TYPE
struct _PRO_PARAMETER_LIST PRO_PARAMETER_LIST
struct _MODE_CONTROL_PAGE MODE_CONTROL_PAGE
enum _SCSI_ADAPTER_CONTROL_TYPE * PSCSI_ADAPTER_CONTROL_TYPE
STOR_REQUEST_INFO_V2 STOR_REQUEST_INFO
enum _STOR_POFX_PERF_STATE_UNIT * PSTOR_POFX_PERF_STATE_UNIT
FORCEINLINE ULONG StorPortInitializeTimer(_In_ PVOID HwDeviceExtension, _Out_ PVOID *TimerHandle)
struct _READ_CAPACITY16_DATA * PREAD_CAPACITY16_DATA
struct _PERF_CONFIGURATION_DATA * PPERF_CONFIGURATION_DATA
enum _STORPORT_QUERY_CONFIGURATION_TYPE * PSTORPORT_QUERY_CONFIGURATION_TYPE
PHYSICAL_ADDRESS STOR_PHYSICAL_ADDRESS
FORCEINLINE ULONG StorPortAllocateContiguousMemorySpecifyCacheNode(_In_ PVOID HwDeviceExtension, _In_ SIZE_T NumberOfBytes, _In_ PHYSICAL_ADDRESS LowestAcceptableAddress, _In_ PHYSICAL_ADDRESS HighestAcceptableAddress, _In_opt_ PHYSICAL_ADDRESS BoundaryAddressMultiple, _In_ MEMORY_CACHING_TYPE CacheType, _In_ NODE_REQUIREMENT PreferredNode, _Out_ PVOID *BufferPointer)
enum _OPERATION_STATUS * POPERATION_STATUS
FORCEINLINE ULONG StorPortInterlockedRemoveHeadList(_In_ PVOID HwDeviceExtension, _In_ PSTOR_LIST_ENTRY ListHead, _In_ PSTOR_KSPIN_LOCK Lock, _Out_ PSTOR_LIST_ENTRY *Result)
struct _STOR_RICH_DEVICE_DESCRIPTION * PSTOR_RICH_DEVICE_DESCRIPTION
enum _STORPORT_FUNCTION_CODE * PSTORPORT_FUNCTION_CODE
struct _STOR_DPC_WATCHDOG_INFORMATION * PSTOR_DPC_WATCHDOG_INFORMATION
struct _MODE_PARAMETER_BLOCK * PMODE_PARAMETER_BLOCK
struct _MINIPORT_DUMP_POINTERS * PMINIPORT_DUMP_POINTERS
enum _VPD_CODE_SET * PVPD_CODE_SET
STORPORT_API VOID NTAPI StorPortWriteRegisterBufferUlong(_In_ PVOID HwDeviceExtension, _In_ PULONG Register, _In_ PULONG Buffer, _In_ ULONG Count)
struct _STOR_POFX_DEVICE * PSTOR_POFX_DEVICE
struct _STOR_LIST_ENTRY * PSTOR_LIST_ENTRY
struct _DISK_INFORMATION DISK_INFORMATION
enum SRBEX_DATA_NVME_COMMAND_FLAG * PSRBEX_DATA_NVME_COMMAND_FLAG
struct _OVERWRITE_PARAMETER_LIST OVERWRITE_PARAMETER_LIST
STORPORT_API VOID NTAPI StorPortFreeDeviceBase(_In_ PVOID HwDeviceExtension, _In_ PVOID MappedAddress)
struct _PRI_RESERVATION_DESCRIPTOR PRI_RESERVATION_DESCRIPTOR
struct _CDDA_OUTPUT_PORT * PCDDA_OUTPUT_PORT
STORPORT_API BOOLEAN NTAPI StorPortResumeDevice(_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun)
enum _DATA_TYPE DATA_TYPE
struct _STOR_EXT_SET_PARAMETERS * PSTOR_EXT_SET_PARAMETERS
struct _NOTIFICATION_MULTI_HOST_STATUS * PNOTIFICATION_MULTI_HOST_STATUS
struct _STOR_POFX_DEVICE_V3 STOR_POFX_DEVICE_V3
struct _CDVD_KEY_DATA CDVD_KEY_DATA
_STORPORT_ETW_EVENT_CHANNEL
@ StorportEtwEventIoPerformance
@ StorportEtwEventDiagnostic
@ StorportEtwEventOperational
FORCEINLINE ULONG StorPortInitializeSListHead(_In_ PVOID HwDeviceExtension, _In_ PSLIST_HEADER SListHead)
@ AsyncNotificationDetected
@ InitializeDpcWithContext
@ StateChangeDetectedCall
@ IoTargetRequestServiceTime
@ GetExtendedFunctionTable
@ EnablePassiveInitialization
struct _STOR_UC_DEVICE_USAGE * PSTOR_UC_DEVICE_USAGE
struct SRB_ALIGN _SRBEX_DATA_SCSI_CDB16 * PSRBEX_DATA_SCSI_CDB16
enum _STORPORT_QUERY_CONFIGURATION_TYPE STORPORT_QUERY_CONFIGURATION_TYPE
FORCEINLINE ULONG StorPortAcquireMSISpinLock(_In_ PVOID HwDeviceExtension, _In_ ULONG MessageId, _In_ PULONG OldIrql)
enum _SCSI_ADAPTER_CONTROL_STATUS * PSCSI_ADAPTER_CONTROL_STATUS
FORCEINLINE ULONG StorPortPropagateIrpExtension(_In_ PVOID HwDeviceExtension, _In_ PVOID SourceSrb, _Inout_ PVOID DestinationSrb)
FORCEINLINE ULONG StorPortGetActiveNodeCount(_In_ PVOID HwDeviceExtension, _Out_ PULONG NumberNodes)
struct _PHYSICAL_ELEMENT_STATUS_DATA_DESCRIPTOR * PPHYSICAL_ELEMENT_STATUS_DATA_DESCRIPTOR
FORCEINLINE ULONG StorPortHardwareReset(_In_ PVOID HwDeviceExtension, _In_ STOR_DEVICE_RESET_TYPE Type)
struct _MODE_RIGID_GEOMETRY_PAGE * PMODE_RIGID_GEOMETRY_PAGE
struct _STOR_UNICODE_STRING * PSTOR_UNICODE_STRING
struct SRB_ALIGN _SRBEX_DATA_NVME_COMMAND SRBEX_DATA_NVME_COMMAND
FORCEINLINE ULONG StorPortGetPfns(_In_ PVOID HwDeviceExtension, _In_ PVOID Mdl, _Out_ PVOID Pfns, _Inout_ PULONG PfnCount)
struct SRB_ALIGN _SRBEX_DATA_SCSI_CDB32 * PSRBEX_DATA_SCSI_CDB32
struct _STOR_POFX_PERF_STATE * PSTOR_POFX_PERF_STATE
struct _VPD_BLOCK_DEVICE_CHARACTERISTICS_PAGE * PVPD_BLOCK_DEVICE_CHARACTERISTICS_PAGE
enum _STORPORT_LIVEDUMP_ISSUE_TYPE * PSTORPORT_LIVEDUMP_ISSUE_TYPE
struct _TAPE_POSITION_DATA * PTAPE_POSITION_DATA
FORCEINLINE ULONG StorPortInitializeRpmb(_In_ PVOID HwDeviceExtension, _In_ PSTOR_RPMB_CAPABILITIES_DATA RpmbCapabilities)
FORCEINLINE ULONG StorPortCancelHighResolutionTimer(_In_ PVOID HwDeviceExtension, _In_ PVOID TimerHandle, _In_ BOOLEAN Wait)
enum _GETSGSTATUS GETSGSTATUS
struct _LOG_PARAMETER * PLOG_PARAMETER
struct _CDVD_REPORT_AGID_DATA CDVD_REPORT_AGID_DATA
struct _SCSI_SENSE_DESCRIPTOR_BLOCK_COMMAND SCSI_SENSE_DESCRIPTOR_BLOCK_COMMAND
struct SRB_ALIGN _SRBEX_DATA_SCSI_CDB32 SRBEX_DATA_SCSI_CDB32
struct _SCSI_SENSE_DESCRIPTOR_BLOCK_COMMAND * PSCSI_SENSE_DESCRIPTOR_BLOCK_COMMAND
struct _NVME_SUPPORTED_CONTROL_TYPE_LIST NVME_SUPPORTED_CONTROL_TYPE_LIST
_INTERRUPT_SYNCHRONIZATION_MODE
@ InterruptSynchronizePerMessage
@ InterruptSynchronizeAll
struct _MODE_CDROM_WRITE_PARAMETERS_PAGE2 * PMODE_CDROM_WRITE_PARAMETERS_PAGE2
struct _STOR_POFX_FSTATE_CONTEXT * PSTOR_POFX_FSTATE_CONTEXT
GETSGSTATUS(NTAPI * PStorPortBuildScatterGatherList)(_In_ PVOID HwDeviceExtension, _In_ PVOID Mdl, _In_ PVOID CurrentVa, _In_ ULONG Length, _In_ PpostScaterGatherExecute ExecutionRoutine, _In_ PVOID Context, _In_ BOOLEAN WriteToDevice, _Inout_ PVOID ScatterGatherBuffer, _In_ ULONG ScatterGatherBufferLength)
enum _VPD_ASSOCIATION VPD_ASSOCIATION
FORCEINLINE VOID StorPortInitializeDpc(_In_ PVOID DeviceExtension, _Out_ PSTOR_DPC Dpc, _In_ PHW_DPC_ROUTINE HwDpcRoutine)
struct _ZONE_DESCRIPTIOR ZONE_DESCRIPTIOR
struct _NOTIFICATION_EVENT_STATUS_HEADER NOTIFICATION_EVENT_STATUS_HEADER
struct _STARTIO_PERFORMANCE_PARAMETERS * PSTARTIO_PERFORMANCE_PARAMETERS
enum _STORAGE_CRYPTO_KEY_SIZE * PSTORAGE_CRYPTO_KEY_SIZE
VOID(NTAPI * PHW_TRACING_ENABLED)(_In_ PVOID HwDeviceExtension, _In_ BOOLEAN Enabled)
_NVME_NAMESPACE_CONTROL_STATUS
@ NvmeNamespaceControlUnsuccessful
@ NvmeNamespaceControlNotSupported
@ NvmeNamespaceControlSuccess
struct _LBA_STATUS_DESCRIPTOR LBA_STATUS_DESCRIPTOR
struct _STOR_SLIST_ENTRY STOR_SLIST_ENTRY
struct _MODE_PARAMETER_BLOCK MODE_PARAMETER_BLOCK
struct _STOR_CRYPTO_CAPABILITIES_DATA STOR_CRYPTO_CAPABILITIES_DATA
FORCEINLINE ULONG StorPortFreePool(_In_ PVOID HwDeviceExtension, _In_ PVOID BufferPointer)
struct _STOR_UNIT_CONTROL_QUERY_BUS_TYPE STOR_UNIT_CONTROL_QUERY_BUS_TYPE
#define SRBEX_DATA_MINIPORT_PASSTHROUGH_LENGTH
struct SRB_ALIGN _STORAGE_REQUEST_BLOCK_HEADER * PSTORAGE_REQUEST_BLOCK_HEADER
FORCEINLINE ULONG StorPortGetProcessorCount(_In_ PVOID HwDeviceExtension, _Out_ PULONG ProcessorCount)
STORPORT_API VOID NTAPI StorPortLogError(_In_ PVOID HwDeviceExtension, _In_opt_ PSCSI_REQUEST_BLOCK Srb, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun, _In_ ULONG ErrorCode, _In_ ULONG UniqueId)
struct RS_COMMAND_DESCRIPTOR * PRS_COMMAND_DESCRIPTOR
struct _MODE_PARAMETER_HEADER * PMODE_PARAMETER_HEADER
@ TRANSFER_COUNT_UNITS_PEBIBYTES
@ TRANSFER_COUNT_UNITS_GIBIBYTES
@ TRANSFER_COUNT_UNITS_KIBIBYTES
@ TRANSFER_COUNT_UNITS_NUMBER_BLOCKS
@ TRANSFER_COUNT_UNITS_TEBIBYTES
@ TRANSFER_COUNT_UNITS_EXBIBYTES
@ TRANSFER_COUNT_UNITS_MEBIBYTES
@ TRANSFER_COUNT_UNITS_BYTES
struct _SCSI_SENSE_DESCRIPTOR_HEADER * PSCSI_SENSE_DESCRIPTOR_HEADER
struct SRB_ALIGN _SRBEX_DATA_POWER * PSRBEX_DATA_POWER
struct STOR_ADDRESS_ALIGN _STOR_ADDRESS STOR_ADDRESS
#define STOR_FRU_ID_MAX_LENGTH
struct _T2_COMMAND_DURATION_LIMIT_DESCRIPTOR T2_COMMAND_DURATION_LIMIT_DESCRIPTOR
struct _STOR_POFX_POWER_CONTROL STOR_POFX_POWER_CONTROL
struct _STOR_POWER_SETTING_INFO STOR_POWER_SETTING_INFO
struct _STOR_LIST_ENTRY STOR_LIST_ENTRY
struct _STOR_REPORT_INTERNAL_DATA STOR_REPORT_INTERNAL_DATA
STORPORT_API VOID NTAPI StorPortWriteRegisterBufferUchar(_In_ PVOID HwDeviceExtension, _In_ PUCHAR Register, _In_ PUCHAR Buffer, _In_ ULONG Count)
struct _VPD_IDENTIFICATION_DESCRIPTOR VPD_IDENTIFICATION_DESCRIPTOR
struct _DISC_INFORMATION * PDISC_INFORMATION
struct _OPC_TABLE_ENTRY OPC_TABLE_ENTRY
struct SRB_ALIGN _SRBEX_DATA_WMI * PSRBEX_DATA_WMI
struct _AUDIO_OUTPUT * PAUDIO_OUTPUT
struct _TRACK_INFORMATION3 * PTRACK_INFORMATION3
enum _STORPORT_LIVEDUMP_ISSUE_TYPE STORPORT_LIVEDUMP_ISSUE_TYPE
FORCEINLINE ULONG StorPortGetActiveGroupCount(_In_ PVOID HwDeviceExtension, _Out_ PUSHORT NumberGroups)
struct _NVME_ICE_ENTRY * PNVME_ICE_ENTRY
struct _FORMAT_DESCRIPTOR * PFORMAT_DESCRIPTOR
_STORPORT_ETW_EVENT_OPCODE
@ StorportEtwEventOpcodeDC_Start
@ StorportEtwEventOpcodeReceive
@ StorportEtwEventOpcodeSuspend
@ StorportEtwEventOpcodeResume
@ StorportEtwEventOpcodeStart
@ StorportEtwEventOpcodeStop
@ StorportEtwEventOpcodeDC_Stop
@ StorportEtwEventOpcodeSend
@ StorportEtwEventOpcodeInfo
@ StorportEtwEventOpcodeReply
@ StorportEtwEventOpcodeExtension
union _STOR_SLIST_HEADER STOR_SLIST_HEADER
struct _STOR_POFX_UNIT_POWER_INFO STOR_POFX_UNIT_POWER_INFO
VOID(NTAPI * PStorPortFreePool)(_In_ PVOID PMemory, _In_ PVOID HwDeviceExtension, _In_opt_ PVOID PMdl)
enum _STOR_SYNCHRONIZATION_MODEL STOR_SYNCHRONIZATION_MODEL
struct _STOR_RICH_DEVICE_DESCRIPTION_V2 STOR_RICH_DEVICE_DESCRIPTION_V2
#define STOR_VENDOR_ID_LENGTH
STORPORT_API STOR_PHYSICAL_ADDRESS NTAPI StorPortConvertUlong64ToPhysicalAddress(_In_ ULONG64 UlongAddress)
enum _STORPORT_LIVEDUMP_DATA_TYPE STORPORT_LIVEDUMP_DATA_TYPE
struct _STOR_POFX_COMPONENT_PERF_SET * PSTOR_POFX_COMPONENT_PERF_SET
struct SRB_ALIGN _SRBEX_DATA_PNP * PSRBEX_DATA_PNP
struct _CDDA_OUTPUT_PORT CDDA_OUTPUT_PORT
struct SRB_ALIGN _SRBEX_DATA_NVME_COMMAND * PSRBEX_DATA_NVME_COMMAND
FORCEINLINE ULONG StorPortRegistryWriteAdapterKey(_In_ PVOID HwDeviceExtension, _In_opt_ PCWSTR SubKeyName, _In_ PCWSTR ValueName, _In_ ULONG ValueType, _In_ PVOID ValueData, _In_ ULONG ValueDataLength)
struct _MODE_FORMAT_PAGE * PMODE_FORMAT_PAGE
struct _CDVD_INACTIVITY_TIMEOUT_PAGE * PCDVD_INACTIVITY_TIMEOUT_PAGE
ULONG(NTAPI * PHW_FIND_ADAPTER)(IN PVOID DeviceExtension, IN PVOID HwContext, IN PVOID BusInformation, IN PCHAR ArgumentString, IN OUT PPORT_CONFIGURATION_INFORMATION ConfigInfo, OUT PBOOLEAN Again)
struct _MECHANICAL_STATUS_INFORMATION_HEADER * PMECHANICAL_STATUS_INFORMATION_HEADER
struct _VPD_LOGICAL_BLOCK_PROVISIONING_PAGE VPD_LOGICAL_BLOCK_PROVISIONING_PAGE
PVOID(NTAPI * PStorPortGetSystemAddress)(_In_ PSCSI_REQUEST_BLOCK Srb)
struct _MODE_CDROM_WRITE_PARAMETERS_PAGE * PMODE_CDROM_WRITE_PARAMETERS_PAGE
struct _MINIPORT_DATA * PMINIPORT_DATA
struct _STORPORT_CAPTURE_LIVEDUMP * PSTORPORT_CAPTURE_LIVEDUMP
FORCEINLINE ULONG StorPortRegistryReadAdapterKey(_In_ PVOID HwDeviceExtension, _In_opt_ PCWSTR SubKeyName, _In_ PCWSTR ValueName, _In_ ULONG ValueType, _Inout_ PVOID *ValueData, _Inout_ PULONG ValueDataLength)
FORCEINLINE ULONG StorPortGetActivityIdSrb(_In_ PVOID HwDeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb, _Out_ LPGUID ActivityId)
struct _DISC_INFORMATION DISC_INFORMATION
struct _STOR_DPC * PSTOR_DPC
FORCEINLINE ULONG StorPortInterlockedPushEntrySList(_In_ PVOID HwDeviceExtension, _In_ PSLIST_HEADER SListHead, _In_ PSLIST_ENTRY SListEntry, _Out_ PSLIST_ENTRY *Result)
FORCEINLINE ULONG StorPortFreeContiguousMemorySpecifyCache(_In_ PVOID HwDeviceExtension, _In_ PVOID BaseAddress, _In_ SIZE_T NumberOfBytes, _In_ MEMORY_CACHING_TYPE CacheType)
struct _CDVD_CAPABILITIES_PAGE CDVD_CAPABILITIES_PAGE
FORCEINLINE ULONG StorPortTerminateSystemThread(_In_ PVOID HwDeviceExtension, _In_ ULONG ExitStatus)
enum _STOR_RPMB_FRAME_TYPE * PSTOR_RPMB_FRAME_TYPE
struct _STOR_POFX_COMPONENT_V2 STOR_POFX_COMPONENT_V2
struct _GET_MINIPORT_DUMP_INFO_V1 * PGET_MINIPORT_DUMP_INFO_V1
struct _DATA_BLOCK_HEADER * PDATA_BLOCK_HEADER
NVME_ADAPTER_CONTROL_STATUS(NTAPI * PHW_NVME_ADAPTER_CONTROL)(_In_ PVOID DeviceExtension, _In_ NVME_ADAPTER_CONTROL_TYPE ControlType, _In_ PVOID Parameters)
struct _ACCESS_RANGE * PACCESS_RANGE
FORCEINLINE ULONG StorPortGetCurrentProcessorNumber(_In_ PVOID HwDeviceExtension, _Out_ PPROCESSOR_NUMBER ProcNumber)
#define DUMP_MINIPORT_NAME_LENGTH
enum _STORPORT_ETW_LEVEL * PSTORPORT_ETW_LEVEL
struct _CDVD_KEY_HEADER CDVD_KEY_HEADER
STORPORT_API PVOID NTAPI StorPortGetUncachedExtension(_In_ PVOID HwDeviceExtension, _In_ PPORT_CONFIGURATION_INFORMATION ConfigInfo, _In_ ULONG NumberOfBytes)
enum _VPD_IDENTIFIER_TYPE * PVPD_IDENTIFIER_TYPE
struct _STOR_RESET_BUS_SYNCHRONOUS_PARAMETER * PSTOR_RESET_BUS_SYNCHRONOUS_PARAMETER
struct _VPD_EXTENDED_INQUIRY_DATA_PAGE VPD_EXTENDED_INQUIRY_DATA_PAGE
FORCEINLINE ULONG StorPortInterlockedInsertTailList(_In_ PVOID HwDeviceExtension, _In_ PSTOR_LIST_ENTRY ListHead, _In_ PSTOR_LIST_ENTRY ListEntry, _In_ PSTOR_KSPIN_LOCK Lock)
struct _CURRENT_INTERNAL_STATUS_PARAMETER_DATA * PCURRENT_INTERNAL_STATUS_PARAMETER_DATA
struct _VPD_THIRD_PARTY_COPY_PAGE VPD_THIRD_PARTY_COPY_PAGE
struct _STOR_REQUEST_INFO_V2 STOR_REQUEST_INFO_V2
struct _VPD_EXTENDED_INQUIRY_DATA_PAGE * PVPD_EXTENDED_INQUIRY_DATA_PAGE
FORCEINLINE ULONG StorPortEtwEvent4(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_ ULONG EventId, _In_ PWSTR EventDescription, _In_ ULONGLONG EventKeywords, _In_ STORPORT_ETW_LEVEL EventLevel, _In_ STORPORT_ETW_EVENT_OPCODE EventOpcode, _In_opt_ PSCSI_REQUEST_BLOCK Srb, _In_opt_ PWSTR Parameter1Name, _In_ ULONGLONG Parameter1Value, _In_opt_ PWSTR Parameter2Name, _In_ ULONGLONG Parameter2Value, _In_opt_ PWSTR Parameter3Name, _In_ ULONGLONG Parameter3Value, _In_opt_ PWSTR Parameter4Name, _In_ ULONGLONG Parameter4Value)
struct _STOR_RICH_DEVICE_DESCRIPTION_V2 * PSTOR_RICH_DEVICE_DESCRIPTION_V2
enum _STOR_POFX_PERF_STATE_TYPE * PSTOR_POFX_PERF_STATE_TYPE
STORPORT_API VOID __cdecl StorPortNotification(_In_ SCSI_NOTIFICATION_TYPE NotificationType, _In_ PVOID HwDeviceExtension,...)
enum _STOR_THREAD_PRIORITY * PSTOR_THREAD_PRIORITY
struct _LBA_STATUS_LIST_HEADER * PLBA_STATUS_LIST_HEADER
FORCEINLINE ULONG StorPortMarkDumpMemory(_In_ PVOID HwDeviceExtension, _In_ PVOID Address, _In_ ULONG_PTR Length, _In_ ULONG Flags)
struct _MEMORY_REGION MEMORY_REGION
struct SRB_ALIGN _STORAGE_REQUEST_BLOCK_HEADER STORAGE_REQUEST_BLOCK_HEADER
FORCEINLINE ULONG StorPortGetD3ColdSupport(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _Out_ PBOOLEAN D3ColdSupported)
struct SRB_ALIGN _SRBEX_DATA_MINIPORT_PASSTHROUGH * PSRBEX_DATA_MINIPORT_PASSTHROUGH
enum _SRBEXDATATYPE SRBEXDATATYPE
struct STOR_ADDRESS_ALIGN _STOR_ADDRESS * PSTOR_ADDRESS
FORCEINLINE ULONG StorPortQueryPerformanceCounter(_In_ PVOID HwDeviceExtension, _Out_opt_ PLARGE_INTEGER PerformanceFrequency, _Out_ PLARGE_INTEGER PerformanceCounter)
FORCEINLINE ULONG StorPortPoFxSetComponentResidency(_In_ PVOID HwDeviceExtension, _In_opt_ PSTOR_ADDRESS Address, _In_ ULONG Component, _In_ ULONGLONG Residency)
@ StorPowerDeviceUnspecified
VOID(NTAPI * PHW_REGISTRY_NOTIFICATION_ROUTINE)(_In_ PVOID HwDeviceExtension)
STOR_REQUEST_INFO_V2 * PSTOR_REQUEST_INFO
NVME_NAMESPACE_CONTROL_STATUS(NTAPI * PHW_NAMESPACE_CONTROL)(_In_ PVOID DeviceExtension, _In_ NVME_NAMESPACE_CONTROL_TYPE ControlType, _In_ PVOID Parameters)
struct _NOTIFICATION_EXTERNAL_STATUS NOTIFICATION_EXTERNAL_STATUS
struct _NOTIFICATION_OPERATIONAL_STATUS NOTIFICATION_OPERATIONAL_STATUS
FORCEINLINE ULONG StorPortInitializeHighResolutionTimer(_In_ PVOID HwDeviceExtension, _In_ PHW_TIMER_EX Callback, _In_opt_ PVOID Context, _Out_ PVOID *TimerHandle)
enum _STOR_TELEMETRY_CATEGORY STOR_TELEMETRY_CATEGORY
struct _PRI_REGISTRATION_LIST * PPRI_REGISTRATION_LIST
struct _ERROR_HISTORY_DIRECTORY ERROR_HISTORY_DIRECTORY
struct _DESCRIPTOR_SENSE_DATA DESCRIPTOR_SENSE_DATA
struct _ACCESS_RANGE ACCESS_RANGE
BOOLEAN(STREAMAPI * PHW_INTERRUPT)(IN PVOID DeviceExtension)
PRI_FULL_STATUS_DESCRIPTOR_HEADER Header
UCHAR PersistThroughPowerLossActivated
UCHAR PersistThroughPowerLossCapable
UCHAR ReplaceLostReservationCapable
UCHAR WriteExclusiveRegistrantsOnly
UCHAR AllTargetPortsCapable
UCHAR ExclusiveAccessRegistrantsOnly
UCHAR ExclusiveAccessAllRegistrants
UCHAR SpecifyInitiatorPortsCapable
UCHAR WriteExclusiveAllRegistrants
UCHAR CompatibleReservationHandling
UCHAR CommandTimeoutsDescriptorPresent
UCHAR CommandDurationLimitPage
UCHAR ReadWriteCommandDurationLimitsPage
UCHAR MultipleLogicalUnits
UCHAR MultipleLogicalUnits
UCHAR CommandDurationLimitPage
UCHAR CommandTimeoutsDescriptorPresent
UCHAR ReadWriteCommandDurationLimitsPage
STOR_PHYSICAL_ADDRESS RangeStart
PORT_OUTPUT PortOutput[4]
UCHAR LogicalBlocksPerSecond[2]
UCHAR StopOnTrackCrossing
CDDA_OUTPUT_PORT CDDAOutputPorts[4]
UCHAR CommandUniqueBytes[3]
UCHAR EnableVitalProductData
UCHAR VerificationLength[3]
UCHAR Destination2ElementAddress[2]
UCHAR TransportElementAddress[2]
UCHAR SourceElementAddress[2]
UCHAR Destination1ElementAddress[2]
UCHAR AllocationLength[2]
UCHAR NotificationClassRequest
UCHAR FirstElementAddress[2]
UCHAR NumberOfElements[2]
UCHAR LogicalBlockAddress[4]
UCHAR ParameterListLength[2]
UCHAR ParameterPointer[2]
UCHAR AllocationLength[2]
UCHAR AllocationLength[2]
UCHAR ParameterListLength[2]
UCHAR ParameterListLength
UCHAR AllocationLength[2]
UCHAR DestinationElementAddress[2]
UCHAR SourceElementAddress[2]
UCHAR TransportElementAddress[2]
UCHAR AllocationLength[2]
UCHAR ParameterListLength[2]
UCHAR StartingBlockAddress[4]
struct _CDB::_PLAY_CD::@2635::_LBA LBA
_ANONYMOUS_UNION union _CDB::_PLAY_CD::@2635 DUMMYUNIONNAME
struct _CDB::_PLAY_CD::@2635::_MSF MSF
UCHAR TransportElementAddress[2]
UCHAR DestinationElementAddress[2]
UCHAR AllocationLength[2]
UCHAR SubChannelSelection
UCHAR SubChannelSelection
UCHAR AllocationLength[2]
UCHAR StartingElementAddress[2]
UCHAR NumberOfElements[2]
UCHAR AllocationLength[3]
UCHAR AllocationLength[2]
UCHAR LogicalBlockAddress[4]
UCHAR AllocationLength[2]
UCHAR AllocationLength[4]
UCHAR StartingElementAddress[2]
UCHAR AllocationLength[3]
UCHAR LogicalBlockAddress[4]
UCHAR ParameterListLength[2]
UCHAR ParameterListLength[2]
UCHAR StartingElementAddress[2]
UCHAR ParameterListLength[2]
_ANONYMOUS_UNION union _CDB::_SET_CD_SPEED::@2638 DUMMYUNIONNAME
_ANONYMOUS_STRUCT struct _CDB::_SET_CD_SPEED::@2638::@2639 DUMMYSTRUCTNAME
UCHAR ParameterListLength[2]
union _CDB::_SPACE_TAPE_MARKS::@2636 Byte6
struct _CDB::_SPACE_TAPE_MARKS::@2636::@2637 Fields
UCHAR AllocationLength[2]
UCHAR LogicalBlockAddress[4]
UCHAR VerificationLength[4]
_ANONYMOUS_UNION union _CDVD_CAPABILITIES_PAGE::@2659 DUMMYUNIONNAME
UCHAR CopyManagementRevision[2]
UCHAR ReadSpeedCurrent[2]
UCHAR ReadSpeedMaximum[2]
UCHAR WriteSpeedMaximum[2]
_ANONYMOUS_UNION union _CDVD_CAPABILITIES_PAGE::@2661 DUMMYUNIONNAME3
UCHAR ObsoleteReserved[2]
UCHAR ObsoleteReserved4[2]
UCHAR LoadingMechanismType
UCHAR WriteSpeedCurrent[2]
_ANONYMOUS_UNION union _CDVD_CAPABILITIES_PAGE::@2660 DUMMYUNIONNAME2
UCHAR ObsoleteReserved2[2]
_ANONYMOUS_UNION union _CDVD_CAPABILITIES_PAGE::@2663 DUMMYUNIONNAME5
UCHAR SeperateChannelMute
UCHAR SupportsDiskPresent
_ANONYMOUS_UNION union _CDVD_CAPABILITIES_PAGE::@2662 DUMMYUNIONNAME4
UCHAR ObsoleteReserved11[2]
UCHAR NumberVolumeLevels[2]
UCHAR ChallengeKeyValue[10]
UCHAR EventStatusNotification[2]
UCHAR DVDSequentialRecordable[2]
UCHAR PersistantPrevent[2]
UCHAR RandomRecordable[2]
UCHAR CDSequentialRecordable[2]
UCHAR GroupOneMinimumTimeout[2]
UCHAR GroupTwoMinimumTimeout[2]
UCHAR CurrentInternalStatusDataSetTwoLength[2]
UCHAR CurrentInternalStatusData[ANYSIZE_ARRAY]
UCHAR CurrentInternalStatusDataSetOneLength[2]
UCHAR CurrentInternalStatusDataSetThreeLength[2]
UCHAR CurrentInternalStatusDataSetFourLength[4]
UCHAR SavedDataGenerationNumber
UCHAR CurrentReasonIdentifier[128]
UCHAR NewSavedDataAvailable
UCHAR AdditionalSenseLength
UCHAR DescriptorBuffer[ANYSIZE_ARRAY]
UCHAR AdditionalSenseCodeQualifier
UCHAR AdditionalSenseCode
UCHAR MaxAvailableLength[4]
UCHAR ErrorHistoryRetrieved
UCHAR ErrorHistoryVersion
ERROR_HISTORY_DIRECTORY_ENTRY ErrorHistoryDirectoryList[ANYSIZE_ARRAY]
_Field_range_(FREE_DUMP_INFO_SIGNATURE, FREE_DUMP_INFO_SIGNATURE) ULONG Signature
_Field_range_(GET_DUMP_INFO_VERSION_1, GET_DUMP_INFO_VERSION_1) ULONG Version
_Field_range_(GET_DUMP_INFO_SIGNATURE_EXT, GET_DUMP_INFO_SIGNATURE_EXT) ULONG Signature
_Field_size_bytes_(DiskCount *AddressSize) UCHAR Addresses[ANYSIZE_ARRAY]
PHW_INITIALIZE_TRACING HwInitializeTracing
PHW_CLEANUP_TRACING HwCleanupTracing
PHW_INTERRUPT HwInterrupt
PHW_COMPLETE_SERVICE_IRP HwCompleteServiceIrp
PHW_ADAPTER_CONTROL HwAdapterControl
PHW_ADAPTER_STATE HwAdapterState
PHW_DMA_STARTED HwDmaStarted
PHW_NAMESPACE_CONTROL HwNamespaceControl
PHW_PROCESS_SERVICE_REQUEST HwProcessServiceRequest
PHW_NVME_ADAPTER_CONTROL HwNvmeAdapterControl
BOOLEAN MultipleRequestPerLu
BOOLEAN NeedPhysicalAddresses
PHW_FREE_ADAPTER_RESOURCES HwFreeAdapterResources
PHW_TRACING_ENABLED HwTracingEnabled
ULONG SpecificLuExtensionSize
ULONG HwInitializationDataSize
PHW_INITIALIZE HwInitialize
ULONG DeviceExtensionSize
PHW_UNIT_CONTROL HwUnitControl
INTERFACE_TYPE AdapterInterfaceType
ULONG NumberOfAccessRanges
UCHAR ProductRevisionLevel[4]
UCHAR DeviceTypeQualifier
LOG_PARAMETER_HEADER Header
struct _LOG_PARAMETER::@2668::_TEMPERATURE TEMPERATURE
struct _LOG_PARAMETER::@2668::_SELF_TEST_RESULTS SELF_TEST_RESULTS
struct _LOG_PARAMETER::@2668::_DATE_OF_MANUFACTURE DATE_OF_MANUFACTURE
struct _LOG_PARAMETER::@2668::_INFORMATIONAL_EXCEPTIONS INFORMATIONAL_EXCEPTIONS
struct _LOG_PARAMETER::@2668::_THRESHOLD_RESOURCE_COUNT THRESHOLD_RESOURCE_COUNT
LOG_PARAMETER_HEADER Header
struct _LOG_PARAMETER::@2668::_SOLID_STATE_MEDIA SOLID_STATE_MEDIA
struct _LOG_PARAMETER::@2668::_BACKGROUND_SCAN_STATUS BACKGROUND_SCAN_STATUS
MECHANICAL_STATUS_INFORMATION_HEADER MechanicalStatusHeader
SLOT_TABLE_INFORMATION SlotTableInfo[1]
PHYSICAL_ADDRESS PhysicalBase
_Field_range_(MINIPORT_DUMP_INFO_SIGNATURE, MINIPORT_DUMP_INFO_SIGNATURE) ULONG Signature
ACCESS_RANGE(* AccessRanges)[]
ULONG NumberOfPhysicalBreaks
ULONG NumberOfAccessRanges
WCHAR DriverName[DUMP_MINIPORT_NAME_LENGTH]
INTERFACE_TYPE AdapterInterfaceType
PVOID MiniportPrivateDumpData
struct _ADAPTER_OBJECT * AdapterObject
ULONG MaximumTransferLength
UCHAR MaximumNumberOfTargets
ULONG NumberOfAdditionalNic
UCHAR ReadRetensionPriority
UCHAR WriteRetensionPriority
UCHAR NumberOfCacheSegments
UCHAR ForceSequentialWrite
UCHAR DisablePrefetchTransfer[2]
UCHAR CacheSegmentSize[2]
UCHAR MaximumPrefetchCeiling[2]
UCHAR MultiplicationFactor
UCHAR CachingAnalysisPermitted
UCHAR LogicalBlockCacheSegmentSize
UCHAR MultiplicationFactor
UCHAR WriteRetensionPriority
UCHAR ReadRetensionPriority
UCHAR MaximumPrefetchCeiling[2]
UCHAR DisablePrefetchTransfer[2]
UCHAR BufferUnderrunFreeEnabled
UCHAR AudioPauseLength[2]
UCHAR MediaCatalogNumber[16]
UCHAR HostApplicationCode
UCHAR MediaCatalogNumberZero
UCHAR MediaCatalogNumberAFrame
UCHAR MediaCatalogNumberValid
UCHAR HostApplicationCode
UCHAR AudioPauseLength[2]
UCHAR MediaCatalogNumber[13]
UCHAR ISRCRecordingYear[2]
UCHAR BufferUnderrunFreeEnabled
UCHAR ISRCSerialNumber[5]
T2_COMMAND_DURATION_LIMIT_DESCRIPTOR T2CommandDurationLimitDescriptors[DURATION_LIMIT_T2_DESCRIPTOR_COUNT]
UCHAR PerfvsCommandDurationGuidelines
T2_COMMAND_DURATION_LIMIT_DESCRIPTOR T2CommandDurationLimitDescriptors[DURATION_LIMIT_T2_DESCRIPTOR_COUNT]
UCHAR PerfvsLatencyControls
UCHAR ExtendeSelfTestCompletionTime[2]
UCHAR BusyTimeoutPeriod[2]
UCHAR QueueAlgorithmModifier
UCHAR BusDisconnectTime[2]
UCHAR MaximumBurstSize[2]
UCHAR DataTransferDisconnect
UCHAR BusInactivityLimit[2]
UCHAR StepPlusePerCyclynder
UCHAR NumberOfCylinders[2]
UCHAR MediumRotationRate[2]
UCHAR StartReducedCurrent[2]
UCHAR StartWritePrecom[2]
UCHAR HardSectorFormating
UCHAR CylinderSkewFactor[2]
UCHAR BytesPerPhysicalSector[2]
UCHAR AlternateTracksPerZone[2]
UCHAR AlternateTracksPerLogicalUnit[2]
UCHAR AlternateSectorsPerZone[2]
UCHAR SoftSectorFormating
_ANONYMOUS_STRUCT struct _MODE_INFO_EXCEPTIONS::@2657::@2658 DUMMYSTRUCTNAME
_ANONYMOUS_UNION union _MODE_INFO_EXCEPTIONS::@2657 DUMMYUNIONNAME
MODE_PARAMETER_HEADER ParameterListHeader
MODE_PARAMETER_BLOCK ParameterListBlock
UCHAR RotationalPositionLock
UCHAR NumberOfCylinders[3]
UCHAR StartReducedCurrent[3]
UCHAR StartWritePrecom[3]
UCHAR LandZoneCyclinder[3]
UCHAR PersistentPrevented
UCHAR PersistentPrevented
UCHAR PersistentPrevented
BOOLEAN SupportedTypeList[0]
UCHAR InitializationPatternLength[2]
UCHAR InitializationPattern[ANYSIZE_ARRAY]
PGROUP_AFFINITY MessageTargets
ULONG FirstRedirectionMessageNumber
ULONG LastRedirectionMessageNumber
UCHAR PhysicalElementType
UCHAR ElementIdentifier[4]
UCHAR AssociatedCapacity[8]
UCHAR PhysicalElementHealth
UCHAR ElementIdentifierBeingDepoped[4]
UCHAR ReturnedDescriptorCount[4]
PHYSICAL_ELEMENT_STATUS_DATA_DESCRIPTOR Descriptors[ANYSIZE_ARRAY]
UCHAR AdditionalLength[4]
UCHAR ReservationKeyList[0][8]
UCHAR ScopeSpecificAddress[4]
PRI_RESERVATION_DESCRIPTOR Reservations[0]
UCHAR AdditionalLength[4]
UCHAR ActivatePersistThroughPowerLoss
UCHAR ScopeSpecificAddress[4]
UCHAR ServiceActionReservationKey[8]
UCHAR BlockMinimumSize[2]
UCHAR BlockMaximumSize[3]
UCHAR AvailableBufferSize[4]
UCHAR ProtectionInfoExponent
UCHAR LogicalPerPhysicalExponent
UCHAR LowestAlignedBlock_MSB
UCHAR LowestAlignedBlock_LSB
ULONGLONG LogicalBlockAddress
LARGE_INTEGER LogicalBlockAddress
ULONG LogicalBlockAddress
ZONE_DESCRIPTIOR ZoneDescriptors[ANYSIZE_ARRAY]
UCHAR SavedDataGenerationNumber
UCHAR SavedReasonIdentifier[128]
UCHAR SavedInternalStatusDataSetFourLength[4]
UCHAR SavedInternalStatusDataSetTwoLength[2]
UCHAR SavedInternalStatusDataSetThreeLength[2]
UCHAR SavedInternalStatusDataSetOneLength[2]
UCHAR NewSavedDataAvailable
UCHAR SavedInternalStatusData[ANYSIZE_ARRAY]
union _SCSI_EXTENDED_MESSAGE::_EXTENDED_ARGUMENTS ExtendedArguments
STOR_PNP_ACTION PnPAction
struct _SCSI_REQUEST_BLOCK * NextSrb
STOR_POWER_ACTION PowerAction
struct _SCSI_REQUEST_BLOCK * NextSrb
STOR_DEVICE_POWER_STATE DevicePowerState
UCHAR SenseInfoBufferLength
struct _SCSI_REQUEST_BLOCK * NextSrb
SCSI_SENSE_DESCRIPTOR_HEADER Header
SCSI_SENSE_DESCRIPTOR_HEADER Header
OUT BOOLEAN SupportedTypeList[0]
UCHAR AdditionalSenseLength
UCHAR AdditionalSenseCode
UCHAR FieldReplaceableUnitCode
UCHAR SenseKeySpecific[3]
UCHAR AdditionalSenseCodeQualifier
UCHAR CommandSpecificInformation[4]
_Field_size_bytes_full_(DataInTransferLength) PVOID POINTER_ALIGN DataInBuffer
_Field_range_(SrbExDataTypeBidirectional, SrbExDataTypeBidirectional) SRBEXDATATYPE Type
_Field_range_(SRBEX_DATA_BIDIRECTIONAL_LENGTH, SRBEX_DATA_BIDIRECTIONAL_LENGTH) ULONG Length
_Field_range_(SRBEX_DATA_IO_INFO_LENGTH, SRBEX_DATA_IO_INFO_LENGTH) ULONG Length
_Field_range_(SrbExDataTypeIoInfo, SrbExDataTypeIoInfo) SRBEXDATATYPE Type
ULONG OutputBufferWritten
_Field_range_(SrbExDataTypeMiniportPassthrough, SrbExDataTypeMiniportPassthrough) SRBEXDATATYPE Type
_Field_range_(SRBEX_DATA_MINIPORT_PASSTHROUGH_LENGTH, SRBEX_DATA_MINIPORT_PASSTHROUGH_LENGTH) ULONG Length
_Field_range_(SrbExDataTypeNvmeofOperation, SrbExDataTypeNvmeofOperation) SRBEXDATATYPE Type
_Field_range_(SRBEX_DATA_NVMEOF_OPERATION_LENGTH, SRBEX_DATA_NVMEOF_OPERATION_LENGTH) ULONG Length
_Field_range_(STOR_NVMEOF_OPERATION_V1, STOR_NVMEOF_OPERATION_V1) USHORT Version
_Field_range_(SRBEX_DATA_NVME_COMMAND_LENGTH, SRBEX_DATA_NVME_COMMAND_LENGTH) ULONG Length
_Field_range_(SrbExDataTypeNvmeCommand, SrbExDataTypeNvmeCommand) SRBEXDATATYPE Type
_Field_range_(SRBEX_DATA_PNP_LENGTH, SRBEX_DATA_PNP_LENGTH) ULONG Length
_Field_range_(SrbExDataTypePnP, SrbExDataTypePnP) SRBEXDATATYPE Type
_Field_range_(SRBEX_DATA_POWER_LENGTH, SRBEX_DATA_POWER_LENGTH) ULONG Length
_Field_range_(SrbExDataTypePower, SrbExDataTypePower) SRBEXDATATYPE Type
_Field_range_(SRBEX_DATA_SCSI_CDB16_LENGTH, SRBEX_DATA_SCSI_CDB16_LENGTH) ULONG Length
_Field_size_bytes_full_(SenseInfoBufferLength) PVOID POINTER_ALIGN SenseInfoBuffer
_Field_range_(SrbExDataTypeScsiCdb16, SrbExDataTypeScsiCdb16) SRBEXDATATYPE Type
_Field_range_(SrbExDataTypeScsiCdb32, SrbExDataTypeScsiCdb32) SRBEXDATATYPE Type
_Field_range_(SRBEX_DATA_SCSI_CDB32_LENGTH, SRBEX_DATA_SCSI_CDB32_LENGTH) ULONG Length
_Field_size_bytes_full_(SenseInfoBufferLength) PVOID POINTER_ALIGN SenseInfoBuffer
_Field_size_bytes_full_(CdbLength) UCHAR POINTER_ALIGN Cdb[ANYSIZE_ARRAY]
_Field_range_(SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MIN, SRBEX_DATA_SCSI_CDB_VAR_LENGTH_MAX) ULONG Length
_Field_size_bytes_full_(SenseInfoBufferLength) PVOID POINTER_ALIGN SenseInfoBuffer
_Field_range_(SrbExDataTypeScsiCdbVar, SrbExDataTypeScsiCdbVar) SRBEXDATATYPE Type
_Field_range_(SrbExDataTypeWmi, SrbExDataTypeWmi) SRBEXDATATYPE Type
_Field_range_(SRBEX_DATA_WMI_LENGTH, SRBEX_DATA_WMI_LENGTH) ULONG Length
_Field_size_bytes_(Length) UCHAR Data[ANYSIZE_ARRAY]
STORPORT_LIVEDUMP_ISSUE_TYPE IssueType
STORPORT_LIVEDUMP_DATA_TYPE DataType
STORPORT_CAPTURE_LIVEDUMP_TYPE LiveDumpType
PStorPortAllocatePool AllocatePool
PStorPortGetSystemAddress GetSystemAddress
PStorPortFreePool FreePool
PStorPortPutScatterGatherList PutScatterGatherList
PStorPortGetMessageInterruptInformation GetMessageInterruptInformation
PStorPortBuildScatterGatherList BuildScatterGatherList
UCHAR BucketId[STORPORT_LIVEDUMP_BUCKET_ID_LENGTH]
_Field_size_bytes_(EventBufferLength) PUCHAR EventBuffer
UCHAR ParameterName1[EVENT_MAX_PARAM_NAME_LEN]
ULONGLONG ParameterValue7
UCHAR ParameterName0[EVENT_MAX_PARAM_NAME_LEN]
ULONGLONG ParameterValue5
UCHAR ParameterName6[EVENT_MAX_PARAM_NAME_LEN]
ULONGLONG ParameterValue4
UCHAR ParameterName4[EVENT_MAX_PARAM_NAME_LEN]
UCHAR ParameterName7[EVENT_MAX_PARAM_NAME_LEN]
UCHAR EventName[EVENT_NAME_MAX_LENGTH]
ULONGLONG ParameterValue3
ULONGLONG ParameterValue6
ULONGLONG ParameterValue0
ULONGLONG ParameterValue2
UCHAR ParameterName3[EVENT_MAX_PARAM_NAME_LEN]
_Field_range_(0, EVENT_BUFFER_MAX_LENGTH) ULONG EventBufferLength
UCHAR ParameterName5[EVENT_MAX_PARAM_NAME_LEN]
UCHAR ParameterName2[EVENT_MAX_PARAM_NAME_LEN]
ULONGLONG ParameterValue1
STOR_POWER_ACTION PowerAction
STOR_POWER_CONTROL_HEADER Header
STOR_DEVICE_POWER_STATE PowerState
_Field_size_bytes_(AddressLength) UCHAR AddressData[ANYSIZE_ARRAY]
_Field_range_(STOR_ADDRESS_TYPE_BTL8, STOR_ADDRESS_TYPE_BTL8) USHORT Type
_Field_range_(STOR_ADDR_BTL8_ADDRESS_LENGTH, STOR_ADDR_BTL8_ADDRESS_LENGTH) ULONG AddressLength
_Field_range_(STOR_ADDR_NVME_ADDRESS_LENGTH, STOR_ADDR_NVME_ADDRESS_LENGTH) ULONG AddressLength
_Field_range_(STOR_ADDRESS_TYPE_NVME, STOR_ADDRESS_TYPE_NVME) USHORT Type
USHORT NumCryptoCapabilities
_Field_size_(NumCryptoCapabilities) STOR_CRYPTO_CAPABILITY CryptoCapabilities[ANYSIZE_ARRAY]
USHORT DataUnitSizeBitmask
USHORT CryptoCapabilityIndex
STORAGE_CRYPTO_ALGORITHM_ID AlgorithmId
STORAGE_SECURITY_COMPLIANCE_BITMASK SecurityComplianceBitmask
STORAGE_CRYPTO_KEY_SIZE KeySize
ULONG CryptoCapabilityIndex
PHYSICAL_ADDRESS KeyPhysicalAddress
ULONG DataUnitSizeBitmask
STOR_CRYPTO_OPERATION_TYPE OperationType
ULONG OperationBufferLength
ULONG DefaultWriteCacheEnabled
STOR_DISPATCHER_HEADER Header
PSTOR_EXT_DELETE_CALLBACK DeleteCallback
PIO_RESOURCE_REQUIREMENTS_LIST IoResourceRequirementsList
UCHAR FruId[STOR_FRU_ID_MAX_LENGTH+1]
struct _STOR_LIST_ENTRY * Blink
struct _STOR_LIST_ENTRY * Flink
struct _STOR_LOCK_HANDLE::@2743::@2744 LockQueue
struct _STOR_LOCK_HANDLE::@2743 Context
BOOLEAN StorportSpecificErrorCode
STOR_EVENT_ASSOCIATION_ENUM EventAssociation
STOR_POWER_CONTROL_HEADER Header
ULONGLONG ResidencyRequirement
ULONGLONG TransitionLatency
STOR_POFX_PERF_STATE_TYPE PStateType
struct _STOR_POFX_COMPONENT_PERF_SET::@2753::@2755 Range
union _STOR_POFX_COMPONENT_PERF_SET::@2753 PStates
struct _STOR_POFX_COMPONENT_PERF_SET::@2753::@2754 Discrete
STOR_POFX_PERF_STATE_UNIT PStateUnit
ULONG DeepestAdapterPowerRequiredFState
ULONG DeepestCrashDumpReadyFState
_Field_size_full_(FStateCount) STOR_POFX_COMPONENT_IDLE_STATE FStates[ANYSIZE_ARRAY]
ULONG DeepestWakeableFState
_Field_size_full_(FStateCount) STOR_POFX_COMPONENT_IDLE_STATE FStates[ANYSIZE_ARRAY]
ULONG DeepestWakeableFState
ULONG UnitMinIdleTimeoutInMS
ULONG AdapterIdleTimeoutInMS
_Field_size_full_(ComponentCount) STOR_POFX_COMPONENT Components[ANYSIZE_ARRAY]
ULONG UnitMinIdleTimeoutInMS
ULONG MinimumPowerCyclePeriodInMS
ULONG AdapterIdleTimeoutInMS
_Field_size_full_(ComponentCount) STOR_POFX_COMPONENT Components[ANYSIZE_ARRAY]
_Field_size_full_(ComponentCount) STOR_POFX_COMPONENT Components[ANYSIZE_ARRAY]
STOR_POWER_CONTROL_HEADER Header
STOR_POWER_CONTROL_HEADER Header
STOR_POWER_CONTROL_HEADER Header
STOR_POWER_CONTROL_HEADER Header
_Field_size_bytes_(ValueLength) PVOID Value
INTERNAL_DATA_SCOPE Scope
STOR_IO_PRIORITY_HINT PriorityHint
STOR_IO_PRIORITY_HINT PriorityHint
PSTOR_UNICODE_STRING FileName
CHAR ModelNumber[STOR_MODEL_NUMBER_LENGTH+1]
CHAR FirmwareRevision[STOR_FIRMWARE_REVISION_LENGTH+1]
CHAR VendorId[STOR_VENDOR_ID_LENGTH+1]
CHAR FirmwareRevision[STOR_FIRMWARE_REVISION_LENGTH+1]
CHAR VendorId[STOR_VENDOR_ID_LENGTH+1]
CHAR ModelNumber[STOR_MODEL_NUMBER_LENGTH+1]
STOR_RPMB_FRAME_TYPE FrameFormat
ULONG MaxReliableRpmbWriteSize
USHORT SecurityProtocolSpecifier
STOR_PHYSICAL_ADDRESS PhysicalAddress
UCHAR SerialNumber[STOR_SERIAL_NUMBER_MAX_SIZE]
STORPORT_ETW_EVENT_CHANNEL Channel
struct _STOR_SLIST_ENTRY * Next
RAID_SYSTEM_POWER SystemPower
SCSI_UC_DEVICE_USAGE_TYPE UsageType
_Field_size_bytes_part_(MaximumLength, Length) PWCH Buffer
ULONG DeviceAttentionSupported
ULONG AsyncNotificationSupported
STOR_POWER_ACTION PowerAction
STOR_DEVICE_POWER_STATE PowerState
UCHAR SupportedSecurityProtocol[0]
UCHAR SupportedSecurityListLength[2]
UCHAR COMMAND_DURATION_GUIDELINE[2]
UCHAR MAX_INACTIVE_TIME_POLICY
UCHAR MAX_INACTIVE_TIME[2]
UCHAR BypassSequestration
UCHAR MAX_ACTIVE_TIME_POLICY
UCHAR COMMAND_DURATION_GUIDELINE_POLICY
UCHAR BeginningOfPartition
UCHAR BlockPositionUnsupported
ULONG SpecificLuExtensionSize
ULONG HwInitializationDataSize
BOOLEAN MultipleRequestPerLu
PHW_COMPLETE_SERVICE_IRP HwCompleteServiceIrp
PHW_INITIALIZE HwInitialize
PHW_CLEANUP_TRACING HwCleanupTracing
PHW_FREE_ADAPTER_RESOURCES HwFreeAdapterResources
PHW_ADAPTER_CONTROL HwAdapterControl
PHW_PROCESS_SERVICE_REQUEST HwProcessServiceRequest
PHW_UNIT_CONTROL HwUnitControl
PHW_TRACING_ENABLED HwTracingEnabled
PVIRTUAL_HW_FIND_ADAPTER HwFindAdapter
PHW_INITIALIZE_TRACING HwInitializeTracing
ULONG DeviceExtensionSize
INTERFACE_TYPE AdapterInterfaceType
UCHAR DeviceTypeQualifier
UCHAR DeviceSignature[20]
UCHAR IdentifyDeviceData[512]
UCHAR ProductRevisionLevel[4]
UCHAR MediumRotationRateLsb
UCHAR DeviceTypeQualifier
UCHAR MediumRotationRateMsb
UCHAR DepopulationTime[4]
UCHAR MaximumTransferLength[4]
UCHAR UnmapGranularityAlignmentByte2
UCHAR OptimalUnmapGranularity[4]
UCHAR OptimalTransferLengthGranularity[2]
UCHAR MaximumUnmapLBACount[4]
UCHAR UnmapGranularityAlignmentByte3
UCHAR OptimalTransferLength[4]
UCHAR MaximumUnmapBlockDescriptorCount[4]
UCHAR DeviceTypeQualifier
UCHAR UnmapGranularityAlignmentByte1
UCHAR MaximumCompareAndWriteLength
UCHAR MaxPrefetchXDReadXDWriteTransferLength[4]
UCHAR UnmapGranularityAlignmentByte0
UCHAR UnmapGranularityAlignment[4]
UCHAR ExtendedSelfTestCompletionMinutes[2]
UCHAR MaxModePageChangeLogs[2]
UCHAR Multi_i_t_Nexus_Microcode_Download
UCHAR MaxInquiryChangeLogs[2]
UCHAR DeviceTypeQualifier
UCHAR MaxSupportedSenseDataLength
UCHAR DeviceTypeQualifier
UCHAR DeviceTypeQualifier
UCHAR ProvisioningGroupDescr[0]
UCHAR DeviceTypeQualifier
UCHAR DeviceTypeQualifier
UCHAR DeviceTypeQualifier
UCHAR SupportedPageList[0]
UCHAR DeviceTypeQualifier
UCHAR ThirdPartyCopyDescriptors[ANYSIZE_ARRAY]
UCHAR MaxNumberOfOpenSequentialWriteRequiredZone[4]
UCHAR DeviceTypeQualifier
UCHAR OptimalNumberOfNonSequentiallyWrittenSequentialWritePreferredZone[4]
UCHAR OptimalNumberOfOpenSequentialWritePreferredZone[4]
UCHAR DescriptorLength[2]
UCHAR DefaultInactivityTimer[4]
UCHAR OptimalTransferCount[8]
UCHAR MaximumRangeDescriptors[2]
UCHAR MaximumTokenTransferSize[8]
UCHAR MaximumInactivityTimer[4]
_In_ PGUID _In_ ULONG OutputBufferLength
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST Request
_Must_inspect_result_ _In_ UCXENDPOINT _In_ PVOID Tag
struct _CDB::_CDB10 CDB10
struct _CDB::_READ_BUFFER_CAPACITY READ_BUFFER_CAPACITY
struct _CDB::_REPORT_KEY * PREPORT_KEY
struct _CDB::_LOCATE * PLOCATE
struct _CDB::_PERSISTENT_RESERVE_OUT PERSISTENT_RESERVE_OUT
struct _CDB::_READ_HEADER * PREAD_HEADER
struct _CDB::_MEDIA_REMOVAL MEDIA_REMOVAL
struct _CDB::_CDB6READWRITETAPE * PCDB6READWRITETAPE
struct _CDB::_PRINT * PPRINT
struct _CDB::_SYNCHRONIZE_CACHE10 * PSYNCHRONIZE_CACHE10
struct _CDB::_CDB12 * PCDB12
struct _CDB::_BLANK_MEDIA * PBLANK_MEDIA
struct _CDB::_INITIALIZE_ELEMENT_RANGE * PINITIALIZE_ELEMENT_RANGE
struct _CDB::_READ_TOC * PREAD_TOC
struct _CDB::_SET_READ_AHEAD * PSET_READ_AHEAD
struct _CDB::_PLAY_AUDIO_MSF * PPLAY_AUDIO_MSF
struct _CDB::_PERSISTENT_RESERVE_IN PERSISTENT_RESERVE_IN
struct _CDB::_SCAN_CD * PSCAN_CD
struct _CDB::_READ_HEADER READ_HEADER
struct _CDB::_SUBCHANNEL SUBCHANNEL
struct _CDB::_PLAY_CD PLAY_CD
struct _CDB::_SUBCHANNEL * PSUBCHANNEL
struct _CDB::_READ_FORMATTED_CAPACITIES * PREAD_FORMATTED_CAPACITIES
struct _CDB::_PAUSE_RESUME * PPAUSE_RESUME
struct _CDB::_REPORT_LUNS * PREPORT_LUNS
struct _CDB::_READ_TRACK_INFORMATION READ_TRACK_INFORMATION
struct _CDB::_READ_CAPACITY16 READ_CAPACITY16
struct _CDB::_READ_DISK_INFORMATION * PREAD_DISK_INFORMATION
struct _CDB::_MODE_SELECT MODE_SELECT
struct _CDB::_LOGSELECT LOGSELECT
struct _CDB::_INITIALIZE_ELEMENT_RANGE INITIALIZE_ELEMENT_RANGE
struct _CDB::_LOGSELECT * PLOGSELECT
struct _CDB::_CDB6VERIFY * PCDB6VERIFY
struct _CDB::_READ_ELEMENT_STATUS * PREAD_ELEMENT_STATUS
struct _CDB::_MECH_STATUS MECH_STATUS
struct _CDB::_SEND_KEY * PSEND_KEY
struct _CDB::_CDB10 * PCDB10
struct _CDB::_REPAIR_TRACK * PREPAIR_TRACK
struct _CDB::_CDB6INQUIRY3 CDB6INQUIRY3
struct _CDB::_POSITION_TO_ELEMENT * PPOSITION_TO_ELEMENT
struct _CDB::_WRITE_TAPE_MARKS WRITE_TAPE_MARKS
struct _CDB::_SEND_CUE_SHEET * PSEND_CUE_SHEET
struct _CDB::_CDB6GENERIC CDB6GENERIC
struct _CDB::_READ_DVD_STRUCTURE READ_DVD_STRUCTURE
struct _CDB::_RESERVE_TRACK_RZONE RESERVE_TRACK_RZONE
struct _CDB::_CDB6VERIFY CDB6VERIFY
struct _CDB::_GET_EVENT_STATUS_NOTIFICATION GET_EVENT_STATUS_NOTIFICATION
struct _CDB::_READ_BUFFER_CAPACITY * PREAD_BUFFER_CAPACITY
struct _CDB::_SEND_DVD_STRUCTURE SEND_DVD_STRUCTURE
struct _CDB::_SEEK_BLOCK * PSEEK_BLOCK
struct _CDB::_ERASE * PERASE
struct _CDB::_PARTITION PARTITION
struct _CDB::_MODE_SENSE10 MODE_SENSE10
struct _CDB::_LOCATE LOCATE
struct _CDB::_NEC_READ_CDDA NEC_READ_CDDA
struct _CDB::_LOGSENSE LOGSENSE
struct _CDB::_SEND_OPC_INFORMATION SEND_OPC_INFORMATION
struct _CDB::_READ_CD READ_CD
struct _CDB::_EXCHANGE_MEDIUM EXCHANGE_MEDIUM
struct _CDB::_READ_POSITION * PREAD_POSITION
struct _CDB::_SET_READ_AHEAD SET_READ_AHEAD
struct _CDB::_CDB16 * PCDB16
struct _CDB::_CDB12 CDB12
struct _CDB::_SEND_KEY SEND_KEY
struct _CDB::_ERASE ERASE
struct _CDB::_REQUEST_BLOCK_ADDRESS * PREQUEST_BLOCK_ADDRESS
struct _CDB::_LOGSENSE * PLOGSENSE
struct _CDB::_VERIFY16 VERIFY16
struct _CDB::_READ_DVD_STRUCTURE * PREAD_DVD_STRUCTURE
struct _CDB::_WRITE16 WRITE16
struct _CDB::_PLXTR_READ_CDDA PLXTR_READ_CDDA
struct _CDB::_PRINT PRINT
struct _CDB::_READ_CD * PREAD_CD
struct _CDB::_MECH_STATUS * PMECH_STATUS
struct _CDB::_CDB6READWRITE * PCDB6READWRITE
struct _CDB::_STOP_PLAY_SCAN STOP_PLAY_SCAN
struct _CDB::_LOAD_UNLOAD LOAD_UNLOAD
struct _CDB::_REQUEST_VOLUME_ELEMENT_ADDRESS REQUEST_VOLUME_ELEMENT_ADDRESS
struct _CDB::_READ16 READ16
struct _CDB::_CDB6INQUIRY CDB6INQUIRY
struct _CDB::_CDB6FORMAT * PCDB6FORMAT
struct _CDB::_READ_TRACK_INFORMATION * PREAD_TRACK_INFORMATION
struct _CDB::_NEC_READ_CDDA * PNEC_READ_CDDA
struct _CDB::_SEND_VOLUME_TAG SEND_VOLUME_TAG
struct _CDB::_RESERVE_TRACK_RZONE * PRESERVE_TRACK_RZONE
struct _CDB::_GET_CONFIGURATION GET_CONFIGURATION
struct _CDB::_MODE_SENSE * PMODE_SENSE
struct _CDB::_PERSISTENT_RESERVE_IN * PPERSISTENT_RESERVE_IN
struct _CDB::_GET_EVENT_STATUS_NOTIFICATION * PGET_EVENT_STATUS_NOTIFICATION
struct _CDB::_LOAD_UNLOAD * PLOAD_UNLOAD
struct _CDB::_CDB6GENERIC * PCDB6GENERIC
struct _CDB::_CDB6INQUIRY3 * PCDB6INQUIRY3
struct _CDB::_PARTITION * PPARTITION
struct _CDB::_MODE_SENSE10 * PMODE_SENSE10
struct _CDB::_SET_CD_SPEED * PSET_CD_SPEED
struct _CDB::_SEND_OPC_INFORMATION * PSEND_OPC_INFORMATION
struct _CDB::_CDB6FORMAT CDB6FORMAT
struct _CDB::_READ_FORMATTED_CAPACITIES READ_FORMATTED_CAPACITIES
struct _CDB::_PLAY_CD * PPLAY_CD
struct _CDB::_READ_DISK_INFORMATION READ_DISK_INFORMATION
struct _CDB::_READ12 READ12
struct _CDB::_STOP_PLAY_SCAN * PSTOP_PLAY_SCAN
struct _CDB::_START_STOP START_STOP
struct _CDB::_START_STOP * PSTART_STOP
struct _CDB::_SEEK_BLOCK SEEK_BLOCK
struct _CDB::_SET_CD_SPEED SET_CD_SPEED
struct _CDB::_CDB6READWRITETAPE CDB6READWRITETAPE
struct _CDB::_SEND_CUE_SHEET SEND_CUE_SHEET
struct _CDB::_CLOSE_TRACK CLOSE_TRACK
struct _CDB::_REPORT_KEY REPORT_KEY
struct _CDB::_MODE_SELECT * PMODE_SELECT
struct _CDB::_INIT_ELEMENT_STATUS INIT_ELEMENT_STATUS
struct _CDB::_SEND_VOLUME_TAG * PSEND_VOLUME_TAG
struct _CDB::_READ_CD_MSF READ_CD_MSF
struct _CDB::_MOVE_MEDIUM * PMOVE_MEDIUM
struct _CDB::_SPACE_TAPE_MARKS SPACE_TAPE_MARKS
struct _CDB::_MODE_SELECT10 MODE_SELECT10
struct _CDB::_PAUSE_RESUME PAUSE_RESUME
struct _CDB::_MODE_SENSE MODE_SENSE
struct _CDB::_SYNCHRONIZE_CACHE16 SYNCHRONIZE_CACHE16
struct _CDB::_PLAY_AUDIO * PPLAY_AUDIO
struct _CDB::_PLAY_AUDIO PLAY_AUDIO
struct _CDB::_CLOSE_TRACK * PCLOSE_TRACK
struct _CDB::_CDB6INQUIRY * PCDB6INQUIRY
struct _CDB::_WRITE_TAPE_MARKS * PWRITE_TAPE_MARKS
struct _CDB::_WRITE12 WRITE12
struct _CDB::_SCAN_CD SCAN_CD
struct _CDB::_MODE_SELECT10 * PMODE_SELECT10
struct _CDB::_READ_POSITION READ_POSITION
struct _CDB::_BLANK_MEDIA BLANK_MEDIA
struct _CDB::_PERSISTENT_RESERVE_OUT * PPERSISTENT_RESERVE_OUT
struct _CDB::_REQUEST_BLOCK_ADDRESS REQUEST_BLOCK_ADDRESS
struct _CDB::_REQUEST_VOLUME_ELEMENT_ADDRESS * PREQUEST_VOLUME_ELEMENT_ADDRESS
struct _CDB::_REPORT_LUNS REPORT_LUNS
struct _CDB::_CDB16 CDB16
struct _CDB::_MOVE_MEDIUM MOVE_MEDIUM
struct _CDB::_PLAY_AUDIO_MSF PLAY_AUDIO_MSF
struct _CDB::_GET_PERFORMANCE GET_PERFORMANCE
struct _CDB::_EXCHANGE_MEDIUM * PEXCHANGE_MEDIUM
struct _CDB::_SPACE_TAPE_MARKS * PSPACE_TAPE_MARKS
struct _CDB::_POSITION_TO_ELEMENT POSITION_TO_ELEMENT
struct _CDB::_SEEK * PSEEK
struct _CDB::_READ_CD_MSF * PREAD_CD_MSF
struct _CDB::_SEND_DVD_STRUCTURE * PSEND_DVD_STRUCTURE
struct _CDB::_READ_ELEMENT_STATUS READ_ELEMENT_STATUS
struct _CDB::_SYNCHRONIZE_CACHE10 SYNCHRONIZE_CACHE10
struct _CDB::_PLXTR_READ_CDDA * PPLXTR_READ_CDDA
struct _CDB::_CDB6READWRITE CDB6READWRITE
struct _CDB::_SET_STREAMING SET_STREAMING
struct _CDB::_READ_TOC READ_TOC
struct _CDB::_INIT_ELEMENT_STATUS * PINIT_ELEMENT_STATUS
struct _CDB::_MEDIA_REMOVAL * PMEDIA_REMOVAL
struct _CDB::_GET_CONFIGURATION * PGET_CONFIGURATION
struct _CDB::_REPAIR_TRACK REPAIR_TRACK
struct _SCSI_EXTENDED_MESSAGE::_EXTENDED_ARGUMENTS::@1004 Synchronous
struct _SCSI_EXTENDED_MESSAGE::_EXTENDED_ARGUMENTS::@1005 Wide
struct _SCSI_EXTENDED_MESSAGE::_EXTENDED_ARGUMENTS::@1003 Modify
FIXED_SENSE_DATA FixedData
DESCRIPTOR_SENSE_DATA DescriptorData
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDF_POWER_DEVICE_STATE PreviousState
_In_ WDF_SPECIAL_FILE_TYPE NotificationType
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
_In_ WDFDEVICE _In_ PPNP_BUS_INFORMATION BusInformation
WDF_EXTERN_C_START typedef _In_ WDFDEVICE _In_ WDFCONTEXT _In_ WDF_DMA_DIRECTION _In_ PSCATTER_GATHER_LIST SgList
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL Mdl
_In_ WDFDMATRANSACTION _In_ size_t MaximumLength
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
_In_ WDFDPC _In_ BOOLEAN Wait
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG _Out_opt_ PULONG ValueType
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG ValueLength
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_In_ WDFREQUEST _In_ NTSTATUS _In_ ULONG_PTR Information
_Must_inspect_result_ _In_ WDFCMRESLIST List
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFSPINLOCK * SpinLock
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
_Reserved_ PVOID Reserved
_In_ PCEVENT_DESCRIPTOR _In_opt_ LPCGUID ActivityId
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
_IRQL_requires_same_ _In_opt_ PVOID Argument1
_In_ ULONG _In_ ULONG _In_ ULONG _Out_ PKIRQL _Out_ PKAFFINITY Affinity
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE BusType
_In_ PDEVICE_OBJECT _In_ ULONG _In_ PDRIVER_CONTROL ExecutionRoutine
_Out_ PBOOLEAN D3ColdSupported
_In_ struct _IRP _In_ struct _SCATTER_GATHER_LIST * ScatterGather
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
_Out_opt_ PGROUP_AFFINITY PreviousAffinity
_In_ LARGE_INTEGER _In_ ULONG _In_ ULONG TolerableDelay
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
*LockHandle LockHandle _Out_ PKLOCK_QUEUE_HANDLE LockHandle
_IRQL_requires_same_ _In_ PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT _Inout_ PNTSTATUS OperationStatus
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
_Must_inspect_result_ _In_ PHYSICAL_ADDRESS _In_ PHYSICAL_ADDRESS _In_opt_ PHYSICAL_ADDRESS BoundaryAddressMultiple
_Must_inspect_result_ _In_ PHYSICAL_ADDRESS _In_ PHYSICAL_ADDRESS _In_opt_ PHYSICAL_ADDRESS _In_ MEMORY_CACHING_TYPE _In_ NODE_REQUIREMENT PreferredNode
_Must_inspect_result_ _In_ PHYSICAL_ADDRESS LowestAcceptableAddress
enum _MEMORY_CACHING_TYPE MEMORY_CACHING_TYPE
_In_ ULONGLONG IdleTimeout
_In_ LPCGUID PowerControlCode