ReactOS 0.4.15-dev-7788-g1ad9096
storport.h File Reference
#include <pshpack1.h>
#include <poppack.h>
Include dependency graph for storport.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _SCSI_REQUEST_BLOCK
 
struct  _SCSI_WMI_REQUEST_BLOCK
 
struct  _SCSI_POWER_REQUEST_BLOCK
 
struct  _STOR_DEVICE_CAPABILITIES
 
struct  _SCSI_PNP_REQUEST_BLOCK
 
union  _CDB
 
struct  _CDB::_CDB6GENERIC
 
struct  _CDB::_CDB6READWRITE
 
struct  _CDB::_CDB6INQUIRY
 
struct  _CDB::_CDB6INQUIRY3
 
struct  _CDB::_CDB6VERIFY
 
struct  _CDB::_CDB6FORMAT
 
struct  _CDB::_CDB10
 
struct  _CDB::_CDB12
 
struct  _CDB::_CDB16
 
struct  _CDB::_PAUSE_RESUME
 
struct  _CDB::_READ_TOC
 
struct  _CDB::_READ_DISK_INFORMATION
 
struct  _CDB::_READ_TRACK_INFORMATION
 
struct  _CDB::_RESERVE_TRACK_RZONE
 
struct  _CDB::_SEND_OPC_INFORMATION
 
struct  _CDB::_REPAIR_TRACK
 
struct  _CDB::_CLOSE_TRACK
 
struct  _CDB::_READ_BUFFER_CAPACITY
 
struct  _CDB::_SEND_CUE_SHEET
 
struct  _CDB::_READ_HEADER
 
struct  _CDB::_PLAY_AUDIO
 
struct  _CDB::_PLAY_AUDIO_MSF
 
struct  _CDB::_BLANK_MEDIA
 
struct  _CDB::_PLAY_CD
 
struct  _CDB::_SCAN_CD
 
struct  _CDB::_STOP_PLAY_SCAN
 
struct  _CDB::_SUBCHANNEL
 
struct  _CDB::_READ_CD
 
struct  _CDB::_READ_CD_MSF
 
struct  _CDB::_PLXTR_READ_CDDA
 
struct  _CDB::_NEC_READ_CDDA
 
struct  _CDB::_MODE_SENSE
 
struct  _CDB::_MODE_SENSE10
 
struct  _CDB::_MODE_SELECT
 
struct  _CDB::_MODE_SELECT10
 
struct  _CDB::_LOCATE
 
struct  _CDB::_LOGSENSE
 
struct  _CDB::_LOGSELECT
 
struct  _CDB::_PRINT
 
struct  _CDB::_SEEK
 
struct  _CDB::_ERASE
 
struct  _CDB::_START_STOP
 
struct  _CDB::_MEDIA_REMOVAL
 
struct  _CDB::_SEEK_BLOCK
 
struct  _CDB::_REQUEST_BLOCK_ADDRESS
 
struct  _CDB::_PARTITION
 
struct  _CDB::_WRITE_TAPE_MARKS
 
struct  _CDB::_SPACE_TAPE_MARKS
 
struct  _CDB::_READ_POSITION
 
struct  _CDB::_CDB6READWRITETAPE
 
struct  _CDB::_INIT_ELEMENT_STATUS
 
struct  _CDB::_INITIALIZE_ELEMENT_RANGE
 
struct  _CDB::_POSITION_TO_ELEMENT
 
struct  _CDB::_MOVE_MEDIUM
 
struct  _CDB::_EXCHANGE_MEDIUM
 
struct  _CDB::_READ_ELEMENT_STATUS
 
struct  _CDB::_SEND_VOLUME_TAG
 
struct  _CDB::_REQUEST_VOLUME_ELEMENT_ADDRESS
 
struct  _CDB::_LOAD_UNLOAD
 
struct  _CDB::_MECH_STATUS
 
struct  _CDB::_SYNCHRONIZE_CACHE10
 
struct  _CDB::_GET_EVENT_STATUS_NOTIFICATION
 
struct  _CDB::_GET_PERFORMANCE
 
struct  _CDB::_READ_DVD_STRUCTURE
 
struct  _CDB::_SET_STREAMING
 
struct  _CDB::_SEND_DVD_STRUCTURE
 
struct  _CDB::_SEND_KEY
 
struct  _CDB::_REPORT_KEY
 
struct  _CDB::_SET_READ_AHEAD
 
struct  _CDB::_READ_FORMATTED_CAPACITIES
 
struct  _CDB::_REPORT_LUNS
 
struct  _CDB::_PERSISTENT_RESERVE_IN
 
struct  _CDB::_PERSISTENT_RESERVE_OUT
 
struct  _CDB::_GET_CONFIGURATION
 
struct  _CDB::_SET_CD_SPEED
 
struct  _CDB::_READ12
 
struct  _CDB::_WRITE12
 
struct  _CDB::_READ16
 
struct  _CDB::_WRITE16
 
struct  _CDB::_VERIFY16
 
struct  _CDB::_SYNCHRONIZE_CACHE16
 
struct  _CDB::_READ_CAPACITY16
 
union  _EIGHT_BYTE
 
union  _FOUR_BYTE
 
union  _TWO_BYTE
 
struct  _INQUIRYDATA
 
struct  _VPD_MEDIA_SERIAL_NUMBER_PAGE
 
struct  _VPD_SERIAL_NUMBER_PAGE
 
struct  _VPD_IDENTIFICATION_DESCRIPTOR
 
struct  _VPD_IDENTIFICATION_PAGE
 
struct  _VPD_SUPPORTED_PAGES_PAGE
 
struct  _READ_CAPACITY_DATA
 
struct  _READ_CAPACITY_DATA_EX
 
struct  _MODE_PARAMETER_HEADER
 
struct  _MODE_PARAMETER_HEADER10
 
struct  _MODE_PARAMETER_BLOCK
 
struct  _LUN_LIST
 
struct  _SENSE_DATA
 
struct  _ACCESS_RANGE
 
struct  _MEMORY_REGION
 
struct  _PORT_CONFIGURATION_INFORMATION
 
struct  _STOR_SCATTER_GATHER_ELEMENT
 
struct  _STOR_SCATTER_GATHER_LIST
 
struct  _DPC_BUFFER
 
struct  _STOR_DPC
 
struct  _STOR_LOCK_HANDLE
 
struct  _STOR_LOG_EVENT_DETAILS
 
struct  _PERF_CONFIGURATION_DATA
 
struct  _STARTIO_PERFORMANCE_PARAMETERS
 
struct  _MESSAGE_INTERRUPT_INFORMATION
 
struct  _STORPORT_EXTENDED_FUNCTIONS
 
struct  _HW_INITIALIZATION_DATA
 

Macros

#define _NTSTORPORT_
 
#define SCSI_MAXIMUM_BUSES_PER_ADAPTER   255
 
#define SCSI_MAXIMUM_TARGETS_PER_BUS   128
 
#define SCSI_MAXIMUM_LUNS_PER_TARGET   255
 
#define SCSI_MINIMUM_PHYSICAL_BREAKS   16
 
#define SCSI_MAXIMUM_PHYSICAL_BREAKS   255
 
#define SCSI_MAXIMUM_BUSES   8
 
#define SCSI_MAXIMUM_TARGETS   8
 
#define SCSI_MAXIMUM_LOGICAL_UNITS   8
 
#define SCSI_DMA64_MINIPORT_SUPPORTED   0x01
 
#define SCSI_DMA64_SYSTEM_SUPPORTED   0x80
 
#define SP_UNINITIALIZED_VALUE   ((ULONG) ~0)
 
#define SP_UNTAGGED   ((UCHAR) ~0)
 
#define STORPORT_API   DECLSPEC_IMPORT
 
#define DIRECT_ACCESS_DEVICE   0x00
 
#define SEQUENTIAL_ACCESS_DEVICE   0x01
 
#define PRINTER_DEVICE   0x02
 
#define PROCESSOR_DEVICE   0x03
 
#define WRITE_ONCE_READ_MULTIPLE_DEVICE   0x04
 
#define READ_ONLY_DIRECT_ACCESS_DEVICE   0x05
 
#define SCANNER_DEVICE   0x06
 
#define OPTICAL_DEVICE   0x07
 
#define MEDIUM_CHANGER   0x08
 
#define COMMUNICATION_DEVICE   0x09
 
#define ARRAY_CONTROLLER_DEVICE   0x0C
 
#define SCSI_ENCLOSURE_DEVICE   0x0D
 
#define REDUCED_BLOCK_DEVICE   0x0E
 
#define OPTICAL_CARD_READER_WRITER_DEVICE   0x0F
 
#define BRIDGE_CONTROLLER_DEVICE   0x10
 
#define OBJECT_BASED_STORAGE_DEVICE   0x11
 
#define LOGICAL_UNIT_NOT_PRESENT_DEVICE   0x7F
 
#define DEVICE_CONNECTED   0x00
 
#define CDB6GENERIC_LENGTH   6
 
#define CDB10GENERIC_LENGTH   10
 
#define CDB12GENERIC_LENGTH   12
 
#define INQUIRYDATABUFFERSIZE   36
 
#define SENSE_BUFFER_SIZE   18
 
#define MAX_SENSE_BUFFER_SIZE   255
 
#define FILE_DEVICE_SCSI   0x0000001b
 
#define IOCTL_SCSI_EXECUTE_IN   ((FILE_DEVICE_SCSI << 16) + 0x0011)
 
#define IOCTL_SCSI_EXECUTE_OUT   ((FILE_DEVICE_SCSI << 16) + 0x0012)
 
#define IOCTL_SCSI_EXECUTE_NONE   ((FILE_DEVICE_SCSI << 16) + 0x0013)
 
#define MODE_PAGE_VENDOR_SPECIFIC   0x00
 
#define MODE_PAGE_ERROR_RECOVERY   0x01
 
#define MODE_PAGE_DISCONNECT   0x02
 
#define MODE_PAGE_FORMAT_DEVICE   0x03
 
#define MODE_PAGE_MRW   0x03
 
#define MODE_PAGE_RIGID_GEOMETRY   0x04
 
#define MODE_PAGE_FLEXIBILE   0x05
 
#define MODE_PAGE_WRITE_PARAMETERS   0x05
 
#define MODE_PAGE_VERIFY_ERROR   0x07
 
#define MODE_PAGE_CACHING   0x08
 
#define MODE_PAGE_PERIPHERAL   0x09
 
#define MODE_PAGE_CONTROL   0x0A
 
#define MODE_PAGE_MEDIUM_TYPES   0x0B
 
#define MODE_PAGE_NOTCH_PARTITION   0x0C
 
#define MODE_PAGE_CD_AUDIO_CONTROL   0x0E
 
#define MODE_PAGE_DATA_COMPRESS   0x0F
 
#define MODE_PAGE_DEVICE_CONFIG   0x10
 
#define MODE_PAGE_XOR_CONTROL   0x10
 
#define MODE_PAGE_MEDIUM_PARTITION   0x11
 
#define MODE_PAGE_ENCLOSURE_SERVICES_MANAGEMENT   0x14
 
#define MODE_PAGE_EXTENDED   0x15
 
#define MODE_PAGE_EXTENDED_DEVICE_SPECIFIC   0x16
 
#define MODE_PAGE_CDVD_FEATURE_SET   0x18
 
#define MODE_PAGE_PROTOCOL_SPECIFIC_LUN   0x18
 
#define MODE_PAGE_PROTOCOL_SPECIFIC_PORT   0x19
 
#define MODE_PAGE_POWER_CONDITION   0x1A
 
#define MODE_PAGE_LUN_MAPPING   0x1B
 
#define MODE_PAGE_FAULT_REPORTING   0x1C
 
#define MODE_PAGE_CDVD_INACTIVITY   0x1D
 
#define MODE_PAGE_ELEMENT_ADDRESS   0x1D
 
#define MODE_PAGE_TRANSPORT_GEOMETRY   0x1E
 
#define MODE_PAGE_DEVICE_CAPABILITIES   0x1F
 
#define MODE_PAGE_CAPABILITIES   0x2A
 
#define MODE_SENSE_RETURN_ALL   0x3F
 
#define MODE_SENSE_CURRENT_VALUES   0x00
 
#define MODE_SENSE_CHANGEABLE_VALUES   0x40
 
#define MODE_SENSE_DEFAULT_VAULES   0x80
 
#define MODE_SENSE_SAVED_VALUES   0xc0
 
#define SCSIOP_TEST_UNIT_READY   0x00
 
#define SCSIOP_REZERO_UNIT   0x01
 
#define SCSIOP_REWIND   0x01
 
#define SCSIOP_REQUEST_BLOCK_ADDR   0x02
 
#define SCSIOP_REQUEST_SENSE   0x03
 
#define SCSIOP_FORMAT_UNIT   0x04
 
#define SCSIOP_READ_BLOCK_LIMITS   0x05
 
#define SCSIOP_REASSIGN_BLOCKS   0x07
 
#define SCSIOP_INIT_ELEMENT_STATUS   0x07
 
#define SCSIOP_READ6   0x08
 
#define SCSIOP_RECEIVE   0x08
 
#define SCSIOP_WRITE6   0x0A
 
#define SCSIOP_PRINT   0x0A
 
#define SCSIOP_SEND   0x0A
 
#define SCSIOP_SEEK6   0x0B
 
#define SCSIOP_TRACK_SELECT   0x0B
 
#define SCSIOP_SLEW_PRINT   0x0B
 
#define SCSIOP_SET_CAPACITY   0x0B
 
#define SCSIOP_SEEK_BLOCK   0x0C
 
#define SCSIOP_PARTITION   0x0D
 
#define SCSIOP_READ_REVERSE   0x0F
 
#define SCSIOP_WRITE_FILEMARKS   0x10
 
#define SCSIOP_FLUSH_BUFFER   0x10
 
#define SCSIOP_SPACE   0x11
 
#define SCSIOP_INQUIRY   0x12
 
#define SCSIOP_VERIFY6   0x13
 
#define SCSIOP_RECOVER_BUF_DATA   0x14
 
#define SCSIOP_MODE_SELECT   0x15
 
#define SCSIOP_RESERVE_UNIT   0x16
 
#define SCSIOP_RELEASE_UNIT   0x17
 
#define SCSIOP_COPY   0x18
 
#define SCSIOP_ERASE   0x19
 
#define SCSIOP_MODE_SENSE   0x1A
 
#define SCSIOP_START_STOP_UNIT   0x1B
 
#define SCSIOP_STOP_PRINT   0x1B
 
#define SCSIOP_LOAD_UNLOAD   0x1B
 
#define SCSIOP_RECEIVE_DIAGNOSTIC   0x1C
 
#define SCSIOP_SEND_DIAGNOSTIC   0x1D
 
#define SCSIOP_MEDIUM_REMOVAL   0x1E
 
#define SCSIOP_READ_FORMATTED_CAPACITY   0x23
 
#define SCSIOP_READ_CAPACITY   0x25
 
#define SCSIOP_READ   0x28
 
#define SCSIOP_WRITE   0x2A
 
#define SCSIOP_SEEK   0x2B
 
#define SCSIOP_LOCATE   0x2B
 
#define SCSIOP_POSITION_TO_ELEMENT   0x2B
 
#define SCSIOP_WRITE_VERIFY   0x2E
 
#define SCSIOP_VERIFY   0x2F
 
#define SCSIOP_SEARCH_DATA_HIGH   0x30
 
#define SCSIOP_SEARCH_DATA_EQUAL   0x31
 
#define SCSIOP_SEARCH_DATA_LOW   0x32
 
#define SCSIOP_SET_LIMITS   0x33
 
#define SCSIOP_READ_POSITION   0x34
 
#define SCSIOP_SYNCHRONIZE_CACHE   0x35
 
#define SCSIOP_COMPARE   0x39
 
#define SCSIOP_COPY_COMPARE   0x3A
 
#define SCSIOP_WRITE_DATA_BUFF   0x3B
 
#define SCSIOP_READ_DATA_BUFF   0x3C
 
#define SCSIOP_WRITE_LONG   0x3F
 
#define SCSIOP_CHANGE_DEFINITION   0x40
 
#define SCSIOP_WRITE_SAME   0x41
 
#define SCSIOP_READ_SUB_CHANNEL   0x42
 
#define SCSIOP_READ_TOC   0x43
 
#define SCSIOP_READ_HEADER   0x44
 
#define SCSIOP_REPORT_DENSITY_SUPPORT   0x44
 
#define SCSIOP_PLAY_AUDIO   0x45
 
#define SCSIOP_GET_CONFIGURATION   0x46
 
#define SCSIOP_PLAY_AUDIO_MSF   0x47
 
#define SCSIOP_PLAY_TRACK_INDEX   0x48
 
#define SCSIOP_PLAY_TRACK_RELATIVE   0x49
 
#define SCSIOP_GET_EVENT_STATUS   0x4A
 
#define SCSIOP_PAUSE_RESUME   0x4B
 
#define SCSIOP_LOG_SELECT   0x4C
 
#define SCSIOP_LOG_SENSE   0x4D
 
#define SCSIOP_STOP_PLAY_SCAN   0x4E
 
#define SCSIOP_XDWRITE   0x50
 
#define SCSIOP_XPWRITE   0x51
 
#define SCSIOP_READ_DISK_INFORMATION   0x51
 
#define SCSIOP_READ_DISC_INFORMATION   0x51
 
#define SCSIOP_READ_TRACK_INFORMATION   0x52
 
#define SCSIOP_XDWRITE_READ   0x53
 
#define SCSIOP_RESERVE_TRACK_RZONE   0x53
 
#define SCSIOP_SEND_OPC_INFORMATION   0x54
 
#define SCSIOP_MODE_SELECT10   0x55
 
#define SCSIOP_RESERVE_UNIT10   0x56
 
#define SCSIOP_RESERVE_ELEMENT   0x56
 
#define SCSIOP_RELEASE_UNIT10   0x57
 
#define SCSIOP_RELEASE_ELEMENT   0x57
 
#define SCSIOP_REPAIR_TRACK   0x58
 
#define SCSIOP_MODE_SENSE10   0x5A
 
#define SCSIOP_CLOSE_TRACK_SESSION   0x5B
 
#define SCSIOP_READ_BUFFER_CAPACITY   0x5C
 
#define SCSIOP_SEND_CUE_SHEET   0x5D
 
#define SCSIOP_PERSISTENT_RESERVE_IN   0x5E
 
#define SCSIOP_PERSISTENT_RESERVE_OUT   0x5F
 
#define SCSIOP_XDWRITE_EXTENDED16   0x80
 
#define SCSIOP_WRITE_FILEMARKS16   0x80
 
#define SCSIOP_REBUILD16   0x81
 
#define SCSIOP_READ_REVERSE16   0x81
 
#define SCSIOP_REGENERATE16   0x82
 
#define SCSIOP_EXTENDED_COPY   0x83
 
#define SCSIOP_RECEIVE_COPY_RESULTS   0x84
 
#define SCSIOP_ATA_PASSTHROUGH16   0x85
 
#define SCSIOP_ACCESS_CONTROL_IN   0x86
 
#define SCSIOP_ACCESS_CONTROL_OUT   0x87
 
#define SCSIOP_READ16   0x88
 
#define SCSIOP_WRITE16   0x8A
 
#define SCSIOP_READ_ATTRIBUTES   0x8C
 
#define SCSIOP_WRITE_ATTRIBUTES   0x8D
 
#define SCSIOP_WRITE_VERIFY16   0x8E
 
#define SCSIOP_VERIFY16   0x8F
 
#define SCSIOP_PREFETCH16   0x90
 
#define SCSIOP_SYNCHRONIZE_CACHE16   0x91
 
#define SCSIOP_SPACE16   0x91
 
#define SCSIOP_LOCK_UNLOCK_CACHE16   0x92
 
#define SCSIOP_LOCATE16   0x92
 
#define SCSIOP_WRITE_SAME16   0x93
 
#define SCSIOP_ERASE16   0x93
 
#define SCSIOP_READ_CAPACITY16   0x9E
 
#define SCSIOP_SERVICE_ACTION_IN16   0x9E
 
#define SCSIOP_SERVICE_ACTION_OUT16   0x9F
 
#define SCSIOP_REPORT_LUNS   0xA0
 
#define SCSIOP_BLANK   0xA1
 
#define SCSIOP_ATA_PASSTHROUGH12   0xA1
 
#define SCSIOP_SEND_EVENT   0xA2
 
#define SCSIOP_SEND_KEY   0xA3
 
#define SCSIOP_MAINTENANCE_IN   0xA3
 
#define SCSIOP_REPORT_KEY   0xA4
 
#define SCSIOP_MAINTENANCE_OUT   0xA4
 
#define SCSIOP_MOVE_MEDIUM   0xA5
 
#define SCSIOP_LOAD_UNLOAD_SLOT   0xA6
 
#define SCSIOP_EXCHANGE_MEDIUM   0xA6
 
#define SCSIOP_SET_READ_AHEAD   0xA7
 
#define SCSIOP_MOVE_MEDIUM_ATTACHED   0xA7
 
#define SCSIOP_READ12   0xA8
 
#define SCSIOP_GET_MESSAGE   0xA8
 
#define SCSIOP_SERVICE_ACTION_OUT12   0xA9
 
#define SCSIOP_WRITE12   0xAA
 
#define SCSIOP_SEND_MESSAGE   0xAB
 
#define SCSIOP_SERVICE_ACTION_IN12   0xAB
 
#define SCSIOP_GET_PERFORMANCE   0xAC
 
#define SCSIOP_READ_DVD_STRUCTURE   0xAD
 
#define SCSIOP_WRITE_VERIFY12   0xAE
 
#define SCSIOP_VERIFY12   0xAF
 
#define SCSIOP_SEARCH_DATA_HIGH12   0xB0
 
#define SCSIOP_SEARCH_DATA_EQUAL12   0xB1
 
#define SCSIOP_SEARCH_DATA_LOW12   0xB2
 
#define SCSIOP_SET_LIMITS12   0xB3
 
#define SCSIOP_READ_ELEMENT_STATUS_ATTACHED   0xB4
 
#define SCSIOP_REQUEST_VOL_ELEMENT   0xB5
 
#define SCSIOP_SEND_VOLUME_TAG   0xB6
 
#define SCSIOP_SET_STREAMING   0xB6
 
#define SCSIOP_READ_DEFECT_DATA   0xB7
 
#define SCSIOP_READ_ELEMENT_STATUS   0xB8
 
#define SCSIOP_READ_CD_MSF   0xB9
 
#define SCSIOP_SCAN_CD   0xBA
 
#define SCSIOP_REDUNDANCY_GROUP_IN   0xBA
 
#define SCSIOP_SET_CD_SPEED   0xBB
 
#define SCSIOP_REDUNDANCY_GROUP_OUT   0xBB
 
#define SCSIOP_PLAY_CD   0xBC
 
#define SCSIOP_SPARE_IN   0xBC
 
#define SCSIOP_MECHANISM_STATUS   0xBD
 
#define SCSIOP_SPARE_OUT   0xBD
 
#define SCSIOP_READ_CD   0xBE
 
#define SCSIOP_VOLUME_SET_IN   0xBE
 
#define SCSIOP_SEND_DVD_STRUCTURE   0xBF
 
#define SCSIOP_VOLUME_SET_OUT   0xBF
 
#define SCSIOP_INIT_ELEMENT_RANGE   0xE7
 
#define SCSISTAT_GOOD   0x00
 
#define SCSISTAT_CHECK_CONDITION   0x02
 
#define SCSISTAT_CONDITION_MET   0x04
 
#define SCSISTAT_BUSY   0x08
 
#define SCSISTAT_INTERMEDIATE   0x10
 
#define SCSISTAT_INTERMEDIATE_COND_MET   0x14
 
#define SCSISTAT_RESERVATION_CONFLICT   0x18
 
#define SCSISTAT_COMMAND_TERMINATED   0x22
 
#define SCSISTAT_QUEUE_FULL   0x28
 
#define SETBITON   1
 
#define SETBITOFF   0
 
#define SP_RETURN_NOT_FOUND   0
 
#define SP_RETURN_FOUND   1
 
#define SP_RETURN_ERROR   2
 
#define SP_RETURN_BAD_CONFIG   3
 
#define SRB_FUNCTION_EXECUTE_SCSI   0x00
 
#define SRB_FUNCTION_CLAIM_DEVICE   0x01
 
#define SRB_FUNCTION_IO_CONTROL   0x02
 
#define SRB_FUNCTION_RECEIVE_EVENT   0x03
 
#define SRB_FUNCTION_RELEASE_QUEUE   0x04
 
#define SRB_FUNCTION_ATTACH_DEVICE   0x05
 
#define SRB_FUNCTION_RELEASE_DEVICE   0x06
 
#define SRB_FUNCTION_SHUTDOWN   0x07
 
#define SRB_FUNCTION_FLUSH   0x08
 
#define SRB_FUNCTION_ABORT_COMMAND   0x10
 
#define SRB_FUNCTION_RELEASE_RECOVERY   0x11
 
#define SRB_FUNCTION_RESET_BUS   0x12
 
#define SRB_FUNCTION_RESET_DEVICE   0x13
 
#define SRB_FUNCTION_TERMINATE_IO   0x14
 
#define SRB_FUNCTION_FLUSH_QUEUE   0x15
 
#define SRB_FUNCTION_REMOVE_DEVICE   0x16
 
#define SRB_FUNCTION_WMI   0x17
 
#define SRB_FUNCTION_LOCK_QUEUE   0x18
 
#define SRB_FUNCTION_UNLOCK_QUEUE   0x19
 
#define SRB_FUNCTION_RESET_LOGICAL_UNIT   0x20
 
#define SRB_FUNCTION_SET_LINK_TIMEOUT   0x21
 
#define SRB_FUNCTION_LINK_TIMEOUT_OCCURRED   0x22
 
#define SRB_FUNCTION_LINK_TIMEOUT_COMPLETE   0x23
 
#define SRB_FUNCTION_POWER   0x24
 
#define SRB_FUNCTION_PNP   0x25
 
#define SRB_FUNCTION_DUMP_POINTERS   0x26
 
#define SRB_STATUS_PENDING   0x00
 
#define SRB_STATUS_SUCCESS   0x01
 
#define SRB_STATUS_ABORTED   0x02
 
#define SRB_STATUS_ABORT_FAILED   0x03
 
#define SRB_STATUS_ERROR   0x04
 
#define SRB_STATUS_BUSY   0x05
 
#define SRB_STATUS_INVALID_REQUEST   0x06
 
#define SRB_STATUS_INVALID_PATH_ID   0x07
 
#define SRB_STATUS_NO_DEVICE   0x08
 
#define SRB_STATUS_TIMEOUT   0x09
 
#define SRB_STATUS_SELECTION_TIMEOUT   0x0A
 
#define SRB_STATUS_COMMAND_TIMEOUT   0x0B
 
#define SRB_STATUS_MESSAGE_REJECTED   0x0D
 
#define SRB_STATUS_BUS_RESET   0x0E
 
#define SRB_STATUS_PARITY_ERROR   0x0F
 
#define SRB_STATUS_REQUEST_SENSE_FAILED   0x10
 
#define SRB_STATUS_NO_HBA   0x11
 
#define SRB_STATUS_DATA_OVERRUN   0x12
 
#define SRB_STATUS_UNEXPECTED_BUS_FREE   0x13
 
#define SRB_STATUS_PHASE_SEQUENCE_FAILURE   0x14
 
#define SRB_STATUS_BAD_SRB_BLOCK_LENGTH   0x15
 
#define SRB_STATUS_REQUEST_FLUSHED   0x16
 
#define SRB_STATUS_INVALID_LUN   0x20
 
#define SRB_STATUS_INVALID_TARGET_ID   0x21
 
#define SRB_STATUS_BAD_FUNCTION   0x22
 
#define SRB_STATUS_ERROR_RECOVERY   0x23
 
#define SRB_STATUS_NOT_POWERED   0x24
 
#define SRB_STATUS_LINK_DOWN   0x25
 
#define SRB_STATUS_INTERNAL_ERROR   0x30
 
#define SRB_STATUS_QUEUE_FROZEN   0x40
 
#define SRB_STATUS_AUTOSENSE_VALID   0x80
 
#define SRB_STATUS(Status)   (Status & ~(SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_QUEUE_FROZEN))
 
#define SRB_FLAGS_QUEUE_ACTION_ENABLE   0x00000002
 
#define SRB_FLAGS_DISABLE_DISCONNECT   0x00000004
 
#define SRB_FLAGS_DISABLE_SYNCH_TRANSFER   0x00000008
 
#define SRB_FLAGS_BYPASS_FROZEN_QUEUE   0x00000010
 
#define SRB_FLAGS_DISABLE_AUTOSENSE   0x00000020
 
#define SRB_FLAGS_DATA_IN   0x00000040
 
#define SRB_FLAGS_DATA_OUT   0x00000080
 
#define SRB_FLAGS_NO_DATA_TRANSFER   0x00000000
 
#define SRB_FLAGS_UNSPECIFIED_DIRECTION   (SRB_FLAGS_DATA_IN | SRB_FLAGS_DATA_OUT)
 
#define SRB_FLAGS_NO_QUEUE_FREEZE   0x00000100
 
#define SRB_FLAGS_ADAPTER_CACHE_ENABLE   0x00000200
 
#define SRB_FLAGS_FREE_SENSE_BUFFER   0x00000400
 
#define SRB_FLAGS_IS_ACTIVE   0x00010000
 
#define SRB_FLAGS_ALLOCATED_FROM_ZONE   0x00020000
 
#define SRB_FLAGS_SGLIST_FROM_POOL   0x00040000
 
#define SRB_FLAGS_BYPASS_LOCKED_QUEUE   0x00080000
 
#define SRB_FLAGS_NO_KEEP_AWAKE   0x00100000
 
#define SRB_FLAGS_PORT_DRIVER_ALLOCSENSE   0x00200000
 
#define SRB_FLAGS_PORT_DRIVER_SENSEHASPORT   0x00400000
 
#define SRB_FLAGS_DONT_START_NEXT_PACKET   0x00800000
 
#define SRB_FLAGS_PORT_DRIVER_RESERVED   0x0F000000
 
#define SRB_FLAGS_CLASS_DRIVER_RESERVED   0xF0000000
 
#define SRB_SIMPLE_TAG_REQUEST   0x20
 
#define SRB_HEAD_OF_QUEUE_TAG_REQUEST   0x21
 
#define SRB_ORDERED_QUEUE_TAG_REQUEST   0x22
 
#define SRB_WMI_FLAGS_ADAPTER_REQUEST   0x01
 
#define SRB_POWER_FLAGS_ADAPTER_REQUEST   0x01
 
#define SRB_PNP_FLAGS_ADAPTER_REQUEST   0x01
 
#define STOR_MAP_NO_BUFFERS   (0)
 
#define STOR_MAP_ALL_BUFFERS   (1)
 
#define STOR_MAP_NON_READ_WRITE_BUFFERS   (2)
 
#define VPD_SUPPORTED_PAGES   0x00
 
#define VPD_SERIAL_NUMBER   0x80
 
#define VPD_DEVICE_IDENTIFIERS   0x83
 
#define VPD_MEDIA_SERIAL_NUMBER   0x84
 
#define VPD_SOFTWARE_INTERFACE_IDENTIFIERS   0x84
 
#define VPD_NETWORK_MANAGEMENT_ADDRESSES   0x85
 
#define VPD_EXTENDED_INQUIRY_DATA   0x86
 
#define VPD_MODE_PAGE_POLICY   0x87
 
#define VPD_SCSI_PORTS   0x88
 
#define SCSI_SENSE_NO_SENSE   0x00
 
#define SCSI_SENSE_RECOVERED_ERROR   0x01
 
#define SCSI_SENSE_NOT_READY   0x02
 
#define SCSI_SENSE_MEDIUM_ERROR   0x03
 
#define SCSI_SENSE_HARDWARE_ERROR   0x04
 
#define SCSI_SENSE_ILLEGAL_REQUEST   0x05
 
#define SCSI_SENSE_UNIT_ATTENTION   0x06
 
#define SCSI_SENSE_DATA_PROTECT   0x07
 
#define SCSI_SENSE_BLANK_CHECK   0x08
 
#define SCSI_SENSE_UNIQUE   0x09
 
#define SCSI_SENSE_COPY_ABORTED   0x0A
 
#define SCSI_SENSE_ABORTED_COMMAND   0x0B
 
#define SCSI_SENSE_EQUAL   0x0C
 
#define SCSI_SENSE_VOL_OVERFLOW   0x0D
 
#define SCSI_SENSE_MISCOMPARE   0x0E
 
#define SCSI_SENSE_RESERVED   0x0F
 
#define REVERSE_BYTES_QUAD(Destination, Source)
 
#define REVERSE_BYTES(Destination, Source)
 
#define REVERSE_BYTES_SHORT(Destination, Source)
 
#define StorPortCopyMemory(Destination, Source, Length)   memcpy((Destination),(Source),(Length))
 
#define DebugPrint(x)
 

Typedefs

typedef enum _STOR_SYNCHRONIZATION_MODEL STOR_SYNCHRONIZATION_MODEL
 
typedef enum _STOR_DMA_WIDTH STOR_DMA_WIDTH
 
typedef enum _STOR_SPINLOCK STOR_SPINLOCK
 
typedef enum _SCSI_ADAPTER_CONTROL_TYPE SCSI_ADAPTER_CONTROL_TYPE
 
typedef enum _SCSI_ADAPTER_CONTROL_TYPEPSCSI_ADAPTER_CONTROL_TYPE
 
typedef enum _SCSI_ADAPTER_CONTROL_STATUS SCSI_ADAPTER_CONTROL_STATUS
 
typedef enum _SCSI_ADAPTER_CONTROL_STATUSPSCSI_ADAPTER_CONTROL_STATUS
 
typedef enum _SCSI_NOTIFICATION_TYPE SCSI_NOTIFICATION_TYPE
 
typedef enum _SCSI_NOTIFICATION_TYPEPSCSI_NOTIFICATION_TYPE
 
typedef enum _STOR_DEVICE_POWER_STATE STOR_DEVICE_POWER_STATE
 
typedef enum _STOR_DEVICE_POWER_STATEPSTOR_DEVICE_POWER_STATE
 
typedef enum _STOR_POWER_ACTION STOR_POWER_ACTION
 
typedef enum _STOR_POWER_ACTIONPSTOR_POWER_ACTION
 
typedef enum _STOR_PNP_ACTION STOR_PNP_ACTION
 
typedef enum _STOR_PNP_ACTIONPSTOR_PNP_ACTION
 
typedef enum _VPD_CODE_SET VPD_CODE_SET
 
typedef enum _VPD_CODE_SETPVPD_CODE_SET
 
typedef enum _VPD_ASSOCIATION VPD_ASSOCIATION
 
typedef enum _VPD_ASSOCIATIONPVPD_ASSOCIATION
 
typedef enum _VPD_IDENTIFIER_TYPE VPD_IDENTIFIER_TYPE
 
typedef enum _VPD_IDENTIFIER_TYPEPVPD_IDENTIFIER_TYPE
 
typedef enum _STORPORT_FUNCTION_CODE STORPORT_FUNCTION_CODE
 
typedef enum _STORPORT_FUNCTION_CODEPSTORPORT_FUNCTION_CODE
 
typedef enum _STOR_EVENT_ASSOCIATION_ENUM STOR_EVENT_ASSOCIATION_ENUM
 
typedef enum _GETSGSTATUS GETSGSTATUS
 
typedef enum _GETSGSTATUSPGETSGSTATUS
 
typedef struct _SCSI_REQUEST_BLOCK SCSI_REQUEST_BLOCK
 
typedef struct _SCSI_REQUEST_BLOCKPSCSI_REQUEST_BLOCK
 
typedef struct _SCSI_WMI_REQUEST_BLOCK SCSI_WMI_REQUEST_BLOCK
 
typedef struct _SCSI_WMI_REQUEST_BLOCKPSCSI_WMI_REQUEST_BLOCK
 
typedef struct _SCSI_POWER_REQUEST_BLOCK SCSI_POWER_REQUEST_BLOCK
 
typedef struct _SCSI_POWER_REQUEST_BLOCKPSCSI_POWER_REQUEST_BLOCK
 
typedef struct _STOR_DEVICE_CAPABILITIES STOR_DEVICE_CAPABILITIES
 
typedef struct _STOR_DEVICE_CAPABILITIESPSTOR_DEVICE_CAPABILITIES
 
typedef struct _SCSI_PNP_REQUEST_BLOCK SCSI_PNP_REQUEST_BLOCK
 
typedef struct _SCSI_PNP_REQUEST_BLOCKPSCSI_PNP_REQUEST_BLOCK
 
typedef union _CDB CDB
 
typedef union _CDBPCDB
 
typedef union _EIGHT_BYTE EIGHT_BYTE
 
typedef union _EIGHT_BYTEPEIGHT_BYTE
 
typedef union _FOUR_BYTE FOUR_BYTE
 
typedef union _FOUR_BYTEPFOUR_BYTE
 
typedef union _TWO_BYTE TWO_BYTE
 
typedef union _TWO_BYTEPTWO_BYTE
 
typedef struct _INQUIRYDATA INQUIRYDATA
 
typedef struct _INQUIRYDATAPINQUIRYDATA
 
typedef struct _VPD_MEDIA_SERIAL_NUMBER_PAGE VPD_MEDIA_SERIAL_NUMBER_PAGE
 
typedef struct _VPD_MEDIA_SERIAL_NUMBER_PAGEPVPD_MEDIA_SERIAL_NUMBER_PAGE
 
typedef struct _VPD_SERIAL_NUMBER_PAGE VPD_SERIAL_NUMBER_PAGE
 
typedef struct _VPD_SERIAL_NUMBER_PAGEPVPD_SERIAL_NUMBER_PAGE
 
typedef struct _VPD_IDENTIFICATION_DESCRIPTOR VPD_IDENTIFICATION_DESCRIPTOR
 
typedef struct _VPD_IDENTIFICATION_DESCRIPTORPVPD_IDENTIFICATION_DESCRIPTOR
 
typedef struct _VPD_IDENTIFICATION_PAGE VPD_IDENTIFICATION_PAGE
 
typedef struct _VPD_IDENTIFICATION_PAGEPVPD_IDENTIFICATION_PAGE
 
typedef struct _VPD_SUPPORTED_PAGES_PAGE VPD_SUPPORTED_PAGES_PAGE
 
typedef struct _VPD_SUPPORTED_PAGES_PAGEPVPD_SUPPORTED_PAGES_PAGE
 
typedef struct _READ_CAPACITY_DATA READ_CAPACITY_DATA
 
typedef struct _READ_CAPACITY_DATAPREAD_CAPACITY_DATA
 
typedef struct _READ_CAPACITY_DATA_EX READ_CAPACITY_DATA_EX
 
typedef struct _READ_CAPACITY_DATA_EXPREAD_CAPACITY_DATA_EX
 
typedef struct _MODE_PARAMETER_HEADER MODE_PARAMETER_HEADER
 
typedef struct _MODE_PARAMETER_HEADERPMODE_PARAMETER_HEADER
 
typedef struct _MODE_PARAMETER_HEADER10 MODE_PARAMETER_HEADER10
 
typedef struct _MODE_PARAMETER_HEADER10PMODE_PARAMETER_HEADER10
 
typedef struct _MODE_PARAMETER_BLOCK MODE_PARAMETER_BLOCK
 
typedef struct _MODE_PARAMETER_BLOCKPMODE_PARAMETER_BLOCK
 
typedef struct _LUN_LIST LUN_LIST
 
typedef struct _LUN_LISTPLUN_LIST
 
typedef struct _SENSE_DATA SENSE_DATA
 
typedef struct _SENSE_DATAPSENSE_DATA
 
typedef PHYSICAL_ADDRESS STOR_PHYSICAL_ADDRESS
 
typedef struct _ACCESS_RANGE ACCESS_RANGE
 
typedef struct _ACCESS_RANGEPACCESS_RANGE
 
typedef struct _MEMORY_REGION MEMORY_REGION
 
typedef struct _MEMORY_REGIONPMEMORY_REGION
 
typedef struct _PORT_CONFIGURATION_INFORMATION PORT_CONFIGURATION_INFORMATION
 
typedef struct _PORT_CONFIGURATION_INFORMATIONPPORT_CONFIGURATION_INFORMATION
 
typedef struct _STOR_SCATTER_GATHER_ELEMENT STOR_SCATTER_GATHER_ELEMENT
 
typedef struct _STOR_SCATTER_GATHER_ELEMENTPSTOR_SCATTER_GATHER_ELEMENT
 
typedef struct _STOR_SCATTER_GATHER_LIST STOR_SCATTER_GATHER_LIST
 
typedef struct _STOR_SCATTER_GATHER_LISTPSTOR_SCATTER_GATHER_LIST
 
typedef struct _DPC_BUFFER DPC_BUFFER
 
typedef struct _STOR_DPC STOR_DPC
 
typedef struct _STOR_DPCPSTOR_DPC
 
typedef struct _STOR_LOCK_HANDLE STOR_LOCK_HANDLE
 
typedef struct _STOR_LOCK_HANDLEPSTOR_LOCK_HANDLE
 
typedef struct _STOR_LOG_EVENT_DETAILS STOR_LOG_EVENT_DETAILS
 
typedef struct _STOR_LOG_EVENT_DETAILSPSTOR_LOG_EVENT_DETAILS
 
typedef struct _PERF_CONFIGURATION_DATA PERF_CONFIGURATION_DATA
 
typedef struct _PERF_CONFIGURATION_DATAPPERF_CONFIGURATION_DATA
 
typedef struct _STARTIO_PERFORMANCE_PARAMETERS STARTIO_PERFORMANCE_PARAMETERS
 
typedef struct _STARTIO_PERFORMANCE_PARAMETERSPSTARTIO_PERFORMANCE_PARAMETERS
 
typedef struct _MESSAGE_INTERRUPT_INFORMATION MESSAGE_INTERRUPT_INFORMATION
 
typedef struct _MESSAGE_INTERRUPT_INFORMATIONPMESSAGE_INTERRUPT_INFORMATION
 
typedef BOOLEAN(NTAPIPHW_INITIALIZE) (_In_ PVOID DeviceExtension)
 
typedef BOOLEAN(NTAPIPHW_BUILDIO) (_In_ PVOID DeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb)
 
typedef BOOLEAN(NTAPIPHW_STARTIO) (_In_ PVOID DeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb)
 
typedef BOOLEAN(NTAPIPHW_INTERRUPT) (_In_ PVOID DeviceExtension)
 
typedef VOID(NTAPIPHW_TIMER) (_In_ PVOID DeviceExtension)
 
typedef VOID(NTAPIPHW_DMA_STARTED) (_In_ PVOID DeviceExtension)
 
typedef ULONG(NTAPIPHW_FIND_ADAPTER) (IN PVOID DeviceExtension, IN PVOID HwContext, IN PVOID BusInformation, IN PCHAR ArgumentString, IN OUT PPORT_CONFIGURATION_INFORMATION ConfigInfo, OUT PBOOLEAN Again)
 
typedef BOOLEAN(NTAPIPHW_RESET_BUS) (IN PVOID DeviceExtension, IN ULONG PathId)
 
typedef BOOLEAN(NTAPIPHW_ADAPTER_STATE) (IN PVOID DeviceExtension, IN PVOID Context, IN BOOLEAN SaveState)
 
typedef SCSI_ADAPTER_CONTROL_STATUS(NTAPIPHW_ADAPTER_CONTROL) (IN PVOID DeviceExtension, IN SCSI_ADAPTER_CONTROL_TYPE ControlType, IN PVOID Parameters)
 
typedef BOOLEAN(* PHW_PASSIVE_INITIALIZE_ROUTINE) (_In_ PVOID DeviceExtension)
 
typedef VOID(* PHW_DPC_ROUTINE) (_In_ PSTOR_DPC Dpc, _In_ PVOID HwDeviceExtension, _In_ PVOID SystemArgument1, _In_ PVOID SystemArgument2)
 
typedef _In_ PVOID Context
 
typedef STOR_SYNCHRONIZED_ACCESS * PSTOR_SYNCHRONIZED_ACCESS
 
typedef VOID(NTAPIPpostScaterGatherExecute) (_In_ PVOID *DeviceObject, _In_ PVOID *Irp, _In_ PSTOR_SCATTER_GATHER_LIST ScatterGather, _In_ PVOID Context)
 
typedef BOOLEAN(NTAPIPStorPortGetMessageInterruptInformation) (_In_ PVOID HwDeviceExtension, _In_ ULONG MessageId, _Out_ PMESSAGE_INTERRUPT_INFORMATION InterruptInfo)
 
typedef VOID(NTAPIPStorPortPutScatterGatherList) (_In_ PVOID HwDeviceExtension, _In_ PSTOR_SCATTER_GATHER_LIST ScatterGatherList, _In_ BOOLEAN WriteToDevice)
 
typedef GETSGSTATUS(NTAPIPStorPortBuildScatterGatherList) (_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)
 
typedef VOID(NTAPIPStorPortFreePool) (_In_ PVOID PMemory, _In_ PVOID HwDeviceExtension, _In_opt_ PVOID PMdl)
 
typedef PVOID(NTAPIPStorPortAllocatePool) (_In_ ULONG NumberOfBytes, _In_ ULONG Tag, _In_ PVOID HwDeviceExtension, _Out_ PVOID *PMdl)
 
typedef PVOID(NTAPIPStorPortGetSystemAddress) (_In_ PSCSI_REQUEST_BLOCK Srb)
 
typedef struct _STORPORT_EXTENDED_FUNCTIONS STORPORT_EXTENDED_FUNCTIONS
 
typedef struct _STORPORT_EXTENDED_FUNCTIONSPSTORPORT_EXTENDED_FUNCTIONS
 
typedef struct _HW_INITIALIZATION_DATA HW_INITIALIZATION_DATA
 
typedef struct _HW_INITIALIZATION_DATAPHW_INITIALIZATION_DATA
 

Enumerations

enum  _STOR_SYNCHRONIZATION_MODEL { StorSynchronizeHalfDuplex , StorSynchronizeFullDuplex }
 
enum  _STOR_DMA_WIDTH { DmaUnknown , Dma32Bit , Dma64BitScatterGather , Dma64Bit }
 
enum  _STOR_SPINLOCK { DpcLock = 1 , StartIoLock , InterruptLock }
 
enum  _SCSI_ADAPTER_CONTROL_TYPE {
  ScsiQuerySupportedControlTypes = 0 , ScsiStopAdapter , ScsiRestartAdapter , ScsiSetBootConfig ,
  ScsiSetRunningConfig , ScsiAdapterControlMax , MakeAdapterControlTypeSizeOfUlong = 0xffffffff , ScsiQuerySupportedControlTypes = 0 ,
  ScsiStopAdapter , ScsiRestartAdapter , ScsiSetBootConfig , ScsiSetRunningConfig ,
  ScsiAdapterControlMax , MakeAdapterControlTypeSizeOfUlong = 0xffffffff , ScsiQuerySupportedControlTypes = 0 , ScsiStopAdapter ,
  ScsiRestartAdapter , ScsiSetBootConfig , ScsiSetRunningConfig , ScsiAdapterControlMax ,
  MakeAdapterControlTypeSizeOfUlong = 0xffffffff
}
 
enum  _SCSI_ADAPTER_CONTROL_STATUS {
  ScsiAdapterControlSuccess = 0 , ScsiAdapterControlUnsuccessful , ScsiAdapterControlSuccess = 0 , ScsiAdapterControlUnsuccessful ,
  ScsiAdapterControlSuccess = 0 , ScsiAdapterControlUnsuccessful
}
 
enum  _SCSI_NOTIFICATION_TYPE {
  RequestComplete , NextRequest , NextLuRequest , ResetDetected ,
  CallDisableInterrupts , CallEnableInterrupts , RequestTimerCall , BusChangeDetected ,
  WMIEvent , WMIReregister , RequestComplete , NextRequest ,
  NextLuRequest , ResetDetected , CallDisableInterrupts , CallEnableInterrupts ,
  RequestTimerCall , BusChangeDetected , WMIEvent , WMIReregister ,
  LinkUp , LinkDown , QueryTickCount , BufferOverrunDetected ,
  TraceNotification , RequestComplete , NextRequest , NextLuRequest ,
  ResetDetected , _obsolete1 , _obsolete2 , RequestTimerCall ,
  BusChangeDetected , WMIEvent , WMIReregister , LinkUp ,
  LinkDown , QueryTickCount , BufferOverrunDetected , TraceNotification ,
  GetExtendedFunctionTable , EnablePassiveInitialization = 0x1000 , InitializeDpc , IssueDpc ,
  AcquireSpinLock , ReleaseSpinLock
}
 
enum  _STOR_DEVICE_POWER_STATE {
  StorPowerDeviceUnspecified = 0 , StorPowerDeviceD0 , StorPowerDeviceD1 , StorPowerDeviceD2 ,
  StorPowerDeviceD3 , StorPowerDeviceMaximum , StorPowerDeviceUnspecified = 0 , StorPowerDeviceD0 ,
  StorPowerDeviceD1 , StorPowerDeviceD2 , StorPowerDeviceD3 , StorPowerDeviceMaximum
}
 
enum  _STOR_POWER_ACTION {
  StorPowerActionNone = 0 , StorPowerActionReserved , StorPowerActionSleep , StorPowerActionHibernate ,
  StorPowerActionShutdown , StorPowerActionShutdownReset , StorPowerActionShutdownOff , StorPowerActionWarmEject ,
  StorPowerActionNone = 0 , StorPowerActionReserved , StorPowerActionSleep , StorPowerActionHibernate ,
  StorPowerActionShutdown , StorPowerActionShutdownReset , StorPowerActionShutdownOff , StorPowerActionWarmEject
}
 
enum  _STOR_PNP_ACTION {
  StorStartDevice = 0x0 , StorRemoveDevice = 0x2 , StorStopDevice = 0x4 , StorQueryCapabilities = 0x9 ,
  StorQueryResourceRequirements = 0xB , StorFilterResourceRequirements = 0xD , StorSurpriseRemoval = 0x17 , StorStartDevice = 0x0 ,
  StorRemoveDevice = 0x2 , StorStopDevice = 0x4 , StorQueryCapabilities = 0x9 , StorQueryResourceRequirements = 0xB ,
  StorFilterResourceRequirements = 0xD , StorSurpriseRemoval = 0x17
}
 
enum  _VPD_CODE_SET {
  VpdCodeSetReserved = 0 , VpdCodeSetBinary = 1 , VpdCodeSetAscii = 2 , VpdCodeSetUTF8 = 3 ,
  VpdCodeSetReserved = 0 , VpdCodeSetBinary = 1 , VpdCodeSetAscii = 2 , VpdCodeSetUTF8 = 3
}
 
enum  _VPD_ASSOCIATION {
  VpdAssocDevice = 0 , VpdAssocPort = 1 , VpdAssocTarget = 2 , VpdAssocReserved1 = 3 ,
  VpdAssocReserved2 = 4 , VpdAssocDevice = 0 , VpdAssocPort = 1 , VpdAssocTarget = 2 ,
  VpdAssocReserved1 = 3 , VpdAssocReserved2 = 4
}
 
enum  _VPD_IDENTIFIER_TYPE {
  VpdIdentifierTypeVendorSpecific = 0 , VpdIdentifierTypeVendorId = 1 , VpdIdentifierTypeEUI64 = 2 , VpdIdentifierTypeFCPHName = 3 ,
  VpdIdentifierTypePortRelative = 4 , VpdIdentifierTypeTargetPortGroup = 5 , VpdIdentifierTypeLogicalUnitGroup = 6 , VpdIdentifierTypeMD5LogicalUnitId = 7 ,
  VpdIdentifierTypeSCSINameString = 8 , VpdIdentifierTypeVendorSpecific = 0 , VpdIdentifierTypeVendorId = 1 , VpdIdentifierTypeEUI64 = 2 ,
  VpdIdentifierTypeFCPHName = 3 , VpdIdentifierTypePortRelative = 4 , VpdIdentifierTypeTargetPortGroup = 5 , VpdIdentifierTypeLogicalUnitGroup = 6 ,
  VpdIdentifierTypeMD5LogicalUnitId = 7 , VpdIdentifierTypeSCSINameString = 8
}
 
enum  _STORPORT_FUNCTION_CODE {
  ExtFunctionAllocatePool , ExtFunctionFreePool , ExtFunctionAllocateMdl , ExtFunctionFreeMdl ,
  ExtFunctionBuildMdlForNonPagedPool , ExtFunctionGetSystemAddress , ExtFunctionGetOriginalMdl , ExtFunctionCompleteServiceIrp ,
  ExtFunctionGetDeviceObjects , ExtFunctionBuildScatterGatherList , ExtFunctionPutScatterGatherList , ExtFunctionAcquireMSISpinLock ,
  ExtFunctionReleaseMSISpinLock , ExtFunctionGetMessageInterruptInformation , ExtFunctionInitializePerformanceOptimizations , ExtFunctionGetStartIoPerformanceParameters ,
  ExtFunctionLogSystemEvent , ExtFunctionGetCurrentProcessorNumber , ExtFunctionGetActiveGroupCount , ExtFunctionGetGroupAffinity ,
  ExtFunctionGetActiveNodeCount , ExtFunctionGetNodeAffinity , ExtFunctionGetHighestNodeNumber , ExtFunctionGetLogicalProcessorRelationship ,
  ExtFunctionAllocateContiguousMemorySpecifyCacheNode , ExtFunctionFreeContiguousMemorySpecifyCache
}
 
enum  _STOR_EVENT_ASSOCIATION_ENUM { StorEventAdapterAssociation = 0 , StorEventLunAssociation , StorEventTargetAssociation , StorEventInvalidAssociation }
 
enum  _GETSGSTATUS { SG_ALLOCATED = 0 , SG_BUFFER_TOO_SMALL }
 

Functions

typedef BOOLEAN (NTAPI STOR_SYNCHRONIZED_ACCESS)(_In_ PVOID HwDeviceExtension
 
STORPORT_API PUCHAR NTAPI StorPortAllocateRegistryBuffer (_In_ PVOID HwDeviceExtension, _In_ PULONG Length)
 
STORPORT_API BOOLEAN NTAPI StorPortBusy (_In_ PVOID HwDeviceExtension, _In_ ULONG RequestsToComplete)
 
STORPORT_API VOID NTAPI StorPortCompleteRequest (_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun, _In_ UCHAR SrbStatus)
 
STORPORT_API ULONG64 NTAPI StorPortConvertPhysicalAddressToUlong64 (_In_ STOR_PHYSICAL_ADDRESS Address)
 
STORPORT_API STOR_PHYSICAL_ADDRESS NTAPI StorPortConvertUlong64ToPhysicalAddress (_In_ ULONG64 UlongAddress)
 
STORPORT_API VOID __cdecl StorPortDebugPrint (_In_ ULONG DebugPrintLevel, _In_ PCCHAR DebugMessage,...)
 
STORPORT_API BOOLEAN NTAPI StorPortDeviceBusy (_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun, _In_ ULONG RequestsToComplete)
 
STORPORT_API BOOLEAN NTAPI StorPortDeviceReady (_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun)
 
STORPORT_API VOID NTAPI StorPortFreeDeviceBase (_In_ PVOID HwDeviceExtension, _In_ PVOID MappedAddress)
 
STORPORT_API VOID NTAPI StorPortFreeRegistryBuffer (_In_ PVOID HwDeviceExtension, _In_ PUCHAR Buffer)
 
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)
 
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)
 
STORPORT_API PVOID NTAPI StorPortGetLogicalUnit (_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun)
 
STORPORT_API STOR_PHYSICAL_ADDRESS NTAPI StorPortGetPhysicalAddress (_In_ PVOID HwDeviceExtension, _In_opt_ PSCSI_REQUEST_BLOCK Srb, _In_ PVOID VirtualAddress, _Out_ ULONG *Length)
 
STORPORT_API PSTOR_SCATTER_GATHER_LIST NTAPI StorPortGetScatterGatherList (_In_ PVOID DeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb)
 
STORPORT_API PSCSI_REQUEST_BLOCK NTAPI StorPortGetSrb (_In_ PVOID DeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun, _In_ LONG QueueTag)
 
STORPORT_API PVOID NTAPI StorPortGetUncachedExtension (_In_ PVOID HwDeviceExtension, _In_ PPORT_CONFIGURATION_INFORMATION ConfigInfo, _In_ ULONG NumberOfBytes)
 
STORPORT_API PVOID NTAPI StorPortGetVirtualAddress (_In_ PVOID HwDeviceExtension, _In_ STOR_PHYSICAL_ADDRESS PhysicalAddress)
 
STORPORT_API ULONG NTAPI StorPortInitialize (_In_ PVOID Argument1, _In_ PVOID Argument2, _In_ PHW_INITIALIZATION_DATA HwInitializationData, _In_opt_ PVOID Unused)
 
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)
 
STORPORT_API VOID NTAPI StorPortMoveMemory (_Out_writes_bytes_(Length) PVOID WriteBuffer, _In_reads_bytes_(Length) PVOID ReadBuffer, _In_ ULONG Length)
 
STORPORT_API VOID __cdecl StorPortNotification (_In_ SCSI_NOTIFICATION_TYPE NotificationType, _In_ PVOID HwDeviceExtension,...)
 
STORPORT_API VOID NTAPI StorPortQuerySystemTime (_Out_ PLARGE_INTEGER CurrentTime)
 
STORPORT_API BOOLEAN NTAPI StorPortPause (_In_ PVOID HwDeviceExtension, _In_ ULONG TimeOut)
 
STORPORT_API BOOLEAN NTAPI StorPortPauseDevice (_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun, _In_ ULONG TimeOut)
 
STORPORT_API VOID NTAPI StorPortReadPortBufferUchar (_In_ PVOID HwDeviceExtension, _In_ PUCHAR Port, _In_ PUCHAR Buffer, _In_ ULONG Count)
 
STORPORT_API VOID NTAPI StorPortReadPortBufferUlong (_In_ PVOID HwDeviceExtension, _In_ PULONG Port, _In_ PULONG Buffer, _In_ ULONG Count)
 
STORPORT_API VOID NTAPI StorPortReadPortBufferUshort (_In_ PVOID HwDeviceExtension, _In_ PUSHORT Port, _In_ PUSHORT Buffer, _In_ ULONG Count)
 
STORPORT_API UCHAR NTAPI StorPortReadPortUchar (_In_ PVOID HwDeviceExtension, _In_ PUCHAR Port)
 
STORPORT_API ULONG NTAPI StorPortReadPortUlong (_In_ PVOID HwDeviceExtension, _In_ PULONG Port)
 
STORPORT_API USHORT NTAPI StorPortReadPortUshort (_In_ PVOID HwDeviceExtension, _In_ PUSHORT Port)
 
STORPORT_API VOID NTAPI StorPortReadRegisterBufferUchar (_In_ PVOID HwDeviceExtension, _In_ PUCHAR Register, _In_ PUCHAR Buffer, _In_ ULONG Count)
 
STORPORT_API VOID NTAPI StorPortReadRegisterBufferUlong (_In_ PVOID HwDeviceExtension, _In_ PULONG Register, _In_ PULONG Buffer, _In_ ULONG Count)
 
STORPORT_API VOID NTAPI StorPortReadRegisterBufferUshort (_In_ PVOID HwDeviceExtension, _In_ PUSHORT Register, _In_ PUSHORT Buffer, _In_ ULONG Count)
 
STORPORT_API UCHAR NTAPI StorPortReadRegisterUchar (_In_ PVOID HwDeviceExtension, _In_ PUCHAR Register)
 
STORPORT_API ULONG NTAPI StorPortReadRegisterUlong (_In_ PVOID HwDeviceExtension, _In_ PULONG Register)
 
STORPORT_API USHORT NTAPI StorPortReadRegisterUshort (_In_ PVOID HwDeviceExtension, _In_ PUSHORT Register)
 
STORPORT_API BOOLEAN NTAPI StorPortReady (_In_ PVOID HwDeviceExtension)
 
STORPORT_API BOOLEAN NTAPI StorPortRegistryRead (_In_ PVOID HwDeviceExtension, _In_ PUCHAR ValueName, _In_ ULONG Global, _In_ ULONG Type, _In_ PUCHAR Buffer, _In_ PULONG BufferLength)
 
STORPORT_API BOOLEAN NTAPI StorPortRegistryWrite (_In_ PVOID HwDeviceExtension, _In_ PUCHAR ValueName, _In_ ULONG Global, _In_ ULONG Type, _In_ PUCHAR Buffer, _In_ ULONG BufferLength)
 
STORPORT_API BOOLEAN NTAPI StorPortResume (_In_ PVOID HwDeviceExtension)
 
STORPORT_API BOOLEAN NTAPI StorPortResumeDevice (_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun)
 
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 BOOLEAN NTAPI StorPortSetDeviceQueueDepth (_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun, _In_ ULONG Depth)
 
STORPORT_API VOID NTAPI StorPortStallExecution (_In_ ULONG Delay)
 
STORPORT_API VOID NTAPI StorPortSynchronizeAccess (_In_ PVOID HwDeviceExtension, _In_ PSTOR_SYNCHRONIZED_ACCESS SynchronizedAccessRoutine, _In_opt_ PVOID Context)
 
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)
 
STORPORT_API VOID NTAPI StorPortWritePortBufferUchar (_In_ PVOID HwDeviceExtension, _In_ PUCHAR Port, _In_ PUCHAR Buffer, _In_ ULONG Count)
 
STORPORT_API VOID NTAPI StorPortWritePortBufferUlong (_In_ PVOID HwDeviceExtension, _In_ PULONG Port, _In_ PULONG Buffer, _In_ ULONG Count)
 
STORPORT_API VOID NTAPI StorPortWritePortBufferUshort (_In_ PVOID HwDeviceExtension, _In_ PUSHORT Port, _In_ PUSHORT Buffer, _In_ ULONG Count)
 
STORPORT_API VOID NTAPI StorPortWritePortUchar (_In_ PVOID HwDeviceExtension, _In_ PUCHAR Port, _In_ UCHAR Value)
 
STORPORT_API VOID NTAPI StorPortWritePortUlong (_In_ PVOID HwDeviceExtension, _In_ PULONG Port, _In_ ULONG Value)
 
STORPORT_API VOID NTAPI StorPortWritePortUshort (_In_ PVOID HwDeviceExtension, _In_ PUSHORT Port, _In_ USHORT Value)
 
STORPORT_API VOID NTAPI StorPortWriteRegisterBufferUchar (_In_ PVOID HwDeviceExtension, _In_ PUCHAR Register, _In_ PUCHAR Buffer, _In_ ULONG Count)
 
STORPORT_API VOID NTAPI StorPortWriteRegisterBufferUlong (_In_ PVOID HwDeviceExtension, _In_ PULONG Register, _In_ PULONG Buffer, _In_ ULONG Count)
 
STORPORT_API VOID NTAPI StorPortWriteRegisterBufferUshort (_In_ PVOID HwDeviceExtension, _In_ PUSHORT Register, _In_ PUSHORT Buffer, _In_ ULONG Count)
 
STORPORT_API VOID NTAPI StorPortWriteRegisterUchar (_In_ PVOID HwDeviceExtension, _In_ PUCHAR Register, _In_ UCHAR Value)
 
STORPORT_API VOID NTAPI StorPortWriteRegisterUlong (_In_ PVOID HwDeviceExtension, _In_ PULONG Register, _In_ ULONG Value)
 
STORPORT_API VOID NTAPI StorPortWriteRegisterUshort (_In_ PVOID HwDeviceExtension, _In_ PUSHORT Register, _In_ USHORT Value)
 
FORCEINLINE BOOLEAN StorPortEnablePassiveInitialization (_In_ PVOID DeviceExtension, _In_ PHW_PASSIVE_INITIALIZE_ROUTINE HwPassiveInitializeRoutine)
 
FORCEINLINE VOID StorPortInitializeDpc (_In_ PVOID DeviceExtension, _Out_ PSTOR_DPC Dpc, _In_ PHW_DPC_ROUTINE HwDpcRoutine)
 
FORCEINLINE BOOLEAN StorPortIssueDpc (_In_ PVOID DeviceExtension, _In_ PSTOR_DPC Dpc, _In_ PVOID SystemArgument1, _In_ PVOID SystemArgument2)
 
FORCEINLINE VOID StorPortAcquireSpinLock (_In_ PVOID DeviceExtension, _In_ STOR_SPINLOCK SpinLock, _In_ PVOID LockContext, _Inout_ PSTOR_LOCK_HANDLE LockHandle)
 
FORCEINLINE VOID StorPortReleaseSpinLock (_In_ PVOID DeviceExtension, _Inout_ PSTOR_LOCK_HANDLE LockHandle)
 
STORPORT_API ULONG StorPortExtendedFunction (_In_ STORPORT_FUNCTION_CODE FunctionCode, _In_ PVOID HwDeviceExtension,...)
 
FORCEINLINE ULONG StorPortAllocatePool (_In_ PVOID HwDeviceExtension, _In_ ULONG NumberOfBytes, _In_ ULONG Tag, _Out_ PVOID *BufferPointer)
 
FORCEINLINE ULONG StorPortFreePool (_In_ PVOID HwDeviceExtension, _In_ PVOID BufferPointer)
 
FORCEINLINE ULONG StorPortAllocateMdl (_In_ PVOID HwDeviceExtension, _In_ PVOID BufferPointer, _In_ ULONG NumberOfBytes, _Out_ PVOID *Mdl)
 
FORCEINLINE ULONG StorPortFreeMdl (_In_ PVOID HwDeviceExtension, _In_ PVOID Mdl)
 
FORCEINLINE ULONG StorPortBuildMdlForNonPagedPool (_In_ PVOID HwDeviceExtension, _Inout_ PVOID Mdl)
 
FORCEINLINE ULONG StorPortGetSystemAddress (_In_ PVOID HwDeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb, _Out_ PVOID *SystemAddress)
 
FORCEINLINE ULONG StorPortGetOriginalMdl (_In_ PVOID HwDeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb, _Out_ PVOID *Mdl)
 
FORCEINLINE ULONG StorPortCompleteServiceIrp (_In_ PVOID HwDeviceExtension, _In_ PVOID Irp)
 
FORCEINLINE ULONG StorPortGetDeviceObjects (_In_ PVOID HwDeviceExtension, _Out_ PVOID *AdapterDeviceObject, _Out_ PVOID *PhysicalDeviceObject, _Out_ PVOID *LowerDeviceObject)
 
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)
 
FORCEINLINE ULONG StorPortPutScatterGatherList (_In_ PVOID HwDeviceExtension, _In_ PSTOR_SCATTER_GATHER_LIST ScatterGatherList, _In_ BOOLEAN WriteToDevice)
 
FORCEINLINE ULONG StorPortAcquireMSISpinLock (_In_ PVOID HwDeviceExtension, _In_ ULONG MessageId, _In_ PULONG OldIrql)
 
FORCEINLINE ULONG StorPortReleaseMSISpinLock (_In_ PVOID HwDeviceExtension, _In_ ULONG MessageId, _In_ ULONG OldIrql)
 
FORCEINLINE ULONG StorPortGetMSIInfo (_In_ PVOID HwDeviceExtension, _In_ ULONG MessageId, _Out_ PMESSAGE_INTERRUPT_INFORMATION InterruptInfo)
 
FORCEINLINE ULONG StorPortInitializePerfOpts (_In_ PVOID HwDeviceExtension, _In_ BOOLEAN Query, _Inout_ PPERF_CONFIGURATION_DATA PerfConfigData)
 
FORCEINLINE ULONG StorPortGetStartIoPerfParams (_In_ PVOID HwDeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb, _Inout_ PSTARTIO_PERFORMANCE_PARAMETERS StartIoPerfParams)
 
FORCEINLINE ULONG StorPortLogSystemEvent (_In_ PVOID HwDeviceExtension, _Inout_ PSTOR_LOG_EVENT_DETAILS LogDetails, _Inout_ PULONG MaximumSize)
 

Macro Definition Documentation

◆ _NTSTORPORT_

#define _NTSTORPORT_

Definition at line 32 of file storport.h.

◆ ARRAY_CONTROLLER_DEVICE

#define ARRAY_CONTROLLER_DEVICE   0x0C

Definition at line 88 of file storport.h.

◆ BRIDGE_CONTROLLER_DEVICE

#define BRIDGE_CONTROLLER_DEVICE   0x10

Definition at line 92 of file storport.h.

◆ CDB10GENERIC_LENGTH

#define CDB10GENERIC_LENGTH   10

Definition at line 99 of file storport.h.

◆ CDB12GENERIC_LENGTH

#define CDB12GENERIC_LENGTH   12

Definition at line 100 of file storport.h.

◆ CDB6GENERIC_LENGTH

#define CDB6GENERIC_LENGTH   6

Definition at line 98 of file storport.h.

◆ COMMUNICATION_DEVICE

#define COMMUNICATION_DEVICE   0x09

Definition at line 87 of file storport.h.

◆ DebugPrint

#define DebugPrint (   x)

Definition at line 3216 of file storport.h.

◆ DEVICE_CONNECTED

#define DEVICE_CONNECTED   0x00

Definition at line 96 of file storport.h.

◆ DIRECT_ACCESS_DEVICE

#define DIRECT_ACCESS_DEVICE   0x00

Definition at line 78 of file storport.h.

◆ FILE_DEVICE_SCSI

#define FILE_DEVICE_SCSI   0x0000001b

Definition at line 106 of file storport.h.

◆ INQUIRYDATABUFFERSIZE

#define INQUIRYDATABUFFERSIZE   36

Definition at line 102 of file storport.h.

◆ IOCTL_SCSI_EXECUTE_IN

#define IOCTL_SCSI_EXECUTE_IN   ((FILE_DEVICE_SCSI << 16) + 0x0011)

Definition at line 107 of file storport.h.

◆ IOCTL_SCSI_EXECUTE_NONE

#define IOCTL_SCSI_EXECUTE_NONE   ((FILE_DEVICE_SCSI << 16) + 0x0013)

Definition at line 109 of file storport.h.

◆ IOCTL_SCSI_EXECUTE_OUT

#define IOCTL_SCSI_EXECUTE_OUT   ((FILE_DEVICE_SCSI << 16) + 0x0012)

Definition at line 108 of file storport.h.

◆ LOGICAL_UNIT_NOT_PRESENT_DEVICE

#define LOGICAL_UNIT_NOT_PRESENT_DEVICE   0x7F

Definition at line 94 of file storport.h.

◆ MAX_SENSE_BUFFER_SIZE

#define MAX_SENSE_BUFFER_SIZE   255

Definition at line 104 of file storport.h.

◆ MEDIUM_CHANGER

#define MEDIUM_CHANGER   0x08

Definition at line 86 of file storport.h.

◆ MODE_PAGE_CACHING

#define MODE_PAGE_CACHING   0x08

Definition at line 120 of file storport.h.

◆ MODE_PAGE_CAPABILITIES

#define MODE_PAGE_CAPABILITIES   0x2A

Definition at line 143 of file storport.h.

◆ MODE_PAGE_CD_AUDIO_CONTROL

#define MODE_PAGE_CD_AUDIO_CONTROL   0x0E

Definition at line 125 of file storport.h.

◆ MODE_PAGE_CDVD_FEATURE_SET

#define MODE_PAGE_CDVD_FEATURE_SET   0x18

Definition at line 133 of file storport.h.

◆ MODE_PAGE_CDVD_INACTIVITY

#define MODE_PAGE_CDVD_INACTIVITY   0x1D

Definition at line 139 of file storport.h.

◆ MODE_PAGE_CONTROL

#define MODE_PAGE_CONTROL   0x0A

Definition at line 122 of file storport.h.

◆ MODE_PAGE_DATA_COMPRESS

#define MODE_PAGE_DATA_COMPRESS   0x0F

Definition at line 126 of file storport.h.

◆ MODE_PAGE_DEVICE_CAPABILITIES

#define MODE_PAGE_DEVICE_CAPABILITIES   0x1F

Definition at line 142 of file storport.h.

◆ MODE_PAGE_DEVICE_CONFIG

#define MODE_PAGE_DEVICE_CONFIG   0x10

Definition at line 127 of file storport.h.

◆ MODE_PAGE_DISCONNECT

#define MODE_PAGE_DISCONNECT   0x02

Definition at line 113 of file storport.h.

◆ MODE_PAGE_ELEMENT_ADDRESS

#define MODE_PAGE_ELEMENT_ADDRESS   0x1D

Definition at line 140 of file storport.h.

◆ MODE_PAGE_ENCLOSURE_SERVICES_MANAGEMENT

#define MODE_PAGE_ENCLOSURE_SERVICES_MANAGEMENT   0x14

Definition at line 130 of file storport.h.

◆ MODE_PAGE_ERROR_RECOVERY

#define MODE_PAGE_ERROR_RECOVERY   0x01

Definition at line 112 of file storport.h.

◆ MODE_PAGE_EXTENDED

#define MODE_PAGE_EXTENDED   0x15

Definition at line 131 of file storport.h.

◆ MODE_PAGE_EXTENDED_DEVICE_SPECIFIC

#define MODE_PAGE_EXTENDED_DEVICE_SPECIFIC   0x16

Definition at line 132 of file storport.h.

◆ MODE_PAGE_FAULT_REPORTING

#define MODE_PAGE_FAULT_REPORTING   0x1C

Definition at line 138 of file storport.h.

◆ MODE_PAGE_FLEXIBILE

#define MODE_PAGE_FLEXIBILE   0x05

Definition at line 117 of file storport.h.

◆ MODE_PAGE_FORMAT_DEVICE

#define MODE_PAGE_FORMAT_DEVICE   0x03

Definition at line 114 of file storport.h.

◆ MODE_PAGE_LUN_MAPPING

#define MODE_PAGE_LUN_MAPPING   0x1B

Definition at line 137 of file storport.h.

◆ MODE_PAGE_MEDIUM_PARTITION

#define MODE_PAGE_MEDIUM_PARTITION   0x11

Definition at line 129 of file storport.h.

◆ MODE_PAGE_MEDIUM_TYPES

#define MODE_PAGE_MEDIUM_TYPES   0x0B

Definition at line 123 of file storport.h.

◆ MODE_PAGE_MRW

#define MODE_PAGE_MRW   0x03

Definition at line 115 of file storport.h.

◆ MODE_PAGE_NOTCH_PARTITION

#define MODE_PAGE_NOTCH_PARTITION   0x0C

Definition at line 124 of file storport.h.

◆ MODE_PAGE_PERIPHERAL

#define MODE_PAGE_PERIPHERAL   0x09

Definition at line 121 of file storport.h.

◆ MODE_PAGE_POWER_CONDITION

#define MODE_PAGE_POWER_CONDITION   0x1A

Definition at line 136 of file storport.h.

◆ MODE_PAGE_PROTOCOL_SPECIFIC_LUN

#define MODE_PAGE_PROTOCOL_SPECIFIC_LUN   0x18

Definition at line 134 of file storport.h.

◆ MODE_PAGE_PROTOCOL_SPECIFIC_PORT

#define MODE_PAGE_PROTOCOL_SPECIFIC_PORT   0x19

Definition at line 135 of file storport.h.

◆ MODE_PAGE_RIGID_GEOMETRY

#define MODE_PAGE_RIGID_GEOMETRY   0x04

Definition at line 116 of file storport.h.

◆ MODE_PAGE_TRANSPORT_GEOMETRY

#define MODE_PAGE_TRANSPORT_GEOMETRY   0x1E

Definition at line 141 of file storport.h.

◆ MODE_PAGE_VENDOR_SPECIFIC

#define MODE_PAGE_VENDOR_SPECIFIC   0x00

Definition at line 111 of file storport.h.

◆ MODE_PAGE_VERIFY_ERROR

#define MODE_PAGE_VERIFY_ERROR   0x07

Definition at line 119 of file storport.h.

◆ MODE_PAGE_WRITE_PARAMETERS

#define MODE_PAGE_WRITE_PARAMETERS   0x05

Definition at line 118 of file storport.h.

◆ MODE_PAGE_XOR_CONTROL

#define MODE_PAGE_XOR_CONTROL   0x10

Definition at line 128 of file storport.h.

◆ MODE_SENSE_CHANGEABLE_VALUES

#define MODE_SENSE_CHANGEABLE_VALUES   0x40

Definition at line 147 of file storport.h.

◆ MODE_SENSE_CURRENT_VALUES

#define MODE_SENSE_CURRENT_VALUES   0x00

Definition at line 146 of file storport.h.

◆ MODE_SENSE_DEFAULT_VAULES

#define MODE_SENSE_DEFAULT_VAULES   0x80

Definition at line 148 of file storport.h.

◆ MODE_SENSE_RETURN_ALL

#define MODE_SENSE_RETURN_ALL   0x3F

Definition at line 144 of file storport.h.

◆ MODE_SENSE_SAVED_VALUES

#define MODE_SENSE_SAVED_VALUES   0xc0

Definition at line 149 of file storport.h.

◆ OBJECT_BASED_STORAGE_DEVICE

#define OBJECT_BASED_STORAGE_DEVICE   0x11

Definition at line 93 of file storport.h.

◆ OPTICAL_CARD_READER_WRITER_DEVICE

#define OPTICAL_CARD_READER_WRITER_DEVICE   0x0F

Definition at line 91 of file storport.h.

◆ OPTICAL_DEVICE

#define OPTICAL_DEVICE   0x07

Definition at line 85 of file storport.h.

◆ PRINTER_DEVICE

#define PRINTER_DEVICE   0x02

Definition at line 80 of file storport.h.

◆ PROCESSOR_DEVICE

#define PROCESSOR_DEVICE   0x03

Definition at line 81 of file storport.h.

◆ READ_ONLY_DIRECT_ACCESS_DEVICE

#define READ_ONLY_DIRECT_ACCESS_DEVICE   0x05

Definition at line 83 of file storport.h.

◆ REDUCED_BLOCK_DEVICE

#define REDUCED_BLOCK_DEVICE   0x0E

Definition at line 90 of file storport.h.

◆ REVERSE_BYTES

#define REVERSE_BYTES (   Destination,
  Source 
)
Value:
{ \
d->Byte3 = s->Byte0; \
d->Byte2 = s->Byte1; \
d->Byte1 = s->Byte2; \
d->Byte0 = s->Byte3; \
}
GLdouble s
Definition: gl.h:2039
#define d
Definition: ke_i.h:81
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3169
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
Definition: rtlfuncs.h:3004
union _FOUR_BYTE * PFOUR_BYTE

Definition at line 2385 of file storport.h.

◆ REVERSE_BYTES_QUAD

#define REVERSE_BYTES_QUAD (   Destination,
  Source 
)
Value:
{ \
d->Byte7 = s->Byte0; \
d->Byte6 = s->Byte1; \
d->Byte5 = s->Byte2; \
d->Byte4 = s->Byte3; \
d->Byte3 = s->Byte4; \
d->Byte2 = s->Byte5; \
d->Byte1 = s->Byte6; \
d->Byte0 = s->Byte7; \
}
union _EIGHT_BYTE * PEIGHT_BYTE

Definition at line 2372 of file storport.h.

◆ REVERSE_BYTES_SHORT

#define REVERSE_BYTES_SHORT (   Destination,
  Source 
)
Value:
{ \
d->Byte1 = s->Byte0; \
d->Byte0 = s->Byte1; \
}
union _TWO_BYTE * PTWO_BYTE

Definition at line 2394 of file storport.h.

◆ SCANNER_DEVICE

#define SCANNER_DEVICE   0x06

Definition at line 84 of file storport.h.

◆ SCSI_DMA64_MINIPORT_SUPPORTED

#define SCSI_DMA64_MINIPORT_SUPPORTED   0x01

Definition at line 60 of file storport.h.

◆ SCSI_DMA64_SYSTEM_SUPPORTED

#define SCSI_DMA64_SYSTEM_SUPPORTED   0x80

Definition at line 61 of file storport.h.

◆ SCSI_ENCLOSURE_DEVICE

#define SCSI_ENCLOSURE_DEVICE   0x0D

Definition at line 89 of file storport.h.

◆ SCSI_MAXIMUM_BUSES

#define SCSI_MAXIMUM_BUSES   8

Definition at line 55 of file storport.h.

◆ SCSI_MAXIMUM_BUSES_PER_ADAPTER

#define SCSI_MAXIMUM_BUSES_PER_ADAPTER   255

Definition at line 46 of file storport.h.

◆ SCSI_MAXIMUM_LOGICAL_UNITS

#define SCSI_MAXIMUM_LOGICAL_UNITS   8

Definition at line 57 of file storport.h.

◆ SCSI_MAXIMUM_LUNS_PER_TARGET

#define SCSI_MAXIMUM_LUNS_PER_TARGET   255

Definition at line 49 of file storport.h.

◆ SCSI_MAXIMUM_PHYSICAL_BREAKS

#define SCSI_MAXIMUM_PHYSICAL_BREAKS   255

Definition at line 51 of file storport.h.

◆ SCSI_MAXIMUM_TARGETS

#define SCSI_MAXIMUM_TARGETS   8

Definition at line 56 of file storport.h.

◆ SCSI_MAXIMUM_TARGETS_PER_BUS

#define SCSI_MAXIMUM_TARGETS_PER_BUS   128

Definition at line 48 of file storport.h.

◆ SCSI_MINIMUM_PHYSICAL_BREAKS

#define SCSI_MINIMUM_PHYSICAL_BREAKS   16

Definition at line 50 of file storport.h.

◆ SCSI_SENSE_ABORTED_COMMAND

#define SCSI_SENSE_ABORTED_COMMAND   0x0B

Definition at line 463 of file storport.h.

◆ SCSI_SENSE_BLANK_CHECK

#define SCSI_SENSE_BLANK_CHECK   0x08

Definition at line 460 of file storport.h.

◆ SCSI_SENSE_COPY_ABORTED

#define SCSI_SENSE_COPY_ABORTED   0x0A

Definition at line 462 of file storport.h.

◆ SCSI_SENSE_DATA_PROTECT

#define SCSI_SENSE_DATA_PROTECT   0x07

Definition at line 459 of file storport.h.

◆ SCSI_SENSE_EQUAL

#define SCSI_SENSE_EQUAL   0x0C

Definition at line 464 of file storport.h.

◆ SCSI_SENSE_HARDWARE_ERROR

#define SCSI_SENSE_HARDWARE_ERROR   0x04

Definition at line 456 of file storport.h.

◆ SCSI_SENSE_ILLEGAL_REQUEST

#define SCSI_SENSE_ILLEGAL_REQUEST   0x05

Definition at line 457 of file storport.h.

◆ SCSI_SENSE_MEDIUM_ERROR

#define SCSI_SENSE_MEDIUM_ERROR   0x03

Definition at line 455 of file storport.h.

◆ SCSI_SENSE_MISCOMPARE

#define SCSI_SENSE_MISCOMPARE   0x0E

Definition at line 466 of file storport.h.

◆ SCSI_SENSE_NO_SENSE

#define SCSI_SENSE_NO_SENSE   0x00

Definition at line 452 of file storport.h.

◆ SCSI_SENSE_NOT_READY

#define SCSI_SENSE_NOT_READY   0x02

Definition at line 454 of file storport.h.

◆ SCSI_SENSE_RECOVERED_ERROR

#define SCSI_SENSE_RECOVERED_ERROR   0x01

Definition at line 453 of file storport.h.

◆ SCSI_SENSE_RESERVED

#define SCSI_SENSE_RESERVED   0x0F

Definition at line 467 of file storport.h.

◆ SCSI_SENSE_UNIQUE

#define SCSI_SENSE_UNIQUE   0x09

Definition at line 461 of file storport.h.

◆ SCSI_SENSE_UNIT_ATTENTION

#define SCSI_SENSE_UNIT_ATTENTION   0x06

Definition at line 458 of file storport.h.

◆ SCSI_SENSE_VOL_OVERFLOW

#define SCSI_SENSE_VOL_OVERFLOW   0x0D

Definition at line 465 of file storport.h.

◆ SCSIOP_ACCESS_CONTROL_IN

#define SCSIOP_ACCESS_CONTROL_IN   0x86

Definition at line 254 of file storport.h.

◆ SCSIOP_ACCESS_CONTROL_OUT

#define SCSIOP_ACCESS_CONTROL_OUT   0x87

Definition at line 255 of file storport.h.

◆ SCSIOP_ATA_PASSTHROUGH12

#define SCSIOP_ATA_PASSTHROUGH12   0xA1

Definition at line 274 of file storport.h.

◆ SCSIOP_ATA_PASSTHROUGH16

#define SCSIOP_ATA_PASSTHROUGH16   0x85

Definition at line 253 of file storport.h.

◆ SCSIOP_BLANK

#define SCSIOP_BLANK   0xA1

Definition at line 273 of file storport.h.

◆ SCSIOP_CHANGE_DEFINITION

#define SCSIOP_CHANGE_DEFINITION   0x40

Definition at line 210 of file storport.h.

◆ SCSIOP_CLOSE_TRACK_SESSION

#define SCSIOP_CLOSE_TRACK_SESSION   0x5B

Definition at line 241 of file storport.h.

◆ SCSIOP_COMPARE

#define SCSIOP_COMPARE   0x39

Definition at line 205 of file storport.h.

◆ SCSIOP_COPY

#define SCSIOP_COPY   0x18

Definition at line 181 of file storport.h.

◆ SCSIOP_COPY_COMPARE

#define SCSIOP_COPY_COMPARE   0x3A

Definition at line 206 of file storport.h.

◆ SCSIOP_ERASE

#define SCSIOP_ERASE   0x19

Definition at line 182 of file storport.h.

◆ SCSIOP_ERASE16

#define SCSIOP_ERASE16   0x93

Definition at line 268 of file storport.h.

◆ SCSIOP_EXCHANGE_MEDIUM

#define SCSIOP_EXCHANGE_MEDIUM   0xA6

Definition at line 282 of file storport.h.

◆ SCSIOP_EXTENDED_COPY

#define SCSIOP_EXTENDED_COPY   0x83

Definition at line 251 of file storport.h.

◆ SCSIOP_FLUSH_BUFFER

#define SCSIOP_FLUSH_BUFFER   0x10

Definition at line 173 of file storport.h.

◆ SCSIOP_FORMAT_UNIT

#define SCSIOP_FORMAT_UNIT   0x04

Definition at line 156 of file storport.h.

◆ SCSIOP_GET_CONFIGURATION

#define SCSIOP_GET_CONFIGURATION   0x46

Definition at line 217 of file storport.h.

◆ SCSIOP_GET_EVENT_STATUS

#define SCSIOP_GET_EVENT_STATUS   0x4A

Definition at line 221 of file storport.h.

◆ SCSIOP_GET_MESSAGE

#define SCSIOP_GET_MESSAGE   0xA8

Definition at line 286 of file storport.h.

◆ SCSIOP_GET_PERFORMANCE

#define SCSIOP_GET_PERFORMANCE   0xAC

Definition at line 291 of file storport.h.

◆ SCSIOP_INIT_ELEMENT_RANGE

#define SCSIOP_INIT_ELEMENT_RANGE   0xE7

Definition at line 318 of file storport.h.

◆ SCSIOP_INIT_ELEMENT_STATUS

#define SCSIOP_INIT_ELEMENT_STATUS   0x07

Definition at line 159 of file storport.h.

◆ SCSIOP_INQUIRY

#define SCSIOP_INQUIRY   0x12

Definition at line 175 of file storport.h.

◆ SCSIOP_LOAD_UNLOAD

#define SCSIOP_LOAD_UNLOAD   0x1B

Definition at line 186 of file storport.h.

◆ SCSIOP_LOAD_UNLOAD_SLOT

#define SCSIOP_LOAD_UNLOAD_SLOT   0xA6

Definition at line 281 of file storport.h.

◆ SCSIOP_LOCATE

#define SCSIOP_LOCATE   0x2B

Definition at line 195 of file storport.h.

◆ SCSIOP_LOCATE16

#define SCSIOP_LOCATE16   0x92

Definition at line 266 of file storport.h.

◆ SCSIOP_LOCK_UNLOCK_CACHE16

#define SCSIOP_LOCK_UNLOCK_CACHE16   0x92

Definition at line 265 of file storport.h.

◆ SCSIOP_LOG_SELECT

#define SCSIOP_LOG_SELECT   0x4C

Definition at line 223 of file storport.h.

◆ SCSIOP_LOG_SENSE

#define SCSIOP_LOG_SENSE   0x4D

Definition at line 224 of file storport.h.

◆ SCSIOP_MAINTENANCE_IN

#define SCSIOP_MAINTENANCE_IN   0xA3

Definition at line 277 of file storport.h.

◆ SCSIOP_MAINTENANCE_OUT

#define SCSIOP_MAINTENANCE_OUT   0xA4

Definition at line 279 of file storport.h.

◆ SCSIOP_MECHANISM_STATUS

#define SCSIOP_MECHANISM_STATUS   0xBD

Definition at line 312 of file storport.h.

◆ SCSIOP_MEDIUM_REMOVAL

#define SCSIOP_MEDIUM_REMOVAL   0x1E

Definition at line 189 of file storport.h.

◆ SCSIOP_MODE_SELECT

#define SCSIOP_MODE_SELECT   0x15

Definition at line 178 of file storport.h.

◆ SCSIOP_MODE_SELECT10

#define SCSIOP_MODE_SELECT10   0x55

Definition at line 234 of file storport.h.

◆ SCSIOP_MODE_SENSE

#define SCSIOP_MODE_SENSE   0x1A

Definition at line 183 of file storport.h.

◆ SCSIOP_MODE_SENSE10

#define SCSIOP_MODE_SENSE10   0x5A

Definition at line 240 of file storport.h.

◆ SCSIOP_MOVE_MEDIUM

#define SCSIOP_MOVE_MEDIUM   0xA5

Definition at line 280 of file storport.h.

◆ SCSIOP_MOVE_MEDIUM_ATTACHED

#define SCSIOP_MOVE_MEDIUM_ATTACHED   0xA7

Definition at line 284 of file storport.h.

◆ SCSIOP_PARTITION

#define SCSIOP_PARTITION   0x0D

Definition at line 170 of file storport.h.

◆ SCSIOP_PAUSE_RESUME

#define SCSIOP_PAUSE_RESUME   0x4B

Definition at line 222 of file storport.h.

◆ SCSIOP_PERSISTENT_RESERVE_IN

#define SCSIOP_PERSISTENT_RESERVE_IN   0x5E

Definition at line 244 of file storport.h.

◆ SCSIOP_PERSISTENT_RESERVE_OUT

#define SCSIOP_PERSISTENT_RESERVE_OUT   0x5F

Definition at line 245 of file storport.h.

◆ SCSIOP_PLAY_AUDIO

#define SCSIOP_PLAY_AUDIO   0x45

Definition at line 216 of file storport.h.

◆ SCSIOP_PLAY_AUDIO_MSF

#define SCSIOP_PLAY_AUDIO_MSF   0x47

Definition at line 218 of file storport.h.

◆ SCSIOP_PLAY_CD

#define SCSIOP_PLAY_CD   0xBC

Definition at line 310 of file storport.h.

◆ SCSIOP_PLAY_TRACK_INDEX

#define SCSIOP_PLAY_TRACK_INDEX   0x48

Definition at line 219 of file storport.h.

◆ SCSIOP_PLAY_TRACK_RELATIVE

#define SCSIOP_PLAY_TRACK_RELATIVE   0x49

Definition at line 220 of file storport.h.

◆ SCSIOP_POSITION_TO_ELEMENT

#define SCSIOP_POSITION_TO_ELEMENT   0x2B

Definition at line 196 of file storport.h.

◆ SCSIOP_PREFETCH16

#define SCSIOP_PREFETCH16   0x90

Definition at line 262 of file storport.h.

◆ SCSIOP_PRINT

#define SCSIOP_PRINT   0x0A

Definition at line 163 of file storport.h.

◆ SCSIOP_READ

#define SCSIOP_READ   0x28

Definition at line 192 of file storport.h.

◆ SCSIOP_READ12

#define SCSIOP_READ12   0xA8

Definition at line 285 of file storport.h.

◆ SCSIOP_READ16

#define SCSIOP_READ16   0x88

Definition at line 256 of file storport.h.

◆ SCSIOP_READ6

#define SCSIOP_READ6   0x08

Definition at line 160 of file storport.h.

◆ SCSIOP_READ_ATTRIBUTES

#define SCSIOP_READ_ATTRIBUTES   0x8C

Definition at line 258 of file storport.h.

◆ SCSIOP_READ_BLOCK_LIMITS

#define SCSIOP_READ_BLOCK_LIMITS   0x05

Definition at line 157 of file storport.h.

◆ SCSIOP_READ_BUFFER_CAPACITY

#define SCSIOP_READ_BUFFER_CAPACITY   0x5C

Definition at line 242 of file storport.h.

◆ SCSIOP_READ_CAPACITY

#define SCSIOP_READ_CAPACITY   0x25

Definition at line 191 of file storport.h.

◆ SCSIOP_READ_CAPACITY16

#define SCSIOP_READ_CAPACITY16   0x9E

Definition at line 269 of file storport.h.

◆ SCSIOP_READ_CD

#define SCSIOP_READ_CD   0xBE

Definition at line 314 of file storport.h.

◆ SCSIOP_READ_CD_MSF

#define SCSIOP_READ_CD_MSF   0xB9

Definition at line 305 of file storport.h.

◆ SCSIOP_READ_DATA_BUFF

#define SCSIOP_READ_DATA_BUFF   0x3C

Definition at line 208 of file storport.h.

◆ SCSIOP_READ_DEFECT_DATA

#define SCSIOP_READ_DEFECT_DATA   0xB7

Definition at line 303 of file storport.h.

◆ SCSIOP_READ_DISC_INFORMATION

#define SCSIOP_READ_DISC_INFORMATION   0x51

Definition at line 229 of file storport.h.

◆ SCSIOP_READ_DISK_INFORMATION

#define SCSIOP_READ_DISK_INFORMATION   0x51

Definition at line 228 of file storport.h.

◆ SCSIOP_READ_DVD_STRUCTURE

#define SCSIOP_READ_DVD_STRUCTURE   0xAD

Definition at line 292 of file storport.h.

◆ SCSIOP_READ_ELEMENT_STATUS

#define SCSIOP_READ_ELEMENT_STATUS   0xB8

Definition at line 304 of file storport.h.

◆ SCSIOP_READ_ELEMENT_STATUS_ATTACHED

#define SCSIOP_READ_ELEMENT_STATUS_ATTACHED   0xB4

Definition at line 299 of file storport.h.

◆ SCSIOP_READ_FORMATTED_CAPACITY

#define SCSIOP_READ_FORMATTED_CAPACITY   0x23

Definition at line 190 of file storport.h.

◆ SCSIOP_READ_HEADER

#define SCSIOP_READ_HEADER   0x44

Definition at line 214 of file storport.h.

◆ SCSIOP_READ_POSITION

#define SCSIOP_READ_POSITION   0x34

Definition at line 203 of file storport.h.

◆ SCSIOP_READ_REVERSE

#define SCSIOP_READ_REVERSE   0x0F

Definition at line 171 of file storport.h.

◆ SCSIOP_READ_REVERSE16

#define SCSIOP_READ_REVERSE16   0x81

Definition at line 249 of file storport.h.

◆ SCSIOP_READ_SUB_CHANNEL

#define SCSIOP_READ_SUB_CHANNEL   0x42

Definition at line 212 of file storport.h.

◆ SCSIOP_READ_TOC

#define SCSIOP_READ_TOC   0x43

Definition at line 213 of file storport.h.

◆ SCSIOP_READ_TRACK_INFORMATION

#define SCSIOP_READ_TRACK_INFORMATION   0x52

Definition at line 230 of file storport.h.

◆ SCSIOP_REASSIGN_BLOCKS

#define SCSIOP_REASSIGN_BLOCKS   0x07

Definition at line 158 of file storport.h.

◆ SCSIOP_REBUILD16

#define SCSIOP_REBUILD16   0x81

Definition at line 248 of file storport.h.

◆ SCSIOP_RECEIVE

#define SCSIOP_RECEIVE   0x08

Definition at line 161 of file storport.h.

◆ SCSIOP_RECEIVE_COPY_RESULTS

#define SCSIOP_RECEIVE_COPY_RESULTS   0x84

Definition at line 252 of file storport.h.

◆ SCSIOP_RECEIVE_DIAGNOSTIC

#define SCSIOP_RECEIVE_DIAGNOSTIC   0x1C

Definition at line 187 of file storport.h.

◆ SCSIOP_RECOVER_BUF_DATA

#define SCSIOP_RECOVER_BUF_DATA   0x14

Definition at line 177 of file storport.h.

◆ SCSIOP_REDUNDANCY_GROUP_IN

#define SCSIOP_REDUNDANCY_GROUP_IN   0xBA

Definition at line 307 of file storport.h.

◆ SCSIOP_REDUNDANCY_GROUP_OUT

#define SCSIOP_REDUNDANCY_GROUP_OUT   0xBB

Definition at line 309 of file storport.h.

◆ SCSIOP_REGENERATE16

#define SCSIOP_REGENERATE16   0x82

Definition at line 250 of file storport.h.

◆ SCSIOP_RELEASE_ELEMENT

#define SCSIOP_RELEASE_ELEMENT   0x57

Definition at line 238 of file storport.h.

◆ SCSIOP_RELEASE_UNIT

#define SCSIOP_RELEASE_UNIT   0x17

Definition at line 180 of file storport.h.

◆ SCSIOP_RELEASE_UNIT10

#define SCSIOP_RELEASE_UNIT10   0x57

Definition at line 237 of file storport.h.

◆ SCSIOP_REPAIR_TRACK

#define SCSIOP_REPAIR_TRACK   0x58

Definition at line 239 of file storport.h.

◆ SCSIOP_REPORT_DENSITY_SUPPORT

#define SCSIOP_REPORT_DENSITY_SUPPORT   0x44

Definition at line 215 of file storport.h.

◆ SCSIOP_REPORT_KEY

#define SCSIOP_REPORT_KEY   0xA4

Definition at line 278 of file storport.h.

◆ SCSIOP_REPORT_LUNS

#define SCSIOP_REPORT_LUNS   0xA0

Definition at line 272 of file storport.h.

◆ SCSIOP_REQUEST_BLOCK_ADDR

#define SCSIOP_REQUEST_BLOCK_ADDR   0x02

Definition at line 154 of file storport.h.

◆ SCSIOP_REQUEST_SENSE

#define SCSIOP_REQUEST_SENSE   0x03

Definition at line 155 of file storport.h.

◆ SCSIOP_REQUEST_VOL_ELEMENT

#define SCSIOP_REQUEST_VOL_ELEMENT   0xB5

Definition at line 300 of file storport.h.

◆ SCSIOP_RESERVE_ELEMENT

#define SCSIOP_RESERVE_ELEMENT   0x56

Definition at line 236 of file storport.h.

◆ SCSIOP_RESERVE_TRACK_RZONE

#define SCSIOP_RESERVE_TRACK_RZONE   0x53

Definition at line 232 of file storport.h.

◆ SCSIOP_RESERVE_UNIT

#define SCSIOP_RESERVE_UNIT   0x16

Definition at line 179 of file storport.h.

◆ SCSIOP_RESERVE_UNIT10

#define SCSIOP_RESERVE_UNIT10   0x56

Definition at line 235 of file storport.h.

◆ SCSIOP_REWIND

#define SCSIOP_REWIND   0x01

Definition at line 153 of file storport.h.

◆ SCSIOP_REZERO_UNIT

#define SCSIOP_REZERO_UNIT   0x01

Definition at line 152 of file storport.h.

◆ SCSIOP_SCAN_CD

#define SCSIOP_SCAN_CD   0xBA

Definition at line 306 of file storport.h.

◆ SCSIOP_SEARCH_DATA_EQUAL

#define SCSIOP_SEARCH_DATA_EQUAL   0x31

Definition at line 200 of file storport.h.

◆ SCSIOP_SEARCH_DATA_EQUAL12

#define SCSIOP_SEARCH_DATA_EQUAL12   0xB1

Definition at line 296 of file storport.h.

◆ SCSIOP_SEARCH_DATA_HIGH

#define SCSIOP_SEARCH_DATA_HIGH   0x30

Definition at line 199 of file storport.h.

◆ SCSIOP_SEARCH_DATA_HIGH12

#define SCSIOP_SEARCH_DATA_HIGH12   0xB0

Definition at line 295 of file storport.h.

◆ SCSIOP_SEARCH_DATA_LOW

#define SCSIOP_SEARCH_DATA_LOW   0x32

Definition at line 201 of file storport.h.

◆ SCSIOP_SEARCH_DATA_LOW12

#define SCSIOP_SEARCH_DATA_LOW12   0xB2

Definition at line 297 of file storport.h.

◆ SCSIOP_SEEK

#define SCSIOP_SEEK   0x2B

Definition at line 194 of file storport.h.

◆ SCSIOP_SEEK6

#define SCSIOP_SEEK6   0x0B

Definition at line 165 of file storport.h.

◆ SCSIOP_SEEK_BLOCK

#define SCSIOP_SEEK_BLOCK   0x0C

Definition at line 169 of file storport.h.

◆ SCSIOP_SEND

#define SCSIOP_SEND   0x0A

Definition at line 164 of file storport.h.

◆ SCSIOP_SEND_CUE_SHEET

#define SCSIOP_SEND_CUE_SHEET   0x5D

Definition at line 243 of file storport.h.

◆ SCSIOP_SEND_DIAGNOSTIC

#define SCSIOP_SEND_DIAGNOSTIC   0x1D

Definition at line 188 of file storport.h.

◆ SCSIOP_SEND_DVD_STRUCTURE

#define SCSIOP_SEND_DVD_STRUCTURE   0xBF

Definition at line 316 of file storport.h.

◆ SCSIOP_SEND_EVENT

#define SCSIOP_SEND_EVENT   0xA2

Definition at line 275 of file storport.h.

◆ SCSIOP_SEND_KEY

#define SCSIOP_SEND_KEY   0xA3

Definition at line 276 of file storport.h.

◆ SCSIOP_SEND_MESSAGE

#define SCSIOP_SEND_MESSAGE   0xAB

Definition at line 289 of file storport.h.

◆ SCSIOP_SEND_OPC_INFORMATION

#define SCSIOP_SEND_OPC_INFORMATION   0x54

Definition at line 233 of file storport.h.

◆ SCSIOP_SEND_VOLUME_TAG

#define SCSIOP_SEND_VOLUME_TAG   0xB6

Definition at line 301 of file storport.h.

◆ SCSIOP_SERVICE_ACTION_IN12

#define SCSIOP_SERVICE_ACTION_IN12   0xAB

Definition at line 290 of file storport.h.

◆ SCSIOP_SERVICE_ACTION_IN16

#define SCSIOP_SERVICE_ACTION_IN16   0x9E

Definition at line 270 of file storport.h.

◆ SCSIOP_SERVICE_ACTION_OUT12

#define SCSIOP_SERVICE_ACTION_OUT12   0xA9

Definition at line 287 of file storport.h.

◆ SCSIOP_SERVICE_ACTION_OUT16

#define SCSIOP_SERVICE_ACTION_OUT16   0x9F

Definition at line 271 of file storport.h.

◆ SCSIOP_SET_CAPACITY

#define SCSIOP_SET_CAPACITY   0x0B

Definition at line 168 of file storport.h.

◆ SCSIOP_SET_CD_SPEED

#define SCSIOP_SET_CD_SPEED   0xBB

Definition at line 308 of file storport.h.

◆ SCSIOP_SET_LIMITS

#define SCSIOP_SET_LIMITS   0x33

Definition at line 202 of file storport.h.

◆ SCSIOP_SET_LIMITS12

#define SCSIOP_SET_LIMITS12   0xB3

Definition at line 298 of file storport.h.

◆ SCSIOP_SET_READ_AHEAD

#define SCSIOP_SET_READ_AHEAD   0xA7

Definition at line 283 of file storport.h.

◆ SCSIOP_SET_STREAMING

#define SCSIOP_SET_STREAMING   0xB6

Definition at line 302 of file storport.h.

◆ SCSIOP_SLEW_PRINT

#define SCSIOP_SLEW_PRINT   0x0B

Definition at line 167 of file storport.h.

◆ SCSIOP_SPACE

#define SCSIOP_SPACE   0x11

Definition at line 174 of file storport.h.

◆ SCSIOP_SPACE16

#define SCSIOP_SPACE16   0x91

Definition at line 264 of file storport.h.

◆ SCSIOP_SPARE_IN

#define SCSIOP_SPARE_IN   0xBC

Definition at line 311 of file storport.h.

◆ SCSIOP_SPARE_OUT

#define SCSIOP_SPARE_OUT   0xBD

Definition at line 313 of file storport.h.

◆ SCSIOP_START_STOP_UNIT

#define SCSIOP_START_STOP_UNIT   0x1B

Definition at line 184 of file storport.h.

◆ SCSIOP_STOP_PLAY_SCAN

#define SCSIOP_STOP_PLAY_SCAN   0x4E

Definition at line 225 of file storport.h.

◆ SCSIOP_STOP_PRINT

#define SCSIOP_STOP_PRINT   0x1B

Definition at line 185 of file storport.h.

◆ SCSIOP_SYNCHRONIZE_CACHE

#define SCSIOP_SYNCHRONIZE_CACHE   0x35

Definition at line 204 of file storport.h.

◆ SCSIOP_SYNCHRONIZE_CACHE16

#define SCSIOP_SYNCHRONIZE_CACHE16   0x91

Definition at line 263 of file storport.h.

◆ SCSIOP_TEST_UNIT_READY

#define SCSIOP_TEST_UNIT_READY   0x00

Definition at line 151 of file storport.h.

◆ SCSIOP_TRACK_SELECT

#define SCSIOP_TRACK_SELECT   0x0B

Definition at line 166 of file storport.h.

◆ SCSIOP_VERIFY

#define SCSIOP_VERIFY   0x2F

Definition at line 198 of file storport.h.

◆ SCSIOP_VERIFY12

#define SCSIOP_VERIFY12   0xAF

Definition at line 294 of file storport.h.

◆ SCSIOP_VERIFY16

#define SCSIOP_VERIFY16   0x8F

Definition at line 261 of file storport.h.

◆ SCSIOP_VERIFY6

#define SCSIOP_VERIFY6   0x13

Definition at line 176 of file storport.h.

◆ SCSIOP_VOLUME_SET_IN

#define SCSIOP_VOLUME_SET_IN   0xBE

Definition at line 315 of file storport.h.

◆ SCSIOP_VOLUME_SET_OUT

#define SCSIOP_VOLUME_SET_OUT   0xBF

Definition at line 317 of file storport.h.

◆ SCSIOP_WRITE

#define SCSIOP_WRITE   0x2A

Definition at line 193 of file storport.h.

◆ SCSIOP_WRITE12

#define SCSIOP_WRITE12   0xAA

Definition at line 288 of file storport.h.

◆ SCSIOP_WRITE16

#define SCSIOP_WRITE16   0x8A

Definition at line 257 of file storport.h.

◆ SCSIOP_WRITE6

#define SCSIOP_WRITE6   0x0A

Definition at line 162 of file storport.h.

◆ SCSIOP_WRITE_ATTRIBUTES

#define SCSIOP_WRITE_ATTRIBUTES   0x8D

Definition at line 259 of file storport.h.

◆ SCSIOP_WRITE_DATA_BUFF

#define SCSIOP_WRITE_DATA_BUFF   0x3B

Definition at line 207 of file storport.h.

◆ SCSIOP_WRITE_FILEMARKS

#define SCSIOP_WRITE_FILEMARKS   0x10

Definition at line 172 of file storport.h.

◆ SCSIOP_WRITE_FILEMARKS16

#define SCSIOP_WRITE_FILEMARKS16   0x80

Definition at line 247 of file storport.h.

◆ SCSIOP_WRITE_LONG

#define SCSIOP_WRITE_LONG   0x3F

Definition at line 209 of file storport.h.

◆ SCSIOP_WRITE_SAME

#define SCSIOP_WRITE_SAME   0x41

Definition at line 211 of file storport.h.

◆ SCSIOP_WRITE_SAME16

#define SCSIOP_WRITE_SAME16   0x93

Definition at line 267 of file storport.h.

◆ SCSIOP_WRITE_VERIFY

#define SCSIOP_WRITE_VERIFY   0x2E

Definition at line 197 of file storport.h.

◆ SCSIOP_WRITE_VERIFY12

#define SCSIOP_WRITE_VERIFY12   0xAE

Definition at line 293 of file storport.h.

◆ SCSIOP_WRITE_VERIFY16

#define SCSIOP_WRITE_VERIFY16   0x8E

Definition at line 260 of file storport.h.

◆ SCSIOP_XDWRITE

#define SCSIOP_XDWRITE   0x50

Definition at line 226 of file storport.h.

◆ SCSIOP_XDWRITE_EXTENDED16

#define SCSIOP_XDWRITE_EXTENDED16   0x80

Definition at line 246 of file storport.h.

◆ SCSIOP_XDWRITE_READ

#define SCSIOP_XDWRITE_READ   0x53

Definition at line 231 of file storport.h.

◆ SCSIOP_XPWRITE

#define SCSIOP_XPWRITE   0x51

Definition at line 227 of file storport.h.

◆ SCSISTAT_BUSY

#define SCSISTAT_BUSY   0x08

Definition at line 323 of file storport.h.

◆ SCSISTAT_CHECK_CONDITION

#define SCSISTAT_CHECK_CONDITION   0x02

Definition at line 321 of file storport.h.

◆ SCSISTAT_COMMAND_TERMINATED

#define SCSISTAT_COMMAND_TERMINATED   0x22

Definition at line 327 of file storport.h.

◆ SCSISTAT_CONDITION_MET

#define SCSISTAT_CONDITION_MET   0x04

Definition at line 322 of file storport.h.

◆ SCSISTAT_GOOD

#define SCSISTAT_GOOD   0x00

Definition at line 320 of file storport.h.

◆ SCSISTAT_INTERMEDIATE

#define SCSISTAT_INTERMEDIATE   0x10

Definition at line 324 of file storport.h.

◆ SCSISTAT_INTERMEDIATE_COND_MET

#define SCSISTAT_INTERMEDIATE_COND_MET   0x14

Definition at line 325 of file storport.h.

◆ SCSISTAT_QUEUE_FULL

#define SCSISTAT_QUEUE_FULL   0x28

Definition at line 328 of file storport.h.

◆ SCSISTAT_RESERVATION_CONFLICT

#define SCSISTAT_RESERVATION_CONFLICT   0x18

Definition at line 326 of file storport.h.

◆ SENSE_BUFFER_SIZE

#define SENSE_BUFFER_SIZE   18

Definition at line 103 of file storport.h.

◆ SEQUENTIAL_ACCESS_DEVICE

#define SEQUENTIAL_ACCESS_DEVICE   0x01

Definition at line 79 of file storport.h.

◆ SETBITOFF

#define SETBITOFF   0

Definition at line 331 of file storport.h.

◆ SETBITON

#define SETBITON   1

Definition at line 330 of file storport.h.

◆ SP_RETURN_BAD_CONFIG

#define SP_RETURN_BAD_CONFIG   3

Definition at line 336 of file storport.h.

◆ SP_RETURN_ERROR

#define SP_RETURN_ERROR   2

Definition at line 335 of file storport.h.

◆ SP_RETURN_FOUND

#define SP_RETURN_FOUND   1

Definition at line 334 of file storport.h.

◆ SP_RETURN_NOT_FOUND

#define SP_RETURN_NOT_FOUND   0

Definition at line 333 of file storport.h.

◆ SP_UNINITIALIZED_VALUE

#define SP_UNINITIALIZED_VALUE   ((ULONG) ~0)

Definition at line 66 of file storport.h.

◆ SP_UNTAGGED

#define SP_UNTAGGED   ((UCHAR) ~0)

Definition at line 67 of file storport.h.

◆ SRB_FLAGS_ADAPTER_CACHE_ENABLE

#define SRB_FLAGS_ADAPTER_CACHE_ENABLE   0x00000200

Definition at line 413 of file storport.h.

◆ SRB_FLAGS_ALLOCATED_FROM_ZONE

#define SRB_FLAGS_ALLOCATED_FROM_ZONE   0x00020000

Definition at line 417 of file storport.h.

◆ SRB_FLAGS_BYPASS_FROZEN_QUEUE

#define SRB_FLAGS_BYPASS_FROZEN_QUEUE   0x00000010

Definition at line 405 of file storport.h.

◆ SRB_FLAGS_BYPASS_LOCKED_QUEUE

#define SRB_FLAGS_BYPASS_LOCKED_QUEUE   0x00080000

Definition at line 419 of file storport.h.

◆ SRB_FLAGS_CLASS_DRIVER_RESERVED

#define SRB_FLAGS_CLASS_DRIVER_RESERVED   0xF0000000

Definition at line 428 of file storport.h.

◆ SRB_FLAGS_DATA_IN

#define SRB_FLAGS_DATA_IN   0x00000040

Definition at line 407 of file storport.h.

◆ SRB_FLAGS_DATA_OUT

#define SRB_FLAGS_DATA_OUT   0x00000080

Definition at line 408 of file storport.h.

◆ SRB_FLAGS_DISABLE_AUTOSENSE

#define SRB_FLAGS_DISABLE_AUTOSENSE   0x00000020

Definition at line 406 of file storport.h.

◆ SRB_FLAGS_DISABLE_DISCONNECT

#define SRB_FLAGS_DISABLE_DISCONNECT   0x00000004

Definition at line 402 of file storport.h.

◆ SRB_FLAGS_DISABLE_SYNCH_TRANSFER

#define SRB_FLAGS_DISABLE_SYNCH_TRANSFER   0x00000008

Definition at line 403 of file storport.h.

◆ SRB_FLAGS_DONT_START_NEXT_PACKET

#define SRB_FLAGS_DONT_START_NEXT_PACKET   0x00800000

Definition at line 425 of file storport.h.

◆ SRB_FLAGS_FREE_SENSE_BUFFER

#define SRB_FLAGS_FREE_SENSE_BUFFER   0x00000400

Definition at line 414 of file storport.h.

◆ SRB_FLAGS_IS_ACTIVE

#define SRB_FLAGS_IS_ACTIVE   0x00010000

Definition at line 416 of file storport.h.

◆ SRB_FLAGS_NO_DATA_TRANSFER

#define SRB_FLAGS_NO_DATA_TRANSFER   0x00000000

Definition at line 409 of file storport.h.

◆ SRB_FLAGS_NO_KEEP_AWAKE

#define SRB_FLAGS_NO_KEEP_AWAKE   0x00100000

Definition at line 421 of file storport.h.

◆ SRB_FLAGS_NO_QUEUE_FREEZE

#define SRB_FLAGS_NO_QUEUE_FREEZE   0x00000100

Definition at line 412 of file storport.h.

◆ SRB_FLAGS_PORT_DRIVER_ALLOCSENSE

#define SRB_FLAGS_PORT_DRIVER_ALLOCSENSE   0x00200000

Definition at line 422 of file storport.h.

◆ SRB_FLAGS_PORT_DRIVER_RESERVED

#define SRB_FLAGS_PORT_DRIVER_RESERVED   0x0F000000

Definition at line 427 of file storport.h.

◆ SRB_FLAGS_PORT_DRIVER_SENSEHASPORT

#define SRB_FLAGS_PORT_DRIVER_SENSEHASPORT   0x00400000

Definition at line 424 of file storport.h.

◆ SRB_FLAGS_QUEUE_ACTION_ENABLE

#define SRB_FLAGS_QUEUE_ACTION_ENABLE   0x00000002

Definition at line 401 of file storport.h.

◆ SRB_FLAGS_SGLIST_FROM_POOL

#define SRB_FLAGS_SGLIST_FROM_POOL   0x00040000

Definition at line 418 of file storport.h.

◆ SRB_FLAGS_UNSPECIFIED_DIRECTION

#define SRB_FLAGS_UNSPECIFIED_DIRECTION   (SRB_FLAGS_DATA_IN | SRB_FLAGS_DATA_OUT)

Definition at line 410 of file storport.h.

◆ SRB_FUNCTION_ABORT_COMMAND

#define SRB_FUNCTION_ABORT_COMMAND   0x10

Definition at line 348 of file storport.h.

◆ SRB_FUNCTION_ATTACH_DEVICE

#define SRB_FUNCTION_ATTACH_DEVICE   0x05

Definition at line 344 of file storport.h.

◆ SRB_FUNCTION_CLAIM_DEVICE

#define SRB_FUNCTION_CLAIM_DEVICE   0x01

Definition at line 340 of file storport.h.

◆ SRB_FUNCTION_DUMP_POINTERS

#define SRB_FUNCTION_DUMP_POINTERS   0x26

Definition at line 364 of file storport.h.

◆ SRB_FUNCTION_EXECUTE_SCSI

#define SRB_FUNCTION_EXECUTE_SCSI   0x00

Definition at line 339 of file storport.h.

◆ SRB_FUNCTION_FLUSH

#define SRB_FUNCTION_FLUSH   0x08

Definition at line 347 of file storport.h.

◆ SRB_FUNCTION_FLUSH_QUEUE

#define SRB_FUNCTION_FLUSH_QUEUE   0x15

Definition at line 353 of file storport.h.

◆ SRB_FUNCTION_IO_CONTROL

#define SRB_FUNCTION_IO_CONTROL   0x02

Definition at line 341 of file storport.h.

◆ SRB_FUNCTION_LINK_TIMEOUT_COMPLETE

#define SRB_FUNCTION_LINK_TIMEOUT_COMPLETE   0x23

Definition at line 361 of file storport.h.

◆ SRB_FUNCTION_LINK_TIMEOUT_OCCURRED

#define SRB_FUNCTION_LINK_TIMEOUT_OCCURRED   0x22

Definition at line 360 of file storport.h.

◆ SRB_FUNCTION_LOCK_QUEUE

#define SRB_FUNCTION_LOCK_QUEUE   0x18

Definition at line 356 of file storport.h.

◆ SRB_FUNCTION_PNP

#define SRB_FUNCTION_PNP   0x25

Definition at line 363 of file storport.h.

◆ SRB_FUNCTION_POWER

#define SRB_FUNCTION_POWER   0x24

Definition at line 362 of file storport.h.

◆ SRB_FUNCTION_RECEIVE_EVENT

#define SRB_FUNCTION_RECEIVE_EVENT   0x03

Definition at line 342 of file storport.h.

◆ SRB_FUNCTION_RELEASE_DEVICE

#define SRB_FUNCTION_RELEASE_DEVICE   0x06

Definition at line 345 of file storport.h.

◆ SRB_FUNCTION_RELEASE_QUEUE

#define SRB_FUNCTION_RELEASE_QUEUE   0x04

Definition at line 343 of file storport.h.

◆ SRB_FUNCTION_RELEASE_RECOVERY

#define SRB_FUNCTION_RELEASE_RECOVERY   0x11

Definition at line 349 of file storport.h.

◆ SRB_FUNCTION_REMOVE_DEVICE

#define SRB_FUNCTION_REMOVE_DEVICE   0x16

Definition at line 354 of file storport.h.

◆ SRB_FUNCTION_RESET_BUS

#define SRB_FUNCTION_RESET_BUS   0x12

Definition at line 350 of file storport.h.

◆ SRB_FUNCTION_RESET_DEVICE

#define SRB_FUNCTION_RESET_DEVICE   0x13

Definition at line 351 of file storport.h.

◆ SRB_FUNCTION_RESET_LOGICAL_UNIT

#define SRB_FUNCTION_RESET_LOGICAL_UNIT   0x20

Definition at line 358 of file storport.h.

◆ SRB_FUNCTION_SET_LINK_TIMEOUT

#define SRB_FUNCTION_SET_LINK_TIMEOUT   0x21

Definition at line 359 of file storport.h.

◆ SRB_FUNCTION_SHUTDOWN

#define SRB_FUNCTION_SHUTDOWN   0x07

Definition at line 346 of file storport.h.

◆ SRB_FUNCTION_TERMINATE_IO

#define SRB_FUNCTION_TERMINATE_IO   0x14

Definition at line 352 of file storport.h.

◆ SRB_FUNCTION_UNLOCK_QUEUE

#define SRB_FUNCTION_UNLOCK_QUEUE   0x19

Definition at line 357 of file storport.h.

◆ SRB_FUNCTION_WMI

#define SRB_FUNCTION_WMI   0x17

Definition at line 355 of file storport.h.

◆ SRB_HEAD_OF_QUEUE_TAG_REQUEST

#define SRB_HEAD_OF_QUEUE_TAG_REQUEST   0x21

Definition at line 431 of file storport.h.

◆ SRB_ORDERED_QUEUE_TAG_REQUEST

#define SRB_ORDERED_QUEUE_TAG_REQUEST   0x22

Definition at line 432 of file storport.h.

◆ SRB_PNP_FLAGS_ADAPTER_REQUEST

#define SRB_PNP_FLAGS_ADAPTER_REQUEST   0x01

Definition at line 436 of file storport.h.

◆ SRB_POWER_FLAGS_ADAPTER_REQUEST

#define SRB_POWER_FLAGS_ADAPTER_REQUEST   0x01

Definition at line 435 of file storport.h.

◆ SRB_SIMPLE_TAG_REQUEST

#define SRB_SIMPLE_TAG_REQUEST   0x20

Definition at line 430 of file storport.h.

◆ SRB_STATUS

Definition at line 398 of file storport.h.

◆ SRB_STATUS_ABORT_FAILED

#define SRB_STATUS_ABORT_FAILED   0x03

Definition at line 370 of file storport.h.

◆ SRB_STATUS_ABORTED

#define SRB_STATUS_ABORTED   0x02

Definition at line 369 of file storport.h.

◆ SRB_STATUS_AUTOSENSE_VALID

#define SRB_STATUS_AUTOSENSE_VALID   0x80

Definition at line 397 of file storport.h.

◆ SRB_STATUS_BAD_FUNCTION

#define SRB_STATUS_BAD_FUNCTION   0x22

Definition at line 391 of file storport.h.

◆ SRB_STATUS_BAD_SRB_BLOCK_LENGTH

#define SRB_STATUS_BAD_SRB_BLOCK_LENGTH   0x15

Definition at line 387 of file storport.h.

◆ SRB_STATUS_BUS_RESET

#define SRB_STATUS_BUS_RESET   0x0E

Definition at line 380 of file storport.h.

◆ SRB_STATUS_BUSY

#define SRB_STATUS_BUSY   0x05

Definition at line 372 of file storport.h.

◆ SRB_STATUS_COMMAND_TIMEOUT

#define SRB_STATUS_COMMAND_TIMEOUT   0x0B

Definition at line 378 of file storport.h.

◆ SRB_STATUS_DATA_OVERRUN

#define SRB_STATUS_DATA_OVERRUN   0x12

Definition at line 384 of file storport.h.

◆ SRB_STATUS_ERROR

#define SRB_STATUS_ERROR   0x04

Definition at line 371 of file storport.h.

◆ SRB_STATUS_ERROR_RECOVERY

#define SRB_STATUS_ERROR_RECOVERY   0x23

Definition at line 392 of file storport.h.

◆ SRB_STATUS_INTERNAL_ERROR

#define SRB_STATUS_INTERNAL_ERROR   0x30

Definition at line 395 of file storport.h.

◆ SRB_STATUS_INVALID_LUN

#define SRB_STATUS_INVALID_LUN   0x20

Definition at line 389 of file storport.h.

◆ SRB_STATUS_INVALID_PATH_ID

#define SRB_STATUS_INVALID_PATH_ID   0x07

Definition at line 374 of file storport.h.

◆ SRB_STATUS_INVALID_REQUEST

#define SRB_STATUS_INVALID_REQUEST   0x06

Definition at line 373 of file storport.h.

◆ SRB_STATUS_INVALID_TARGET_ID

#define SRB_STATUS_INVALID_TARGET_ID   0x21

Definition at line 390 of file storport.h.

◆ SRB_STATUS_LINK_DOWN

#define SRB_STATUS_LINK_DOWN   0x25

Definition at line 394 of file storport.h.

◆ SRB_STATUS_MESSAGE_REJECTED

#define SRB_STATUS_MESSAGE_REJECTED   0x0D

Definition at line 379 of file storport.h.

◆ SRB_STATUS_NO_DEVICE

#define SRB_STATUS_NO_DEVICE   0x08

Definition at line 375 of file storport.h.

◆ SRB_STATUS_NO_HBA

#define SRB_STATUS_NO_HBA   0x11

Definition at line 383 of file storport.h.

◆ SRB_STATUS_NOT_POWERED

#define SRB_STATUS_NOT_POWERED   0x24

Definition at line 393 of file storport.h.

◆ SRB_STATUS_PARITY_ERROR

#define SRB_STATUS_PARITY_ERROR   0x0F

Definition at line 381 of file storport.h.

◆ SRB_STATUS_PENDING

#define SRB_STATUS_PENDING   0x00

Definition at line 367 of file storport.h.

◆ SRB_STATUS_PHASE_SEQUENCE_FAILURE

#define SRB_STATUS_PHASE_SEQUENCE_FAILURE   0x14

Definition at line 386 of file storport.h.

◆ SRB_STATUS_QUEUE_FROZEN

#define SRB_STATUS_QUEUE_FROZEN   0x40

Definition at line 396 of file storport.h.

◆ SRB_STATUS_REQUEST_FLUSHED

#define SRB_STATUS_REQUEST_FLUSHED   0x16

Definition at line 388 of file storport.h.

◆ SRB_STATUS_REQUEST_SENSE_FAILED

#define SRB_STATUS_REQUEST_SENSE_FAILED   0x10

Definition at line 382 of file storport.h.

◆ SRB_STATUS_SELECTION_TIMEOUT

#define SRB_STATUS_SELECTION_TIMEOUT   0x0A

Definition at line 377 of file storport.h.

◆ SRB_STATUS_SUCCESS

#define SRB_STATUS_SUCCESS   0x01

Definition at line 368 of file storport.h.

◆ SRB_STATUS_TIMEOUT

#define SRB_STATUS_TIMEOUT   0x09

Definition at line 376 of file storport.h.

◆ SRB_STATUS_UNEXPECTED_BUS_FREE

#define SRB_STATUS_UNEXPECTED_BUS_FREE   0x13

Definition at line 385 of file storport.h.

◆ SRB_WMI_FLAGS_ADAPTER_REQUEST

#define SRB_WMI_FLAGS_ADAPTER_REQUEST   0x01

Definition at line 434 of file storport.h.

◆ STOR_MAP_ALL_BUFFERS

#define STOR_MAP_ALL_BUFFERS   (1)

Definition at line 439 of file storport.h.

◆ STOR_MAP_NO_BUFFERS

#define STOR_MAP_NO_BUFFERS   (0)

Definition at line 438 of file storport.h.

◆ STOR_MAP_NON_READ_WRITE_BUFFERS

#define STOR_MAP_NON_READ_WRITE_BUFFERS   (2)

Definition at line 440 of file storport.h.

◆ STORPORT_API

#define STORPORT_API   DECLSPEC_IMPORT

Definition at line 75 of file storport.h.

◆ StorPortCopyMemory

#define StorPortCopyMemory (   Destination,
  Source,
  Length 
)    memcpy((Destination),(Source),(Length))

Definition at line 2401 of file storport.h.

◆ VPD_DEVICE_IDENTIFIERS

#define VPD_DEVICE_IDENTIFIERS   0x83

Definition at line 444 of file storport.h.

◆ VPD_EXTENDED_INQUIRY_DATA

#define VPD_EXTENDED_INQUIRY_DATA   0x86

Definition at line 448 of file storport.h.

◆ VPD_MEDIA_SERIAL_NUMBER

#define VPD_MEDIA_SERIAL_NUMBER   0x84

Definition at line 445 of file storport.h.

◆ VPD_MODE_PAGE_POLICY

#define VPD_MODE_PAGE_POLICY   0x87

Definition at line 449 of file storport.h.

◆ VPD_NETWORK_MANAGEMENT_ADDRESSES

#define VPD_NETWORK_MANAGEMENT_ADDRESSES   0x85

Definition at line 447 of file storport.h.

◆ VPD_SCSI_PORTS

#define VPD_SCSI_PORTS   0x88

Definition at line 450 of file storport.h.

◆ VPD_SERIAL_NUMBER

#define VPD_SERIAL_NUMBER   0x80

Definition at line 443 of file storport.h.

◆ VPD_SOFTWARE_INTERFACE_IDENTIFIERS

#define VPD_SOFTWARE_INTERFACE_IDENTIFIERS   0x84

Definition at line 446 of file storport.h.

◆ VPD_SUPPORTED_PAGES

#define VPD_SUPPORTED_PAGES   0x00

Definition at line 442 of file storport.h.

◆ WRITE_ONCE_READ_MULTIPLE_DEVICE

#define WRITE_ONCE_READ_MULTIPLE_DEVICE   0x04

Definition at line 82 of file storport.h.

Typedef Documentation

◆ ACCESS_RANGE

◆ CDB

typedef union _CDB CDB

◆ Context

typedef _In_ PVOID Context

Definition at line 2269 of file storport.h.

◆ DPC_BUFFER

◆ EIGHT_BYTE

typedef union _EIGHT_BYTE EIGHT_BYTE

◆ FOUR_BYTE

typedef union _FOUR_BYTE FOUR_BYTE

◆ GETSGSTATUS

◆ HW_INITIALIZATION_DATA

◆ INQUIRYDATA

◆ LUN_LIST

◆ MEMORY_REGION

◆ MESSAGE_INTERRUPT_INFORMATION

◆ MODE_PARAMETER_BLOCK

◆ MODE_PARAMETER_HEADER

◆ MODE_PARAMETER_HEADER10

◆ PACCESS_RANGE

◆ PCDB

typedef union _CDB * PCDB

◆ PEIGHT_BYTE

typedef union _EIGHT_BYTE * PEIGHT_BYTE

◆ PERF_CONFIGURATION_DATA

◆ PFOUR_BYTE

typedef union _FOUR_BYTE * PFOUR_BYTE

◆ PGETSGSTATUS

◆ PHW_ADAPTER_CONTROL

typedef SCSI_ADAPTER_CONTROL_STATUS(NTAPI * PHW_ADAPTER_CONTROL) (IN PVOID DeviceExtension, IN SCSI_ADAPTER_CONTROL_TYPE ControlType, IN PVOID Parameters)

Definition at line 2246 of file storport.h.

◆ PHW_ADAPTER_STATE

typedef BOOLEAN(NTAPI * PHW_ADAPTER_STATE) (IN PVOID DeviceExtension, IN PVOID Context, IN BOOLEAN SaveState)

Definition at line 2239 of file storport.h.

◆ PHW_BUILDIO

typedef BOOLEAN(NTAPI * PHW_BUILDIO) (_In_ PVOID DeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb)

Definition at line 2196 of file storport.h.

◆ PHW_DMA_STARTED

typedef VOID(NTAPI * PHW_DMA_STARTED) (_In_ PVOID DeviceExtension)

Definition at line 2218 of file storport.h.

◆ PHW_DPC_ROUTINE

typedef VOID(* PHW_DPC_ROUTINE) (_In_ PSTOR_DPC Dpc, _In_ PVOID HwDeviceExtension, _In_ PVOID SystemArgument1, _In_ PVOID SystemArgument2)

Definition at line 2258 of file storport.h.

◆ PHW_FIND_ADAPTER

typedef 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)

Definition at line 2223 of file storport.h.

◆ PHW_INITIALIZATION_DATA

◆ PHW_INITIALIZE

typedef BOOLEAN(NTAPI * PHW_INITIALIZE) (_In_ PVOID DeviceExtension)

Definition at line 2191 of file storport.h.

◆ PHW_INTERRUPT

typedef BOOLEAN(NTAPI * PHW_INTERRUPT) (_In_ PVOID DeviceExtension)

Definition at line 2208 of file storport.h.

◆ PHW_PASSIVE_INITIALIZE_ROUTINE

typedef BOOLEAN(* PHW_PASSIVE_INITIALIZE_ROUTINE) (_In_ PVOID DeviceExtension)

Definition at line 2253 of file storport.h.

◆ PHW_RESET_BUS

typedef BOOLEAN(NTAPI * PHW_RESET_BUS) (IN PVOID DeviceExtension, IN ULONG PathId)

Definition at line 2233 of file storport.h.

◆ PHW_STARTIO

typedef BOOLEAN(NTAPI * PHW_STARTIO) (_In_ PVOID DeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb)

Definition at line 2202 of file storport.h.

◆ PHW_TIMER

typedef VOID(NTAPI * PHW_TIMER) (_In_ PVOID DeviceExtension)

Definition at line 2213 of file storport.h.

◆ PINQUIRYDATA

◆ PLUN_LIST

◆ PMEMORY_REGION

◆ PMESSAGE_INTERRUPT_INFORMATION

◆ PMODE_PARAMETER_BLOCK

◆ PMODE_PARAMETER_HEADER

◆ PMODE_PARAMETER_HEADER10

◆ PORT_CONFIGURATION_INFORMATION

◆ PPERF_CONFIGURATION_DATA

◆ PPORT_CONFIGURATION_INFORMATION

◆ PpostScaterGatherExecute

Definition at line 2274 of file storport.h.

◆ PREAD_CAPACITY_DATA

◆ PREAD_CAPACITY_DATA_EX

◆ PSCSI_ADAPTER_CONTROL_STATUS

◆ PSCSI_ADAPTER_CONTROL_TYPE

◆ PSCSI_NOTIFICATION_TYPE

◆ PSCSI_PNP_REQUEST_BLOCK

◆ PSCSI_POWER_REQUEST_BLOCK

◆ PSCSI_REQUEST_BLOCK

◆ PSCSI_WMI_REQUEST_BLOCK

◆ PSENSE_DATA

◆ PSTARTIO_PERFORMANCE_PARAMETERS

◆ PSTOR_DEVICE_CAPABILITIES

◆ PSTOR_DEVICE_POWER_STATE

◆ PSTOR_DPC

◆ PSTOR_LOCK_HANDLE

◆ PSTOR_LOG_EVENT_DETAILS

◆ PSTOR_PNP_ACTION

◆ PSTOR_POWER_ACTION

◆ PSTOR_SCATTER_GATHER_ELEMENT

◆ PSTOR_SCATTER_GATHER_LIST

◆ PSTOR_SYNCHRONIZED_ACCESS

typedef STOR_SYNCHRONIZED_ACCESS* PSTOR_SYNCHRONIZED_ACCESS

Definition at line 2271 of file storport.h.

◆ PSTORPORT_EXTENDED_FUNCTIONS

◆ PSTORPORT_FUNCTION_CODE

◆ PStorPortAllocatePool

typedef PVOID(NTAPI * PStorPortAllocatePool) (_In_ ULONG NumberOfBytes, _In_ ULONG Tag, _In_ PVOID HwDeviceExtension, _Out_ PVOID *PMdl)

Definition at line 2316 of file storport.h.

◆ PStorPortBuildScatterGatherList

typedef 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)

Definition at line 2296 of file storport.h.

◆ PStorPortFreePool

typedef VOID(NTAPI * PStorPortFreePool) (_In_ PVOID PMemory, _In_ PVOID HwDeviceExtension, _In_opt_ PVOID PMdl)

Definition at line 2309 of file storport.h.

◆ PStorPortGetMessageInterruptInformation

typedef BOOLEAN(NTAPI * PStorPortGetMessageInterruptInformation) (_In_ PVOID HwDeviceExtension, _In_ ULONG MessageId, _Out_ PMESSAGE_INTERRUPT_INFORMATION InterruptInfo)

Definition at line 2282 of file storport.h.

◆ PStorPortGetSystemAddress

typedef PVOID(NTAPI * PStorPortGetSystemAddress) (_In_ PSCSI_REQUEST_BLOCK Srb)

Definition at line 2324 of file storport.h.

◆ PStorPortPutScatterGatherList

typedef VOID(NTAPI * PStorPortPutScatterGatherList) (_In_ PVOID HwDeviceExtension, _In_ PSTOR_SCATTER_GATHER_LIST ScatterGatherList, _In_ BOOLEAN WriteToDevice)

Definition at line 2289 of file storport.h.

◆ PTWO_BYTE

typedef union _TWO_BYTE * PTWO_BYTE

◆ PVPD_ASSOCIATION

◆ PVPD_CODE_SET

◆ PVPD_IDENTIFICATION_DESCRIPTOR

◆ PVPD_IDENTIFICATION_PAGE

◆ PVPD_IDENTIFIER_TYPE

◆ PVPD_MEDIA_SERIAL_NUMBER_PAGE

◆ PVPD_SERIAL_NUMBER_PAGE

◆ PVPD_SUPPORTED_PAGES_PAGE

◆ READ_CAPACITY_DATA

◆ READ_CAPACITY_DATA_EX

◆ SCSI_ADAPTER_CONTROL_STATUS

◆ SCSI_ADAPTER_CONTROL_TYPE

◆ SCSI_NOTIFICATION_TYPE

◆ SCSI_PNP_REQUEST_BLOCK

◆ SCSI_POWER_REQUEST_BLOCK

◆ SCSI_REQUEST_BLOCK

◆ SCSI_WMI_REQUEST_BLOCK

◆ SENSE_DATA

◆ STARTIO_PERFORMANCE_PARAMETERS

◆ STOR_DEVICE_CAPABILITIES

◆ STOR_DEVICE_POWER_STATE

◆ STOR_DMA_WIDTH

◆ STOR_DPC

◆ STOR_EVENT_ASSOCIATION_ENUM

◆ STOR_LOCK_HANDLE

◆ STOR_LOG_EVENT_DETAILS

◆ STOR_PHYSICAL_ADDRESS

Definition at line 2018 of file storport.h.

◆ STOR_PNP_ACTION

◆ STOR_POWER_ACTION

◆ STOR_SCATTER_GATHER_ELEMENT

◆ STOR_SCATTER_GATHER_LIST

◆ STOR_SPINLOCK

◆ STOR_SYNCHRONIZATION_MODEL

◆ STORPORT_EXTENDED_FUNCTIONS

◆ STORPORT_FUNCTION_CODE

◆ TWO_BYTE

typedef union _TWO_BYTE TWO_BYTE

◆ VPD_ASSOCIATION

◆ VPD_CODE_SET

◆ VPD_IDENTIFICATION_DESCRIPTOR

◆ VPD_IDENTIFICATION_PAGE

◆ VPD_IDENTIFIER_TYPE

◆ VPD_MEDIA_SERIAL_NUMBER_PAGE

◆ VPD_SERIAL_NUMBER_PAGE

◆ VPD_SUPPORTED_PAGES_PAGE

Enumeration Type Documentation

◆ _GETSGSTATUS

Enumerator
SG_ALLOCATED 
SG_BUFFER_TOO_SMALL 

Definition at line 635 of file storport.h.

636{
637 SG_ALLOCATED = 0,
@ SG_BUFFER_TOO_SMALL
Definition: storport.h:638
@ SG_ALLOCATED
Definition: storport.h:637
enum _GETSGSTATUS * PGETSGSTATUS
enum _GETSGSTATUS GETSGSTATUS

◆ _SCSI_ADAPTER_CONTROL_STATUS

Enumerator
ScsiAdapterControlSuccess 
ScsiAdapterControlUnsuccessful 
ScsiAdapterControlSuccess 
ScsiAdapterControlUnsuccessful 
ScsiAdapterControlSuccess 
ScsiAdapterControlUnsuccessful 

Definition at line 501 of file storport.h.

502{
@ ScsiAdapterControlSuccess
Definition: storport.h:503
@ ScsiAdapterControlUnsuccessful
Definition: storport.h:504
enum _SCSI_ADAPTER_CONTROL_STATUS SCSI_ADAPTER_CONTROL_STATUS
enum _SCSI_ADAPTER_CONTROL_STATUS * PSCSI_ADAPTER_CONTROL_STATUS

◆ _SCSI_ADAPTER_CONTROL_TYPE

Enumerator
ScsiQuerySupportedControlTypes 
ScsiStopAdapter 
ScsiRestartAdapter 
ScsiSetBootConfig 
ScsiSetRunningConfig 
ScsiAdapterControlMax 
MakeAdapterControlTypeSizeOfUlong 
ScsiQuerySupportedControlTypes 
ScsiStopAdapter 
ScsiRestartAdapter 
ScsiSetBootConfig 
ScsiSetRunningConfig 
ScsiAdapterControlMax 
MakeAdapterControlTypeSizeOfUlong 
ScsiQuerySupportedControlTypes 
ScsiStopAdapter 
ScsiRestartAdapter 
ScsiSetBootConfig 
ScsiSetRunningConfig 
ScsiAdapterControlMax 
MakeAdapterControlTypeSizeOfUlong 

Definition at line 490 of file storport.h.

491{
@ ScsiRestartAdapter
Definition: storport.h:494
@ ScsiQuerySupportedControlTypes
Definition: storport.h:492
@ ScsiAdapterControlMax
Definition: storport.h:497
@ ScsiSetBootConfig
Definition: storport.h:495
@ ScsiStopAdapter
Definition: storport.h:493
@ MakeAdapterControlTypeSizeOfUlong
Definition: storport.h:498
@ ScsiSetRunningConfig
Definition: storport.h:496
enum _SCSI_ADAPTER_CONTROL_TYPE SCSI_ADAPTER_CONTROL_TYPE
enum _SCSI_ADAPTER_CONTROL_TYPE * PSCSI_ADAPTER_CONTROL_TYPE

◆ _SCSI_NOTIFICATION_TYPE

Enumerator
RequestComplete 
NextRequest 
NextLuRequest 
ResetDetected 
CallDisableInterrupts 
CallEnableInterrupts 
RequestTimerCall 
BusChangeDetected 
WMIEvent 
WMIReregister 
RequestComplete 
NextRequest 
NextLuRequest 
ResetDetected 
CallDisableInterrupts 
CallEnableInterrupts 
RequestTimerCall 
BusChangeDetected 
WMIEvent 
WMIReregister 
LinkUp 
LinkDown 
QueryTickCount 
BufferOverrunDetected 
TraceNotification 
RequestComplete 
NextRequest 
NextLuRequest 
ResetDetected 
_obsolete1 
_obsolete2 
RequestTimerCall 
BusChangeDetected 
WMIEvent 
WMIReregister 
LinkUp 
LinkDown 
QueryTickCount 
BufferOverrunDetected 
TraceNotification 
GetExtendedFunctionTable 
EnablePassiveInitialization 
InitializeDpc 
IssueDpc 
AcquireSpinLock 
ReleaseSpinLock 

Definition at line 507 of file storport.h.

508{
517 WMIEvent,
519 LinkUp,
520 LinkDown,
527 IssueDpc,
enum _SCSI_NOTIFICATION_TYPE * PSCSI_NOTIFICATION_TYPE
enum _SCSI_NOTIFICATION_TYPE SCSI_NOTIFICATION_TYPE
@ InitializeDpc
Definition: storport.h:526
@ AcquireSpinLock
Definition: storport.h:528
@ ResetDetected
Definition: storport.h:512
@ _obsolete2
Definition: storport.h:514
@ WMIEvent
Definition: storport.h:517
@ QueryTickCount
Definition: storport.h:521
@ _obsolete1
Definition: storport.h:513
@ RequestTimerCall
Definition: storport.h:515
@ IssueDpc
Definition: storport.h:527
@ RequestComplete
Definition: storport.h:509
@ ReleaseSpinLock
Definition: storport.h:529
@ BufferOverrunDetected
Definition: storport.h:522
@ WMIReregister
Definition: storport.h:518
@ LinkUp
Definition: storport.h:519
@ NextRequest
Definition: storport.h:510
@ BusChangeDetected
Definition: storport.h:516
@ NextLuRequest
Definition: storport.h:511
@ TraceNotification
Definition: storport.h:523
@ LinkDown
Definition: storport.h:520
@ GetExtendedFunctionTable
Definition: storport.h:524
@ EnablePassiveInitialization
Definition: storport.h:525

◆ _STOR_DEVICE_POWER_STATE

Enumerator
StorPowerDeviceUnspecified 
StorPowerDeviceD0 
StorPowerDeviceD1 
StorPowerDeviceD2 
StorPowerDeviceD3 
StorPowerDeviceMaximum 
StorPowerDeviceUnspecified 
StorPowerDeviceD0 
StorPowerDeviceD1 
StorPowerDeviceD2 
StorPowerDeviceD3 
StorPowerDeviceMaximum 

Definition at line 532 of file storport.h.

533{
enum _STOR_DEVICE_POWER_STATE * PSTOR_DEVICE_POWER_STATE
enum _STOR_DEVICE_POWER_STATE STOR_DEVICE_POWER_STATE
@ StorPowerDeviceMaximum
Definition: storport.h:539
@ StorPowerDeviceD3
Definition: storport.h:538
@ StorPowerDeviceD2
Definition: storport.h:537
@ StorPowerDeviceUnspecified
Definition: storport.h:534
@ StorPowerDeviceD1
Definition: storport.h:536
@ StorPowerDeviceD0
Definition: storport.h:535

◆ _STOR_DMA_WIDTH

Enumerator
DmaUnknown 
Dma32Bit 
Dma64BitScatterGather 
Dma64Bit 

Definition at line 475 of file storport.h.

476{
478 Dma32Bit,
@ Dma64BitScatterGather
Definition: storport.h:479
@ DmaUnknown
Definition: storport.h:477
@ Dma32Bit
Definition: storport.h:478
@ Dma64Bit
Definition: storport.h:480
enum _STOR_DMA_WIDTH STOR_DMA_WIDTH

◆ _STOR_EVENT_ASSOCIATION_ENUM

Enumerator
StorEventAdapterAssociation 
StorEventLunAssociation 
StorEventTargetAssociation 
StorEventInvalidAssociation 

Definition at line 627 of file storport.h.

628{
enum _STOR_EVENT_ASSOCIATION_ENUM STOR_EVENT_ASSOCIATION_ENUM
@ StorEventTargetAssociation
Definition: storport.h:631
@ StorEventInvalidAssociation
Definition: storport.h:632
@ StorEventAdapterAssociation
Definition: storport.h:629
@ StorEventLunAssociation
Definition: storport.h:630

◆ _STOR_PNP_ACTION

Enumerator
StorStartDevice 
StorRemoveDevice 
StorStopDevice 
StorQueryCapabilities 
StorQueryResourceRequirements 
StorFilterResourceRequirements 
StorSurpriseRemoval 
StorStartDevice 
StorRemoveDevice 
StorStopDevice 
StorQueryCapabilities 
StorQueryResourceRequirements 
StorFilterResourceRequirements 
StorSurpriseRemoval 

Definition at line 554 of file storport.h.

555{
556 StorStartDevice = 0x0,
557 StorRemoveDevice = 0x2,
558 StorStopDevice = 0x4,
enum _STOR_PNP_ACTION STOR_PNP_ACTION
enum _STOR_PNP_ACTION * PSTOR_PNP_ACTION
@ StorRemoveDevice
Definition: storport.h:557
@ StorQueryCapabilities
Definition: storport.h:559
@ StorQueryResourceRequirements
Definition: storport.h:560
@ StorFilterResourceRequirements
Definition: storport.h:561
@ StorStopDevice
Definition: storport.h:558
@ StorStartDevice
Definition: storport.h:556
@ StorSurpriseRemoval
Definition: storport.h:562

◆ _STOR_POWER_ACTION

Enumerator
StorPowerActionNone 
StorPowerActionReserved 
StorPowerActionSleep 
StorPowerActionHibernate 
StorPowerActionShutdown 
StorPowerActionShutdownReset 
StorPowerActionShutdownOff 
StorPowerActionWarmEject 
StorPowerActionNone 
StorPowerActionReserved 
StorPowerActionSleep 
StorPowerActionHibernate 
StorPowerActionShutdown 
StorPowerActionShutdownReset 
StorPowerActionShutdownOff 
StorPowerActionWarmEject 

Definition at line 542 of file storport.h.

543{
@ StorPowerActionWarmEject
Definition: storport.h:551
@ StorPowerActionShutdown
Definition: storport.h:548
@ StorPowerActionReserved
Definition: storport.h:545
@ StorPowerActionNone
Definition: storport.h:544
@ StorPowerActionShutdownReset
Definition: storport.h:549
@ StorPowerActionSleep
Definition: storport.h:546
@ StorPowerActionHibernate
Definition: storport.h:547
@ StorPowerActionShutdownOff
Definition: storport.h:550
enum _STOR_POWER_ACTION * PSTOR_POWER_ACTION
enum _STOR_POWER_ACTION STOR_POWER_ACTION

◆ _STOR_SPINLOCK

Enumerator
DpcLock 
StartIoLock 
InterruptLock 

Definition at line 483 of file storport.h.

484{
485 DpcLock = 1,
@ StartIoLock
Definition: storport.h:486
@ InterruptLock
Definition: storport.h:487
@ DpcLock
Definition: storport.h:485
enum _STOR_SPINLOCK STOR_SPINLOCK

◆ _STOR_SYNCHRONIZATION_MODEL

Enumerator
StorSynchronizeHalfDuplex 
StorSynchronizeFullDuplex 

Definition at line 469 of file storport.h.

470{
@ StorSynchronizeFullDuplex
Definition: storport.h:472
@ StorSynchronizeHalfDuplex
Definition: storport.h:471
enum _STOR_SYNCHRONIZATION_MODEL STOR_SYNCHRONIZATION_MODEL

◆ _STORPORT_FUNCTION_CODE

Enumerator
ExtFunctionAllocatePool 
ExtFunctionFreePool 
ExtFunctionAllocateMdl 
ExtFunctionFreeMdl 
ExtFunctionBuildMdlForNonPagedPool 
ExtFunctionGetSystemAddress 
ExtFunctionGetOriginalMdl 
ExtFunctionCompleteServiceIrp 
ExtFunctionGetDeviceObjects 
ExtFunctionBuildScatterGatherList 
ExtFunctionPutScatterGatherList 
ExtFunctionAcquireMSISpinLock 
ExtFunctionReleaseMSISpinLock 
ExtFunctionGetMessageInterruptInformation 
ExtFunctionInitializePerformanceOptimizations 
ExtFunctionGetStartIoPerformanceParameters 
ExtFunctionLogSystemEvent 
ExtFunctionGetCurrentProcessorNumber 
ExtFunctionGetActiveGroupCount 
ExtFunctionGetGroupAffinity 
ExtFunctionGetActiveNodeCount 
ExtFunctionGetNodeAffinity 
ExtFunctionGetHighestNodeNumber 
ExtFunctionGetLogicalProcessorRelationship 
ExtFunctionAllocateContiguousMemorySpecifyCacheNode 
ExtFunctionFreeContiguousMemorySpecifyCache 

Definition at line 595 of file storport.h.

596{
614#if (NTDDI_VERSION >= NTDDI_WIN7)
624#endif
@ ExtFunctionFreeContiguousMemorySpecifyCache
Definition: storport.h:623
@ ExtFunctionGetGroupAffinity
Definition: storport.h:617
@ ExtFunctionGetNodeAffinity
Definition: storport.h:619
@ ExtFunctionCompleteServiceIrp
Definition: storport.h:604
@ ExtFunctionAllocateMdl
Definition: storport.h:599
@ ExtFunctionAllocateContiguousMemorySpecifyCacheNode
Definition: storport.h:622
@ ExtFunctionGetOriginalMdl
Definition: storport.h:603
@ ExtFunctionFreePool
Definition: storport.h:598
@ ExtFunctionGetDeviceObjects
Definition: storport.h:605
@ ExtFunctionAcquireMSISpinLock
Definition: storport.h:608
@ ExtFunctionInitializePerformanceOptimizations
Definition: storport.h:611
@ ExtFunctionGetLogicalProcessorRelationship
Definition: storport.h:621
@ ExtFunctionGetMessageInterruptInformation
Definition: storport.h:610
@ ExtFunctionGetSystemAddress
Definition: storport.h:602
@ ExtFunctionGetStartIoPerformanceParameters
Definition: storport.h:612
@ ExtFunctionLogSystemEvent
Definition: storport.h:613
@ ExtFunctionBuildScatterGatherList
Definition: storport.h:606
@ ExtFunctionPutScatterGatherList
Definition: storport.h:607
@ ExtFunctionReleaseMSISpinLock
Definition: storport.h:609
@ ExtFunctionFreeMdl
Definition: storport.h:600
@ ExtFunctionGetActiveGroupCount
Definition: storport.h:616
@ ExtFunctionBuildMdlForNonPagedPool
Definition: storport.h:601
@ ExtFunctionGetCurrentProcessorNumber
Definition: storport.h:615
@ ExtFunctionGetHighestNodeNumber
Definition: storport.h:620
@ ExtFunctionAllocatePool
Definition: storport.h:597
@ ExtFunctionGetActiveNodeCount
Definition: storport.h:618
enum _STORPORT_FUNCTION_CODE STORPORT_FUNCTION_CODE
enum _STORPORT_FUNCTION_CODE * PSTORPORT_FUNCTION_CODE

◆ _VPD_ASSOCIATION

Enumerator
VpdAssocDevice 
VpdAssocPort 
VpdAssocTarget 
VpdAssocReserved1 
VpdAssocReserved2 
VpdAssocDevice 
VpdAssocPort 
VpdAssocTarget 
VpdAssocReserved1 
VpdAssocReserved2 

Definition at line 573 of file storport.h.

574{
575 VpdAssocDevice = 0,
576 VpdAssocPort = 1,
577 VpdAssocTarget = 2,
@ VpdAssocPort
Definition: storport.h:576
@ VpdAssocTarget
Definition: storport.h:577
@ VpdAssocReserved1
Definition: storport.h:578
@ VpdAssocDevice
Definition: storport.h:575
@ VpdAssocReserved2
Definition: storport.h:579
enum _VPD_ASSOCIATION * PVPD_ASSOCIATION
enum _VPD_ASSOCIATION VPD_ASSOCIATION

◆ _VPD_CODE_SET

Enumerator
VpdCodeSetReserved 
VpdCodeSetBinary 
VpdCodeSetAscii 
VpdCodeSetUTF8 
VpdCodeSetReserved 
VpdCodeSetBinary 
VpdCodeSetAscii 
VpdCodeSetUTF8 

Definition at line 565 of file storport.h.

566{
569 VpdCodeSetAscii = 2,
enum _VPD_CODE_SET VPD_CODE_SET
enum _VPD_CODE_SET * PVPD_CODE_SET
@ VpdCodeSetBinary
Definition: storport.h:568
@ VpdCodeSetReserved
Definition: storport.h:567
@ VpdCodeSetAscii
Definition: storport.h:569
@ VpdCodeSetUTF8
Definition: storport.h:570

◆ _VPD_IDENTIFIER_TYPE

Enumerator
VpdIdentifierTypeVendorSpecific 
VpdIdentifierTypeVendorId 
VpdIdentifierTypeEUI64 
VpdIdentifierTypeFCPHName 
VpdIdentifierTypePortRelative 
VpdIdentifierTypeTargetPortGroup 
VpdIdentifierTypeLogicalUnitGroup 
VpdIdentifierTypeMD5LogicalUnitId 
VpdIdentifierTypeSCSINameString 
VpdIdentifierTypeVendorSpecific 
VpdIdentifierTypeVendorId 
VpdIdentifierTypeEUI64 
VpdIdentifierTypeFCPHName 
VpdIdentifierTypePortRelative 
VpdIdentifierTypeTargetPortGroup 
VpdIdentifierTypeLogicalUnitGroup 
VpdIdentifierTypeMD5LogicalUnitId 
VpdIdentifierTypeSCSINameString 

Definition at line 582 of file storport.h.

583{
enum _VPD_IDENTIFIER_TYPE VPD_IDENTIFIER_TYPE
@ VpdIdentifierTypeSCSINameString
Definition: storport.h:592
@ VpdIdentifierTypeVendorId
Definition: storport.h:585
@ VpdIdentifierTypeMD5LogicalUnitId
Definition: storport.h:591
@ VpdIdentifierTypeTargetPortGroup
Definition: storport.h:589
@ VpdIdentifierTypeLogicalUnitGroup
Definition: storport.h:590
@ VpdIdentifierTypeFCPHName
Definition: storport.h:587
@ VpdIdentifierTypePortRelative
Definition: storport.h:588
@ VpdIdentifierTypeEUI64
Definition: storport.h:586
@ VpdIdentifierTypeVendorSpecific
Definition: storport.h:584
enum _VPD_IDENTIFIER_TYPE * PVPD_IDENTIFIER_TYPE

Function Documentation

◆ BOOLEAN()

typedef BOOLEAN ( NTAPI  STOR_SYNCHRONIZED_ACCESS)

◆ StorPortAcquireMSISpinLock()

FORCEINLINE ULONG StorPortAcquireMSISpinLock ( _In_ PVOID  HwDeviceExtension,
_In_ ULONG  MessageId,
_In_ PULONG  OldIrql 
)

Definition at line 3137 of file storport.h.

3141{
3143 HwDeviceExtension,
3144 MessageId,
3145 OldIrql);
3146}
STORPORT_API ULONG StorPortExtendedFunction(_In_ STORPORT_FUNCTION_CODE FunctionCode, _In_ PVOID HwDeviceExtension,...)
Definition: storport.c:609
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:778

◆ StorPortAcquireSpinLock()

FORCEINLINE VOID StorPortAcquireSpinLock ( _In_ PVOID  DeviceExtension,
_In_ STOR_SPINLOCK  SpinLock,
_In_ PVOID  LockContext,
_Inout_ PSTOR_LOCK_HANDLE  LockHandle 
)

Definition at line 2950 of file storport.h.

2955{
2957 DeviceExtension,
2958 SpinLock,
2959 LockContext,
2960 LockHandle);
2961}
STORPORT_API VOID __cdecl StorPortNotification(_In_ SCSI_NOTIFICATION_TYPE NotificationType, _In_ PVOID HwDeviceExtension,...)
Definition: storport.c:1093
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFSPINLOCK * SpinLock
Definition: wdfsync.h:228
*LockHandle LockHandle _Out_ PKLOCK_QUEUE_HANDLE LockHandle
Definition: kefuncs.h:717

Referenced by AhciCommandCompletionDpcRoutine(), AhciHwResetBus(), and AhciProcessIO().

◆ StorPortAllocateMdl()

FORCEINLINE ULONG StorPortAllocateMdl ( _In_ PVOID  HwDeviceExtension,
_In_ PVOID  BufferPointer,
_In_ ULONG  NumberOfBytes,
_Out_ PVOID Mdl 
)

Definition at line 3010 of file storport.h.

3015{
3017 HwDeviceExtension,
3018 BufferPointer,
3020 Mdl);
3021}
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL Mdl
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1036

◆ StorPortAllocatePool()

FORCEINLINE ULONG StorPortAllocatePool ( _In_ PVOID  HwDeviceExtension,
_In_ ULONG  NumberOfBytes,
_In_ ULONG  Tag,
_Out_ PVOID BufferPointer 
)

Definition at line 2983 of file storport.h.

2989{
2991 HwDeviceExtension,
2993 Tag,
2994 BufferPointer);
2995}
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
Definition: wdfdevice.h:4065

◆ StorPortAllocateRegistryBuffer()

STORPORT_API PUCHAR NTAPI StorPortAllocateRegistryBuffer ( _In_ PVOID  HwDeviceExtension,
_In_ PULONG  Length 
)

Definition at line 472 of file storport.c.

475{
476 DPRINT1("StorPortAllocateRegistryBuffer()\n");
478 return NULL;
479}
#define DPRINT1
Definition: precomp.h:8
#define UNIMPLEMENTED
Definition: debug.h:115
#define NULL
Definition: types.h:112

◆ StorPortBuildMdlForNonPagedPool()

FORCEINLINE ULONG StorPortBuildMdlForNonPagedPool ( _In_ PVOID  HwDeviceExtension,
_Inout_ PVOID  Mdl 
)

Definition at line 3036 of file storport.h.

3039{
3041 HwDeviceExtension,
3042 Mdl);
3043}

◆ StorPortBuildScatterGatherList()

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 
)

Definition at line 3099 of file storport.h.

3109{
3111 HwDeviceExtension,
3112 Mdl,
3113 CurrentVa,
3114 Length,
3116 Context,
3118 ScatterGatherBuffer,
3119 ScatterGatherBufferLength);
3120}
_In_ PSCSI_REQUEST_BLOCK _In_opt_ PVOID _In_ ULONG _In_ BOOLEAN WriteToDevice
Definition: cdrom.h:992
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
_In_ PDEVICE_OBJECT _In_ ULONG _In_ PDRIVER_CONTROL ExecutionRoutine
Definition: iofuncs.h:1399

◆ StorPortBusy()

STORPORT_API BOOLEAN NTAPI StorPortBusy ( _In_ PVOID  HwDeviceExtension,
_In_ ULONG  RequestsToComplete 
)

Definition at line 488 of file storport.c.

491{
492 DPRINT1("StorPortBuzy()\n");
494 return FALSE;
495}
#define FALSE
Definition: types.h:117

◆ StorPortCompleteRequest()

STORPORT_API VOID NTAPI StorPortCompleteRequest ( _In_ PVOID  HwDeviceExtension,
_In_ UCHAR  PathId,
_In_ UCHAR  TargetId,
_In_ UCHAR  Lun,
_In_ UCHAR  SrbStatus 
)

Definition at line 504 of file storport.c.

510{
511 DPRINT1("StorPortCompleteRequest()\n");
513}

◆ StorPortCompleteServiceIrp()

FORCEINLINE ULONG StorPortCompleteServiceIrp ( _In_ PVOID  HwDeviceExtension,
_In_ PVOID  Irp 
)

Definition at line 3073 of file storport.h.

3076{
3078 HwDeviceExtension,
3079 Irp);
3080}
_In_ PIRP Irp
Definition: csq.h:116

◆ StorPortConvertPhysicalAddressToUlong64()

STORPORT_API ULONG64 NTAPI StorPortConvertPhysicalAddressToUlong64 ( _In_ STOR_PHYSICAL_ADDRESS  Address)

◆ StorPortConvertUlong64ToPhysicalAddress()

STORPORT_API STOR_PHYSICAL_ADDRESS NTAPI StorPortConvertUlong64ToPhysicalAddress ( _In_ ULONG64  UlongAddress)

◆ StorPortDebugPrint()

STORPORT_API VOID __cdecl StorPortDebugPrint ( _In_ ULONG  DebugPrintLevel,
_In_ PCCHAR  DebugMessage,
  ... 
)

◆ StorPortDeviceBusy()

STORPORT_API BOOLEAN NTAPI StorPortDeviceBusy ( _In_ PVOID  HwDeviceExtension,
_In_ UCHAR  PathId,
_In_ UCHAR  TargetId,
_In_ UCHAR  Lun,
_In_ ULONG  RequestsToComplete 
)

Definition at line 573 of file storport.c.

579{
580 DPRINT1("StorPortDeviceBusy()\n");
582 return FALSE;
583}

◆ StorPortDeviceReady()

STORPORT_API BOOLEAN NTAPI StorPortDeviceReady ( _In_ PVOID  HwDeviceExtension,
_In_ UCHAR  PathId,
_In_ UCHAR  TargetId,
_In_ UCHAR  Lun 
)

Definition at line 592 of file storport.c.

597{
598 DPRINT1("StorPortDeviceReady()\n");
600 return FALSE;
601}

◆ StorPortEnablePassiveInitialization()

FORCEINLINE BOOLEAN StorPortEnablePassiveInitialization ( _In_ PVOID  DeviceExtension,
_In_ PHW_PASSIVE_INITIALIZE_ROUTINE  HwPassiveInitializeRoutine 
)

Definition at line 2903 of file storport.h.

2906{
2907 LONG Succ;
2908 Succ = FALSE;
2910 DeviceExtension,
2911 HwPassiveInitializeRoutine,
2912 &Succ);
2913 return (BOOLEAN)Succ;
2914}
unsigned char BOOLEAN
long LONG
Definition: pedump.c:60

Referenced by AhciHwInitialize().

◆ StorPortExtendedFunction()

◆ StorPortFreeDeviceBase()

STORPORT_API VOID NTAPI StorPortFreeDeviceBase ( _In_ PVOID  HwDeviceExtension,
_In_ PVOID  MappedAddress 
)

Definition at line 627 of file storport.c.

630{
631 DPRINT1("StorPortFreeDeviceBase(%p %p)\n",
632 HwDeviceExtension, MappedAddress);
633}

◆ StorPortFreeMdl()

FORCEINLINE ULONG StorPortFreeMdl ( _In_ PVOID  HwDeviceExtension,
_In_ PVOID  Mdl 
)

Definition at line 3025 of file storport.h.

3028{
3030 HwDeviceExtension,
3031 Mdl);
3032}

◆ StorPortFreePool()

FORCEINLINE ULONG StorPortFreePool ( _In_ PVOID  HwDeviceExtension,
_In_ PVOID  BufferPointer 
)

Definition at line 2999 of file storport.h.

3002{
3004 HwDeviceExtension,
3005 BufferPointer);
3006}

◆ StorPortFreeRegistryBuffer()

STORPORT_API VOID NTAPI StorPortFreeRegistryBuffer ( _In_ PVOID  HwDeviceExtension,
_In_ PUCHAR  Buffer 
)

Definition at line 642 of file storport.c.

645{
646 DPRINT1("StorPortFreeRegistryBuffer()\n");
648}

◆ StorPortGetBusData()

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 
)

Definition at line 657 of file storport.c.

664{
665 PMINIPORT_DEVICE_EXTENSION MiniportExtension;
668
669 DPRINT1("StorPortGetBusData(%p %lu %lu %lu %p %lu)\n",
670 DeviceExtension, BusDataType, SystemIoBusNumber, SlotNumber, Buffer, Length);
671
672 /* Get the miniport extension */
673 MiniportExtension = CONTAINING_RECORD(DeviceExtension,
675 HwDeviceExtension);
676 DPRINT1("DeviceExtension %p MiniportExtension %p\n",
677 DeviceExtension, MiniportExtension);
678
679 Interface = &MiniportExtension->Miniport->DeviceExtension->BusInterface;
680
681 if (BusDataType == 4)
682 BusDataType = 0;
683
684 ReturnLength = Interface->GetBusData(Interface->Context,
685 BusDataType,
686 Buffer,
687 0,
688 Length);
689 DPRINT1("ReturnLength: %lu\n", ReturnLength);
690
691 return ReturnLength;
692}
Definition: bufpool.h:45
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
Definition: dumpinfo.c:43
struct _MINIPORT * Miniport
Definition: precomp.h:72
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
Definition: wdfresource.h:68

Referenced by AhciHwFindAdapter().

◆ StorPortGetDeviceBase()

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 
)

Definition at line 701 of file storport.c.

708{
709 PMINIPORT_DEVICE_EXTENSION MiniportExtension;
711 PVOID MappedAddress;
713
714 DPRINT1("StorPortGetDeviceBase(%p %lu %lu 0x%I64x %lu %u)\n",
715 HwDeviceExtension, BusType, SystemIoBusNumber, IoAddress.QuadPart, NumberOfBytes, InIoSpace);
716
717 /* Get the miniport extension */
718 MiniportExtension = CONTAINING_RECORD(HwDeviceExtension,
720 HwDeviceExtension);
721 DPRINT1("HwDeviceExtension %p MiniportExtension %p\n",
722 HwDeviceExtension, MiniportExtension);
723
724 if (!TranslateResourceListAddress(MiniportExtension->Miniport->DeviceExtension,
725 BusType,
726 SystemIoBusNumber,
727 IoAddress,
729 InIoSpace,
731 {
732 DPRINT1("Checkpoint!\n");
733 return NULL;
734 }
735
736 DPRINT1("Translated Address: 0x%I64x\n", TranslatedAddress.QuadPart);
737
738 /* In I/O space */
739 if (InIoSpace)
740 {
741 DPRINT1("Translated Address: %p\n", (PVOID)(ULONG_PTR)TranslatedAddress.QuadPart);
743 }
744
745 /* In memory space */
746 MappedAddress = MmMapIoSpace(TranslatedAddress,
748 FALSE);
749 DPRINT1("Mapped Address: %p\n", MappedAddress);
750
751 Status = AllocateAddressMapping(&MiniportExtension->Miniport->DeviceExtension->MappedAddressList,
752 IoAddress,
753 MappedAddress,
755 SystemIoBusNumber);
756 if (!NT_SUCCESS(Status))
757 {
758 DPRINT1("Checkpoint!\n");
759 MappedAddress = NULL;
760 }
761
762 DPRINT1("Mapped Address: %p\n", MappedAddress);
763 return MappedAddress;
764}
LONG NTSTATUS
Definition: precomp.h:26
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define ULONG_PTR
Definition: config.h:101
NTSTATUS AllocateAddressMapping(PMAPPED_ADDRESS *MappedAddressList, STOR_PHYSICAL_ADDRESS IoAddress, PVOID MappedAddress, ULONG NumberOfBytes, ULONG BusNumber)
Definition: misc.c:290
BOOLEAN TranslateResourceListAddress(PFDO_DEVICE_EXTENSION DeviceExtension, INTERFACE_TYPE BusType, ULONG SystemIoBusNumber, STOR_PHYSICAL_ADDRESS IoAddress, ULONG NumberOfBytes, BOOLEAN InIoSpace, PPHYSICAL_ADDRESS TranslatedAddress)
Definition: misc.c:172
Status
Definition: gdiplustypes.h:25
PVOID NTAPI MmMapIoSpace(IN PHYSICAL_ADDRESS PhysicalAddress, IN SIZE_T NumberOfBytes, IN MEMORY_CACHING_TYPE CacheType)
Definition: iosup.c:47
uint32_t ULONG_PTR
Definition: typedefs.h:65
LONGLONG QuadPart
Definition: typedefs.h:114
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE BusType
Definition: halfuncs.h:159
_In_ ULONG _In_ PHYSICAL_ADDRESS _Inout_ PULONG _Out_ PPHYSICAL_ADDRESS TranslatedAddress
Definition: iofuncs.h:2275

Referenced by AhciHwFindAdapter().

◆ StorPortGetDeviceObjects()

FORCEINLINE ULONG StorPortGetDeviceObjects ( _In_ PVOID  HwDeviceExtension,
_Out_ PVOID AdapterDeviceObject,
_Out_ PVOID PhysicalDeviceObject,
_Out_ PVOID LowerDeviceObject 
)

Definition at line 3084 of file storport.h.

3089{
3091 HwDeviceExtension,
3092 AdapterDeviceObject,
3095}
PDEVICE_OBJECT PhysicalDeviceObject
Definition: btrfs_drv.h:1157
_In_z_ PCCHAR _In_ PDEVICE_OBJECT LowerDeviceObject
Definition: classpnp.h:983

◆ StorPortGetLogicalUnit()

STORPORT_API PVOID NTAPI StorPortGetLogicalUnit ( _In_ PVOID  HwDeviceExtension,
_In_ UCHAR  PathId,
_In_ UCHAR  TargetId,
_In_ UCHAR  Lun 
)

Definition at line 773 of file storport.c.

778{
779 DPRINT1("StorPortGetLogicalUnit()\n");
781 return NULL;
782}

◆ StorPortGetMSIInfo()

FORCEINLINE ULONG StorPortGetMSIInfo ( _In_ PVOID  HwDeviceExtension,
_In_ ULONG  MessageId,
_Out_ PMESSAGE_INTERRUPT_INFORMATION  InterruptInfo 
)

Definition at line 3163 of file storport.h.

3167{
3169 HwDeviceExtension,
3170 MessageId,
3171 InterruptInfo);
3172}

◆ StorPortGetOriginalMdl()

FORCEINLINE ULONG StorPortGetOriginalMdl ( _In_ PVOID  HwDeviceExtension,
_In_ PSCSI_REQUEST_BLOCK  Srb,
_Out_ PVOID Mdl 
)

Definition at line 3060 of file storport.h.

3064{
3066 HwDeviceExtension,
3067 Srb,
3068 Mdl);
3069}
_In_ PSCSI_REQUEST_BLOCK Srb
Definition: cdrom.h:989

◆ StorPortGetPhysicalAddress()

STORPORT_API STOR_PHYSICAL_ADDRESS NTAPI StorPortGetPhysicalAddress ( _In_ PVOID  HwDeviceExtension,
_In_opt_ PSCSI_REQUEST_BLOCK  Srb,
_In_ PVOID  VirtualAddress,
_Out_ ULONG Length 
)

Definition at line 791 of file storport.c.

796{
797 PMINIPORT_DEVICE_EXTENSION MiniportExtension;
798 PFDO_DEVICE_EXTENSION DeviceExtension;
801
802 DPRINT1("StorPortGetPhysicalAddress(%p %p %p %p)\n",
803 HwDeviceExtension, Srb, VirtualAddress, Length);
804
805 /* Get the miniport extension */
806 MiniportExtension = CONTAINING_RECORD(HwDeviceExtension,
808 HwDeviceExtension);
809 DPRINT1("HwDeviceExtension %p MiniportExtension %p\n",
810 HwDeviceExtension, MiniportExtension);
811
812 DeviceExtension = MiniportExtension->Miniport->DeviceExtension;
813
814 /* Inside of the uncached extension? */
817 {
819
821 *Length = DeviceExtension->UncachedExtensionSize - Offset;
822
823 return PhysicalAddress;
824 }
825
826 // FIXME
827
828
830 *Length = 1;
831// UNIMPLEMENTED;
832
833// *Length = 0;
834// PhysicalAddress.QuadPart = (LONGLONG)0;
835
836 return PhysicalAddress;
837}
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
PHYSICAL_ADDRESS NTAPI MmGetPhysicalAddress(IN PVOID Address)
Definition: stubs.c:685
PVOID UncachedExtensionVirtualBase
Definition: precomp.h:108
ULONG UncachedExtensionSize
Definition: precomp.h:110
PHYSICAL_ADDRESS UncachedExtensionPhysicalBase
Definition: precomp.h:109
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID VirtualAddress
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress
Definition: iotypes.h:1098

Referenced by AhciPortInitialize(), and AhciProcessSrb().

◆ StorPortGetScatterGatherList()

STORPORT_API PSTOR_SCATTER_GATHER_LIST NTAPI StorPortGetScatterGatherList ( _In_ PVOID  DeviceExtension,
_In_ PSCSI_REQUEST_BLOCK  Srb 
)

Definition at line 846 of file storport.c.

849{
850 DPRINT1("StorPortGetScatterGatherList()\n");
852 return NULL;
853}

Referenced by AhciATAPICommand(), and DeviceRequestReadWrite().

◆ StorPortGetSrb()

STORPORT_API PSCSI_REQUEST_BLOCK NTAPI StorPortGetSrb ( _In_ PVOID  DeviceExtension,
_In_ UCHAR  PathId,
_In_ UCHAR  TargetId,
_In_ UCHAR  Lun,
_In_ LONG  QueueTag 
)

Definition at line 862 of file storport.c.

868{
869 DPRINT("StorPortGetSrb()\n");
870 return NULL;
871}
#define DPRINT
Definition: sndvol32.h:71

◆ StorPortGetStartIoPerfParams()

FORCEINLINE ULONG StorPortGetStartIoPerfParams ( _In_ PVOID  HwDeviceExtension,
_In_ PSCSI_REQUEST_BLOCK  Srb,
_Inout_ PSTARTIO_PERFORMANCE_PARAMETERS  StartIoPerfParams 
)

Definition at line 3189 of file storport.h.

3193{
3195 HwDeviceExtension,
3196 Srb,
3197 StartIoPerfParams);
3198}

◆ StorPortGetSystemAddress()

FORCEINLINE ULONG StorPortGetSystemAddress ( _In_ PVOID  HwDeviceExtension,
_In_ PSCSI_REQUEST_BLOCK  Srb,
_Out_ PVOID SystemAddress 
)

Definition at line 3047 of file storport.h.

3051{
3053 HwDeviceExtension,
3054 Srb,
3055 SystemAddress);
3056}

◆ StorPortGetUncachedExtension()

STORPORT_API PVOID NTAPI StorPortGetUncachedExtension ( _In_ PVOID  HwDeviceExtension,
_In_ PPORT_CONFIGURATION_INFORMATION  ConfigInfo,
_In_ ULONG  NumberOfBytes 
)

Definition at line 880 of file storport.c.

884{
885 PMINIPORT_DEVICE_EXTENSION MiniportExtension;
886 PFDO_DEVICE_EXTENSION DeviceExtension;
887 PHYSICAL_ADDRESS LowestAddress, HighestAddress, Alignment;
888
889 DPRINT1("StorPortGetUncachedExtension(%p %p %lu)\n",
890 HwDeviceExtension, ConfigInfo, NumberOfBytes);
891
892 /* Get the miniport extension */
893 MiniportExtension = CONTAINING_RECORD(HwDeviceExtension,
895 HwDeviceExtension);
896 DPRINT1("HwDeviceExtension %p MiniportExtension %p\n",
897 HwDeviceExtension, MiniportExtension);
898
899 DeviceExtension = MiniportExtension->Miniport->DeviceExtension;
900
901 /* Return the uncached extension base address if we already have one */
902 if (DeviceExtension->UncachedExtensionVirtualBase != NULL)
903 return DeviceExtension->UncachedExtensionVirtualBase;
904
905 // FIXME: Set DMA stuff here?
906
907 /* Allocate the uncached extension */
908 Alignment.QuadPart = 0;
909 LowestAddress.QuadPart = 0;
910 HighestAddress.QuadPart = 0x00000000FFFFFFFF;
912 LowestAddress,
913 HighestAddress,
914 Alignment,
915 MmCached);
916 if (DeviceExtension->UncachedExtensionVirtualBase == NULL)
917 return NULL;
918
920 DeviceExtension->UncachedExtensionSize = NumberOfBytes;
921
922 return DeviceExtension->UncachedExtensionVirtualBase;
923}
PVOID NTAPI MmAllocateContiguousMemorySpecifyCache(IN SIZE_T NumberOfBytes, IN PHYSICAL_ADDRESS LowestAcceptableAddress OPTIONAL, IN PHYSICAL_ADDRESS HighestAcceptableAddress, IN PHYSICAL_ADDRESS BoundaryAddressMultiple OPTIONAL, IN MEMORY_CACHING_TYPE CacheType OPTIONAL)
Definition: contmem.c:574
union Alignment_ Alignment
@ MmCached
Definition: mmtypes.h:130

Referenced by AhciAllocateResourceForAdapter().

◆ StorPortGetVirtualAddress()

STORPORT_API PVOID NTAPI StorPortGetVirtualAddress ( _In_ PVOID  HwDeviceExtension,
_In_ STOR_PHYSICAL_ADDRESS  PhysicalAddress 
)

Definition at line 932 of file storport.c.

935{
936 DPRINT1("StorPortGetVirtualAddress(%p %I64x)\n",
937 HwDeviceExtension, PhysicalAddress.QuadPart);
939 return NULL;
940}

◆ StorPortInitialize()

STORPORT_API ULONG NTAPI StorPortInitialize ( _In_ PVOID  Argument1,
_In_ PVOID  Argument2,
_In_ PHW_INITIALIZATION_DATA  HwInitializationData,
_In_opt_ PVOID  Unused 
)

◆ StorPortInitializeDpc()

FORCEINLINE VOID StorPortInitializeDpc ( _In_ PVOID  DeviceExtension,
_Out_ PSTOR_DPC  Dpc,
_In_ PHW_DPC_ROUTINE  HwDpcRoutine 
)

Definition at line 2918 of file storport.h.

2922{
2924 DeviceExtension,
2925 Dpc,
2926 HwDpcRoutine);
2927}
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
Definition: wdfdpc.h:112

Referenced by AhciHwPassiveInitialize().

◆ StorPortInitializePerfOpts()

FORCEINLINE ULONG StorPortInitializePerfOpts ( _In_ PVOID  HwDeviceExtension,
_In_ BOOLEAN  Query,
_Inout_ PPERF_CONFIGURATION_DATA  PerfConfigData 
)

Definition at line 3176 of file storport.h.

3180{
3182 HwDeviceExtension,
3183 Query,
3184 PerfConfigData);
3185}
BOOL Query(LPCTSTR *ServiceArgs, DWORD ArgCount, BOOL bExtended)
Definition: query.c:292

◆ StorPortIssueDpc()

FORCEINLINE BOOLEAN StorPortIssueDpc ( _In_ PVOID  DeviceExtension,
_In_ PSTOR_DPC  Dpc,
_In_ PVOID  SystemArgument1,
_In_ PVOID  SystemArgument2 
)

Definition at line 2931 of file storport.h.

2936{
2937 LONG Succ;
2938 Succ = FALSE;
2940 DeviceExtension,
2941 Dpc,
2944 &Succ);
2945 return (BOOLEAN)Succ;
2946}
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
Definition: ketypes.h:688
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
Definition: ketypes.h:689

Referenced by AhciCompleteIssuedSrb().

◆ StorPortLogError()

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 
)

Definition at line 1056 of file storport.c.

1064{
1065 DPRINT1("ScsiPortLogError() called\n");
1066 DPRINT1("PathId: 0x%02x TargetId: 0x%02x Lun: 0x%02x ErrorCode: 0x%08lx UniqueId: 0x%08lx\n",
1067 PathId, TargetId, Lun, ErrorCode, UniqueId);
1068
1069 DPRINT1("ScsiPortLogError() done\n");
1070}
_In_ ULONG _In_ BOOLEAN _In_ ULONG _In_ UCHAR _In_ UCHAR _In_ UCHAR Lun
Definition: classpnp.h:1315
_In_ ULONG _In_ BOOLEAN _In_ ULONG _In_ UCHAR PathId
Definition: classpnp.h:1313
_In_ ULONG _In_ BOOLEAN _In_ ULONG _In_ UCHAR _In_ UCHAR TargetId
Definition: classpnp.h:1314
_In_ NDIS_ERROR_CODE ErrorCode
Definition: ndis.h:4436

◆ StorPortLogSystemEvent()

FORCEINLINE ULONG StorPortLogSystemEvent ( _In_ PVOID  HwDeviceExtension,
_Inout_ PSTOR_LOG_EVENT_DETAILS  LogDetails,
_Inout_ PULONG  MaximumSize 
)

Definition at line 3202 of file storport.h.

3206{
3208 HwDeviceExtension,
3209 LogDetails,
3210 MaximumSize);
3211}
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ PLARGE_INTEGER MaximumSize
Definition: mmfuncs.h:362

◆ StorPortMoveMemory()

STORPORT_API VOID NTAPI StorPortMoveMemory ( _Out_writes_bytes_(Length) PVOID  WriteBuffer,
_In_reads_bytes_(Length) PVOID  ReadBuffer,
_In_ ULONG  Length 
)

Definition at line 1079 of file storport.c.

1083{
1085}
#define RtlMoveMemory(Destination, Source, Length)
Definition: typedefs.h:264

◆ StorPortNotification()

STORPORT_API VOID __cdecl StorPortNotification ( _In_ SCSI_NOTIFICATION_TYPE  NotificationType,
_In_ PVOID  HwDeviceExtension,
  ... 
)

Definition at line 1093 of file storport.c.

1097{
1098 PMINIPORT_DEVICE_EXTENSION MiniportExtension = NULL;
1099 PFDO_DEVICE_EXTENSION DeviceExtension = NULL;
1100 PHW_PASSIVE_INITIALIZE_ROUTINE HwPassiveInitRoutine;
1101 PSTORPORT_EXTENDED_FUNCTIONS *ppExtendedFunctions;
1103 PSTOR_DPC Dpc;
1104 PHW_DPC_ROUTINE HwDpcRoutine;
1105 va_list ap;
1106
1108 PVOID LockContext;
1111
1112 DPRINT1("StorPortNotification(%x %p)\n",
1113 NotificationType, HwDeviceExtension);
1114
1115 /* Get the miniport extension */
1116 if (HwDeviceExtension != NULL)
1117 {
1118 MiniportExtension = CONTAINING_RECORD(HwDeviceExtension,
1120 HwDeviceExtension);
1121 DPRINT1("HwDeviceExtension %p MiniportExtension %p\n",
1122 HwDeviceExtension, MiniportExtension);
1123
1124 DeviceExtension = MiniportExtension->Miniport->DeviceExtension;
1125 }
1126
1127 va_start(ap, HwDeviceExtension);
1128
1129 switch (NotificationType)
1130 {
1131 case RequestComplete:
1132 DPRINT1("RequestComplete\n");
1134 DPRINT1("Srb %p\n", Srb);
1135 if (Srb->OriginalRequest != NULL)
1136 {
1137 DPRINT1("Need to complete the IRP!\n");
1138
1139 }
1140 break;
1141
1143 DPRINT1("GetExtendedFunctionTable\n");
1145 if (ppExtendedFunctions != NULL)
1146 *ppExtendedFunctions = NULL; /* FIXME */
1147 break;
1148
1150 DPRINT1("EnablePassiveInitialization\n");
1152 DPRINT1("HwPassiveInitRoutine %p\n", HwPassiveInitRoutine);
1154
1155 *Result = FALSE;
1156
1157 if ((DeviceExtension != NULL) &&
1158 (DeviceExtension->HwPassiveInitRoutine == NULL))
1159 {
1160 DeviceExtension->HwPassiveInitRoutine = HwPassiveInitRoutine;
1161 *Result = TRUE;
1162 }
1163 break;
1164
1165 case InitializeDpc:
1166 DPRINT1("InitializeDpc\n");
1168 DPRINT1("Dpc %p\n", Dpc);
1169 HwDpcRoutine = (PHW_DPC_ROUTINE)va_arg(ap, PHW_DPC_ROUTINE);
1170 DPRINT1("HwDpcRoutine %p\n", HwDpcRoutine);
1171
1172 KeInitializeDpc((PRKDPC)&Dpc->Dpc,
1173 (PKDEFERRED_ROUTINE)HwDpcRoutine,
1174 (PVOID)DeviceExtension);
1175 KeInitializeSpinLock(&Dpc->Lock);
1176 break;
1177
1178 case AcquireSpinLock:
1179 DPRINT1("AcquireSpinLock\n");
1181 DPRINT1("SpinLock %lu\n", SpinLock);
1182 LockContext = (PVOID)va_arg(ap, PVOID);
1183 DPRINT1("LockContext %p\n", LockContext);
1185 DPRINT1("LockHandle %p\n", LockHandle);
1186 PortAcquireSpinLock(DeviceExtension,
1187 SpinLock,
1188 LockContext,
1189 LockHandle);
1190 break;
1191
1192 case ReleaseSpinLock:
1193 DPRINT1("ReleaseSpinLock\n");
1195 DPRINT1("LockHandle %p\n", LockHandle);
1196 PortReleaseSpinLock(DeviceExtension,
1197 LockHandle);
1198 break;
1199
1200 default:
1201 DPRINT1("Unsupported Notification %lx\n", NotificationType);
1202 break;
1203 }
1204
1205 va_end(ap);
1206}
char * va_list
Definition: acmsvcex.h:78
#define va_end(ap)
Definition: acmsvcex.h:90
#define va_start(ap, A)
Definition: acmsvcex.h:91
#define va_arg(ap, T)
Definition: acmsvcex.h:89
#define TRUE
Definition: types.h:120
VOID NTAPI KeInitializeDpc(IN PKDPC Dpc, IN PKDEFERRED_ROUTINE DeferredRoutine, IN PVOID DeferredContext)
Definition: dpc.c:712
struct _SCSI_REQUEST_BLOCK * PSCSI_REQUEST_BLOCK
@ RequestComplete
Definition: srb.h:531
#define KeInitializeSpinLock(sl)
Definition: env_spec_w32.h:604
static VOID PortReleaseSpinLock(PFDO_DEVICE_EXTENSION DeviceExtension, PSTOR_LOCK_HANDLE LockHandle)
Definition: storport.c:139
static VOID PortAcquireSpinLock(PFDO_DEVICE_EXTENSION DeviceExtension, STOR_SPINLOCK SpinLock, PVOID LockContext, PSTOR_LOCK_HANDLE LockHandle)
Definition: storport.c:105
BOOLEAN(* PHW_PASSIVE_INITIALIZE_ROUTINE)(_In_ PVOID DeviceExtension)
Definition: storport.h:2254
VOID(* PHW_DPC_ROUTINE)(_In_ PSTOR_DPC Dpc, _In_ PVOID HwDeviceExtension, _In_ PVOID SystemArgument1, _In_ PVOID SystemArgument2)
Definition: storport.h:2259
struct _STOR_LOCK_HANDLE * PSTOR_LOCK_HANDLE
struct _STOR_DPC * PSTOR_DPC
PHW_PASSIVE_INITIALIZE_ROUTINE HwPassiveInitRoutine
Definition: precomp.h:111
Definition: ketypes.h:699
PVOID OriginalRequest
Definition: srb.h:266
unsigned char * PBOOLEAN
Definition: typedefs.h:53
void * PVOID
Definition: typedefs.h:50
_In_ WDF_SPECIAL_FILE_TYPE NotificationType
Definition: wdfdevice.h:1024
void int int ULONGLONG int va_list * ap
Definition: winesup.h:36
_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
Definition: wsk.h:409
KDEFERRED_ROUTINE * PKDEFERRED_ROUTINE
Definition: ketypes.h:690

Referenced by AhciCommandCompletionDpcRoutine(), AhciCompleteIssuedSrb(), AhciHwStartIo(), StorPortAcquireSpinLock(), StorPortEnablePassiveInitialization(), StorPortInitializeDpc(), StorPortIssueDpc(), and StorPortReleaseSpinLock().

◆ StorPortPause()

STORPORT_API BOOLEAN NTAPI StorPortPause ( _In_ PVOID  HwDeviceExtension,
_In_ ULONG  TimeOut 
)

Definition at line 1215 of file storport.c.

1218{
1219 DPRINT1("StorPortPause()\n");
1221 return FALSE;
1222}

◆ StorPortPauseDevice()

STORPORT_API BOOLEAN NTAPI StorPortPauseDevice ( _In_ PVOID  HwDeviceExtension,
_In_ UCHAR  PathId,
_In_ UCHAR  TargetId,
_In_ UCHAR  Lun,
_In_ ULONG  TimeOut 
)

Definition at line 1231 of file storport.c.

1237{
1238 DPRINT1("StorPortPauseDevice()\n");
1240 return FALSE;
1241}

◆ StorPortPutScatterGatherList()

FORCEINLINE ULONG StorPortPutScatterGatherList ( _In_ PVOID  HwDeviceExtension,
_In_ PSTOR_SCATTER_GATHER_LIST  ScatterGatherList,
_In_ BOOLEAN  WriteToDevice 
)

Definition at line 3124 of file storport.h.

3128{
3130 HwDeviceExtension,
3131 ScatterGatherList,
3133}

◆ StorPortQuerySystemTime()

STORPORT_API VOID NTAPI StorPortQuerySystemTime ( _Out_ PLARGE_INTEGER  CurrentTime)

◆ StorPortReadPortBufferUchar()

STORPORT_API VOID NTAPI StorPortReadPortBufferUchar ( _In_ PVOID  HwDeviceExtension,
_In_ PUCHAR  Port,
_In_ PUCHAR  Buffer,
_In_ ULONG  Count 
)

Definition at line 21 of file stubs.c.

26{
28}
VOID NTAPI READ_PORT_BUFFER_UCHAR(IN PUCHAR Port, OUT PUCHAR Buffer, IN ULONG Count)
Definition: portio.c:26
CPPORT Port[4]
Definition: headless.c:35
int Count
Definition: noreturn.cpp:7

◆ StorPortReadPortBufferUlong()

STORPORT_API VOID NTAPI StorPortReadPortBufferUlong ( _In_ PVOID  HwDeviceExtension,
_In_ PULONG  Port,
_In_ PULONG  Buffer,
_In_ ULONG  Count 
)

Definition at line 34 of file stubs.c.

39{
41}
VOID NTAPI READ_PORT_BUFFER_ULONG(IN PULONG Port, OUT PULONG Buffer, IN ULONG Count)
Definition: portio.c:46

◆ StorPortReadPortBufferUshort()

STORPORT_API VOID NTAPI StorPortReadPortBufferUshort ( _In_ PVOID  HwDeviceExtension,
_In_ PUSHORT  Port,
_In_ PUSHORT  Buffer,
_In_ ULONG  Count 
)

Definition at line 47 of file stubs.c.

52{
54}
VOID NTAPI READ_PORT_BUFFER_USHORT(IN PUSHORT Port, OUT PUSHORT Buffer, IN ULONG Count)
Definition: portio.c:36

◆ StorPortReadPortUchar()

STORPORT_API UCHAR NTAPI StorPortReadPortUchar ( _In_ PVOID  HwDeviceExtension,
_In_ PUCHAR  Port 
)

Definition at line 60 of file stubs.c.

63{
64 return READ_PORT_UCHAR(Port);
65}
#define READ_PORT_UCHAR(p)
Definition: pc98vid.h:22

◆ StorPortReadPortUlong()

STORPORT_API ULONG NTAPI StorPortReadPortUlong ( _In_ PVOID  HwDeviceExtension,
_In_ PULONG  Port 
)

Definition at line 71 of file stubs.c.

74{
75 return READ_PORT_ULONG(Port);
76}
ULONG NTAPI READ_PORT_ULONG(IN PULONG Port)
Definition: portio.c:70

◆ StorPortReadPortUshort()

STORPORT_API USHORT NTAPI StorPortReadPortUshort ( _In_ PVOID  HwDeviceExtension,
_In_ PUSHORT  Port 
)

Definition at line 82 of file stubs.c.

85{
86 return READ_PORT_USHORT(Port);
87}
USHORT NTAPI READ_PORT_USHORT(IN PUSHORT Port)
Definition: portio.c:63

◆ StorPortReadRegisterBufferUchar()

STORPORT_API VOID NTAPI StorPortReadRegisterBufferUchar ( _In_ PVOID  HwDeviceExtension,
_In_ PUCHAR  Register,
_In_ PUCHAR  Buffer,
_In_ ULONG  Count 
)

Definition at line 93 of file stubs.c.

98{
100}
NTKERNELAPI VOID NTAPI READ_REGISTER_BUFFER_UCHAR(IN PUCHAR Register, IN PUCHAR Buffer, IN ULONG Count)

◆ StorPortReadRegisterBufferUlong()

STORPORT_API VOID NTAPI StorPortReadRegisterBufferUlong ( _In_ PVOID  HwDeviceExtension,
_In_ PULONG  Register,
_In_ PULONG  Buffer,
_In_ ULONG  Count 
)

Definition at line 106 of file stubs.c.

111{
113}
NTKERNELAPI VOID NTAPI READ_REGISTER_BUFFER_ULONG(IN PULONG Register, IN PULONG Buffer, IN ULONG Count)

◆ StorPortReadRegisterBufferUshort()

STORPORT_API VOID NTAPI StorPortReadRegisterBufferUshort ( _In_ PVOID  HwDeviceExtension,
_In_ PUSHORT  Register,
_In_ PUSHORT  Buffer,
_In_ ULONG  Count 
)

Definition at line 119 of file stubs.c.

124{
126}
NTKERNELAPI VOID NTAPI READ_REGISTER_BUFFER_USHORT(IN PUSHORT Register, IN PUSHORT Buffer, IN ULONG Count)

◆ StorPortReadRegisterUchar()

STORPORT_API UCHAR NTAPI StorPortReadRegisterUchar ( _In_ PVOID  HwDeviceExtension,
_In_ PUCHAR  Register 
)

Definition at line 132 of file stubs.c.

135{
137}
NTKERNELAPI UCHAR NTAPI READ_REGISTER_UCHAR(IN PUCHAR Register)

◆ StorPortReadRegisterUlong()

STORPORT_API ULONG NTAPI StorPortReadRegisterUlong ( _In_ PVOID  HwDeviceExtension,
_In_ PULONG  Register 
)

◆ StorPortReadRegisterUshort()

STORPORT_API USHORT NTAPI StorPortReadRegisterUshort ( _In_ PVOID  HwDeviceExtension,
_In_ PUSHORT  Register 
)

Definition at line 154 of file stubs.c.

157{
159}
#define READ_REGISTER_USHORT(r)
Definition: arm.h:23

◆ StorPortReady()

STORPORT_API BOOLEAN NTAPI StorPortReady ( _In_ PVOID  HwDeviceExtension)

Definition at line 1269 of file storport.c.

1271{
1272 DPRINT1("StorPortReady()\n");
1274 return FALSE;
1275}

◆ StorPortRegistryRead()

STORPORT_API BOOLEAN NTAPI StorPortRegistryRead ( _In_ PVOID  HwDeviceExtension,
_In_ PUCHAR  ValueName,
_In_ ULONG  Global,
_In_ ULONG  Type,
_In_ PUCHAR  Buffer,
_In_ PULONG  BufferLength 
)

Definition at line 1284 of file storport.c.

1291{
1292 DPRINT1("StorPortRegistryRead()\n");
1294 return FALSE;
1295}

◆ StorPortRegistryWrite()

STORPORT_API BOOLEAN NTAPI StorPortRegistryWrite ( _In_ PVOID  HwDeviceExtension,
_In_ PUCHAR  ValueName,
_In_ ULONG  Global,
_In_ ULONG  Type,
_In_ PUCHAR  Buffer,
_In_ ULONG  BufferLength 
)

Definition at line 1304 of file storport.c.

1311{
1312 DPRINT1("StorPortRegistryWrite()\n");
1314 return FALSE;
1315}

◆ StorPortReleaseMSISpinLock()

FORCEINLINE ULONG StorPortReleaseMSISpinLock ( _In_ PVOID  HwDeviceExtension,
_In_ ULONG  MessageId,
_In_ ULONG  OldIrql 
)

Definition at line 3150 of file storport.h.

3154{
3156 HwDeviceExtension,
3157 MessageId,
3158 OldIrql);
3159}

◆ StorPortReleaseSpinLock()

FORCEINLINE VOID StorPortReleaseSpinLock ( _In_ PVOID  DeviceExtension,
_Inout_ PSTOR_LOCK_HANDLE  LockHandle 
)

Definition at line 2965 of file storport.h.

2968{
2970 DeviceExtension,
2971 LockHandle);
2972}

Referenced by AhciCommandCompletionDpcRoutine(), AhciHwResetBus(), and AhciProcessIO().

◆ StorPortResume()

STORPORT_API BOOLEAN NTAPI StorPortResume ( _In_ PVOID  HwDeviceExtension)

Definition at line 1324 of file storport.c.

1326{
1327 DPRINT1("StorPortResume()\n");
1329 return FALSE;
1330}

◆ StorPortResumeDevice()

STORPORT_API BOOLEAN NTAPI StorPortResumeDevice ( _In_ PVOID  HwDeviceExtension,
_In_ UCHAR  PathId,
_In_ UCHAR  TargetId,
_In_ UCHAR  Lun 
)

Definition at line 1339 of file storport.c.

1344{
1345 DPRINT1("StorPortResumeDevice()\n");
1347 return FALSE;
1348}

◆ StorPortSetBusDataByOffset()

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 
)

Definition at line 1357 of file storport.c.

1365{
1366 PMINIPORT_DEVICE_EXTENSION MiniportExtension;
1369
1370 DPRINT1("StorPortSetBusData(%p %lu %lu %lu %p %lu %lu)\n",
1371 DeviceExtension, BusDataType, SystemIoBusNumber, SlotNumber, Buffer, Offset, Length);
1372
1373 MiniportExtension = CONTAINING_RECORD(DeviceExtension,
1375 HwDeviceExtension);
1376 DPRINT1("DeviceExtension %p MiniportExtension %p\n",
1377 DeviceExtension, MiniportExtension);
1378
1379 Interface = &MiniportExtension->Miniport->DeviceExtension->BusInterface;
1380
1381 ReturnLength = Interface->SetBusData(Interface->Context,
1382 BusDataType,
1383 Buffer,
1384 Offset,
1385 Length);
1386 DPRINT1("ReturnLength: %lu\n", ReturnLength);
1387
1388 return ReturnLength;
1389}

◆ StorPortSetDeviceQueueDepth()

STORPORT_API BOOLEAN NTAPI StorPortSetDeviceQueueDepth ( _In_ PVOID  HwDeviceExtension,
_In_ UCHAR  PathId,
_In_ UCHAR  TargetId,
_In_ UCHAR  Lun,
_In_ ULONG  Depth 
)

Definition at line 1398 of file storport.c.

1404{
1405 DPRINT1("StorPortSetDeviceQueueDepth()\n");
1407 return FALSE;
1408}

Referenced by AtapiInquiryCompletion(), and InquiryCompletion().

◆ StorPortStallExecution()

STORPORT_API VOID NTAPI StorPortStallExecution ( _In_ ULONG  Delay)

Definition at line 1417 of file storport.c.

1419{
1421}
VOID NTAPI KeStallExecutionProcessor(IN ULONG MicroSeconds)
Definition: ntoskrnl.c:81

Referenced by AhciAdapterReset(), AhciPortInitialize(), and AhciStartPort().

◆ StorPortSynchronizeAccess()

STORPORT_API VOID NTAPI StorPortSynchronizeAccess ( _In_ PVOID  HwDeviceExtension,
_In_ PSTOR_SYNCHRONIZED_ACCESS  SynchronizedAccessRoutine,
_In_opt_ PVOID  Context 
)

Definition at line 1430 of file storport.c.

1434{
1435 DPRINT1("StorPortSynchronizeAccess()\n");
1437}

◆ StorPortValidateRange()

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 
)

Definition at line 1446 of file storport.c.

1453{
1454 DPRINT1("StorPortValidateRange()\n");
1455 return TRUE;
1456}

◆ StorPortWritePortBufferUchar()

STORPORT_API VOID NTAPI StorPortWritePortBufferUchar ( _In_ PVOID  HwDeviceExtension,
_In_ PUCHAR  Port,
_In_ PUCHAR  Buffer,
_In_ ULONG  Count 
)

Definition at line 165 of file stubs.c.

170{
172}
VOID NTAPI WRITE_PORT_BUFFER_UCHAR(IN PUCHAR Port, IN PUCHAR Buffer, IN ULONG Count)
Definition: portio.c:77

◆ StorPortWritePortBufferUlong()

STORPORT_API VOID NTAPI StorPortWritePortBufferUlong ( _In_ PVOID  HwDeviceExtension,
_In_ PULONG  Port,
_In_ PULONG  Buffer,
_In_ ULONG  Count 
)

Definition at line 178 of file stubs.c.

183{
185}
VOID NTAPI WRITE_PORT_BUFFER_ULONG(IN PULONG Port, IN PULONG Buffer, IN ULONG Count)
Definition: portio.c:97

◆ StorPortWritePortBufferUshort()

STORPORT_API VOID NTAPI StorPortWritePortBufferUshort ( _In_ PVOID  HwDeviceExtension,
_In_ PUSHORT  Port,
_In_ PUSHORT  Buffer,
_In_ ULONG  Count 
)

Definition at line 191 of file stubs.c.

196{
198}
VOID NTAPI WRITE_PORT_BUFFER_USHORT(IN PUSHORT Port, IN PUSHORT Buffer, IN ULONG Count)
Definition: portio.c:87

◆ StorPortWritePortUchar()

STORPORT_API VOID NTAPI StorPortWritePortUchar ( _In_ PVOID  HwDeviceExtension,
_In_ PUCHAR  Port,
_In_ UCHAR  Value 
)

Definition at line 204 of file stubs.c.

208{
210}
#define WRITE_PORT_UCHAR(p, d)
Definition: pc98vid.h:21
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413

◆ StorPortWritePortUlong()

STORPORT_API VOID NTAPI StorPortWritePortUlong ( _In_ PVOID  HwDeviceExtension,
_In_ PULONG  Port,
_In_ ULONG  Value 
)

Definition at line 216 of file stubs.c.

220{
222}
VOID NTAPI WRITE_PORT_ULONG(IN PULONG Port, IN ULONG Value)
Definition: portio.c:123

◆ StorPortWritePortUshort()

STORPORT_API VOID NTAPI StorPortWritePortUshort ( _In_ PVOID  HwDeviceExtension,
_In_ PUSHORT  Port,
_In_ USHORT  Value 
)

Definition at line 228 of file stubs.c.

232{
234}
VOID NTAPI WRITE_PORT_USHORT(IN PUSHORT Port, IN USHORT Value)
Definition: portio.c:115

◆ StorPortWriteRegisterBufferUchar()

STORPORT_API VOID NTAPI StorPortWriteRegisterBufferUchar ( _In_ PVOID  HwDeviceExtension,
_In_ PUCHAR  Register,
_In_ PUCHAR  Buffer,
_In_ ULONG  Count 
)

Definition at line 240 of file stubs.c.

245{
247}
NTKERNELAPI VOID NTAPI WRITE_REGISTER_BUFFER_UCHAR(IN PUCHAR Register, IN PUCHAR Buffer, IN ULONG Count)

◆ StorPortWriteRegisterBufferUlong()

STORPORT_API VOID NTAPI StorPortWriteRegisterBufferUlong ( _In_ PVOID  HwDeviceExtension,
_In_ PULONG  Register,
_In_ PULONG  Buffer,
_In_ ULONG  Count 
)

Definition at line 253 of file stubs.c.

258{
260}
NTKERNELAPI VOID NTAPI WRITE_REGISTER_BUFFER_ULONG(IN PULONG Register, IN PULONG Buffer, IN ULONG Count)

◆ StorPortWriteRegisterBufferUshort()

STORPORT_API VOID NTAPI StorPortWriteRegisterBufferUshort ( _In_ PVOID  HwDeviceExtension,
_In_ PUSHORT  Register,
_In_ PUSHORT  Buffer,
_In_ ULONG  Count 
)

Definition at line 266 of file stubs.c.

271{
273}
NTKERNELAPI VOID NTAPI WRITE_REGISTER_BUFFER_USHORT(IN PUSHORT Register, IN PUSHORT Buffer, IN ULONG Count)

◆ StorPortWriteRegisterUchar()

STORPORT_API VOID NTAPI StorPortWriteRegisterUchar ( _In_ PVOID  HwDeviceExtension,
_In_ PUCHAR  Register,
_In_ UCHAR  Value 
)

Definition at line 279 of file stubs.c.

283{
285}
NTKERNELAPI VOID NTAPI WRITE_REGISTER_UCHAR(IN PUCHAR Register, IN UCHAR Value)

◆ StorPortWriteRegisterUlong()

STORPORT_API VOID NTAPI StorPortWriteRegisterUlong ( _In_ PVOID  HwDeviceExtension,
_In_ PULONG  Register,
_In_ ULONG  Value 
)

Definition at line 291 of file stubs.c.

295{
297}
#define WRITE_REGISTER_ULONG(r, v)
Definition: arm.h:21

Referenced by AhciActivatePort(), AhciAdapterReset(), AhciHwFindAdapter(), AhciInterruptHandler(), AhciPortInitialize(), and AhciStartPort().

◆ StorPortWriteRegisterUshort()

STORPORT_API VOID NTAPI StorPortWriteRegisterUshort ( _In_ PVOID  HwDeviceExtension,
_In_ PUSHORT  Register,
_In_ USHORT  Value 
)

Definition at line 303 of file stubs.c.

307{
309}
#define WRITE_REGISTER_USHORT(r, v)
Definition: arm.h:24