ReactOS  0.4.14-dev-342-gdc047f9
srb.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _ACCESS_RANGE
 
struct  _PORT_CONFIGURATION_INFORMATION
 
struct  _SCSI_SUPPORTED_CONTROL_TYPE_LIST
 
struct  _SCSI_REQUEST_BLOCK
 
struct  _SCSI_WMI_REQUEST_BLOCK
 
struct  _SCSI_POWER_REQUEST_BLOCK
 
struct  _STOR_DEVICE_CAPABILITIES
 
struct  _SCSI_PNP_REQUEST_BLOCK
 
struct  _HW_INITIALIZATION_DATA
 

Macros

#define SCSI_MAXIMUM_LOGICAL_UNITS   8
 
#define SCSI_MAXIMUM_TARGETS_PER_BUS   128
 
#define SCSI_MAXIMUM_LUNS_PER_TARGET   255
 
#define SCSI_MAXIMUM_BUSES   8
 
#define SCSI_MINIMUM_PHYSICAL_BREAKS   16
 
#define SCSI_MAXIMUM_PHYSICAL_BREAKS   255
 
#define SCSI_MAXIMUM_TARGETS   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 SRBEV_BUS_RESET   0x0001
 
#define SRBEV_SCSI_ASYNC_NOTIFICATION   0x0002
 
#define MAXIMUM_CDB_SIZE   12
 
#define DebugPrint(x)
 
#define SCSI_COMBINE_BUS_TARGET(Bus, Target)
 
#define SCSI_DECODE_BUS_TARGET(Value, Bus, Target)
 
#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   0x0001
 
#define SRB_POWER_FLAGS_ADAPTER_REQUEST   0x0001
 
#define SRB_PNP_FLAGS_ADAPTER_REQUEST   0x0001
 
#define SP_BUS_PARITY_ERROR   0x0001
 
#define SP_UNEXPECTED_DISCONNECT   0x0002
 
#define SP_INVALID_RESELECTION   0x0003
 
#define SP_BUS_TIME_OUT   0x0004
 
#define SP_PROTOCOL_ERROR   0x0005
 
#define SP_INTERNAL_ADAPTER_ERROR   0x0006
 
#define SP_REQUEST_TIMEOUT   0x0007
 
#define SP_IRQ_NOT_RESPONDING   0x0008
 
#define SP_BAD_FW_WARNING   0x0009
 
#define SP_BAD_FW_ERROR   0x000a
 
#define SP_LOST_WMI_MINIPORT_REQUEST   0x000b
 
#define SP_VER_TRACE_SUPPORT   0x0010
 
#define SP_RETURN_NOT_FOUND   0
 
#define SP_RETURN_FOUND   1
 
#define SP_RETURN_ERROR   2
 
#define SP_RETURN_BAD_CONFIG   3
 
#define CONFIG_INFO_VERSION_2   sizeof(PORT_CONFIGURATION_INFORMATION)
 
#define SCSI_REQUEST_BLOCK_SIZE   sizeof(SCSI_REQUEST_BLOCK)
 
#define SCSIPORTAPI   DECLSPEC_IMPORT
 
#define ScsiPortConvertPhysicalAddressToUlong(Address)   ((Address).LowPart)
 
#define ScsiPortConvertPhysicalAddressToULongPtr(Address)   ((ULONG_PTR)((Address).QuadPart))
 

Typedefs

typedef PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS
 
typedef PHYSICAL_ADDRESSPSCSI_PHYSICAL_ADDRESS
 
typedef struct _ACCESS_RANGE ACCESS_RANGE
 
typedef struct _ACCESS_RANGEPACCESS_RANGE
 
typedef struct _PORT_CONFIGURATION_INFORMATION PORT_CONFIGURATION_INFORMATION
 
typedef struct _PORT_CONFIGURATION_INFORMATIONPPORT_CONFIGURATION_INFORMATION
 
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 struct _SCSI_SUPPORTED_CONTROL_TYPE_LIST SCSI_SUPPORTED_CONTROL_TYPE_LIST
 
typedef struct _SCSI_SUPPORTED_CONTROL_TYPE_LISTPSCSI_SUPPORTED_CONTROL_TYPE_LIST
 
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 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 struct _SCSI_POWER_REQUEST_BLOCK SCSI_POWER_REQUEST_BLOCK
 
typedef struct _SCSI_POWER_REQUEST_BLOCKPSCSI_POWER_REQUEST_BLOCK
 
typedef enum _STOR_PNP_ACTION STOR_PNP_ACTION
 
typedef enum _STOR_PNP_ACTIONPSTOR_PNP_ACTION
 
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 _Must_inspect_result_ BOOLEAN(NTAPIPHW_INITIALIZE) (_In_ PVOID DeviceExtension)
 
typedef _Must_inspect_result_ BOOLEAN(NTAPIPHW_STARTIO) (_In_ PVOID DeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb)
 
typedef _Must_inspect_result_ BOOLEAN(NTAPIPHW_INTERRUPT) (_In_ PVOID DeviceExtension)
 
typedef VOID(NTAPIPHW_TIMER) (_In_ PVOID DeviceExtension)
 
typedef VOID(NTAPIPHW_DMA_STARTED) (_In_ PVOID DeviceExtension)
 
typedef _Must_inspect_result_ ULONG(NTAPIPHW_FIND_ADAPTER) (_In_ PVOID DeviceExtension, _In_ PVOID HwContext, _In_ PVOID BusInformation, _In_ PCHAR ArgumentString, _Inout_ PPORT_CONFIGURATION_INFORMATION ConfigInfo, _Out_ PBOOLEAN Again)
 
typedef _Must_inspect_result_ BOOLEAN(NTAPIPHW_RESET_BUS) (_In_ PVOID DeviceExtension, _In_ ULONG PathId)
 
typedef _Must_inspect_result_ BOOLEAN(NTAPIPHW_ADAPTER_STATE) (_In_ PVOID DeviceExtension, _In_ PVOID Context, _In_ BOOLEAN SaveState)
 
typedef _Must_inspect_result_ SCSI_ADAPTER_CONTROL_STATUS(NTAPIPHW_ADAPTER_CONTROL) (_In_ PVOID DeviceExtension, _In_ SCSI_ADAPTER_CONTROL_TYPE ControlType, _In_ PVOID Parameters)
 
typedef enum _SCSI_NOTIFICATION_TYPE SCSI_NOTIFICATION_TYPE
 
typedef enum _SCSI_NOTIFICATION_TYPEPSCSI_NOTIFICATION_TYPE
 
typedef struct _HW_INITIALIZATION_DATA HW_INITIALIZATION_DATA
 
typedef struct _HW_INITIALIZATION_DATAPHW_INITIALIZATION_DATA
 

Enumerations

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  _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  _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
}
 

Functions

SCSIPORTAPI VOID NTAPI ScsiPortCompleteRequest (_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun, _In_ UCHAR SrbStatus)
 
_Must_inspect_result_ SCSIPORTAPI ULONG NTAPI ScsiPortConvertPhysicalAddressToUlong (_In_ SCSI_PHYSICAL_ADDRESS Address)
 
_Must_inspect_result_ SCSIPORTAPI SCSI_PHYSICAL_ADDRESS NTAPI ScsiPortConvertUlongToPhysicalAddress (_In_ ULONG_PTR UlongAddress)
 
SCSIPORTAPI VOID NTAPI ScsiPortFlushDma (_In_ PVOID DeviceExtension)
 
SCSIPORTAPI VOID NTAPI ScsiPortFreeDeviceBase (_In_ PVOID HwDeviceExtension, _In_ PVOID MappedAddress)
 
_Must_inspect_result_ SCSIPORTAPI ULONG NTAPI ScsiPortGetBusData (_In_ PVOID DeviceExtension, _In_ ULONG BusDataType, _In_ ULONG SystemIoBusNumber, _In_ ULONG SlotNumber, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Length)
 
_Must_inspect_result_ SCSIPORTAPI PVOID NTAPI ScsiPortGetDeviceBase (_In_ PVOID HwDeviceExtension, _In_ INTERFACE_TYPE BusType, _In_ ULONG SystemIoBusNumber, _In_ SCSI_PHYSICAL_ADDRESS IoAddress, _In_ ULONG NumberOfBytes, _In_ BOOLEAN InIoSpace)
 
_Must_inspect_result_ SCSIPORTAPI PVOID NTAPI ScsiPortGetLogicalUnit (_In_ PVOID HwDeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun)
 
_Must_inspect_result_ SCSIPORTAPI SCSI_PHYSICAL_ADDRESS NTAPI ScsiPortGetPhysicalAddress (_In_ PVOID HwDeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb, _In_ PVOID VirtualAddress, _Out_ ULONG *Length)
 
_Must_inspect_result_ SCSIPORTAPI PSCSI_REQUEST_BLOCK NTAPI ScsiPortGetSrb (_In_ PVOID DeviceExtension, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun, _In_ LONG QueueTag)
 
_Must_inspect_result_ SCSIPORTAPI PVOID NTAPI ScsiPortGetUncachedExtension (_In_ PVOID HwDeviceExtension, _In_ PPORT_CONFIGURATION_INFORMATION ConfigInfo, _In_ ULONG NumberOfBytes)
 
_Must_inspect_result_ SCSIPORTAPI PVOID NTAPI ScsiPortGetVirtualAddress (_In_ PVOID HwDeviceExtension, _In_ SCSI_PHYSICAL_ADDRESS PhysicalAddress)
 
_Must_inspect_result_ _IRQL_requires_max_ (PASSIVE_LEVEL) SCSIPORTAPI ULONG NTAPI ScsiPortInitialize(_In_ PVOID Argument1
 
SCSIPORTAPI VOID NTAPI ScsiPortIoMapTransfer (_In_ PVOID HwDeviceExtension, _In_ PSCSI_REQUEST_BLOCK Srb, _In_ PVOID LogicalAddress, _In_ ULONG Length)
 
SCSIPORTAPI VOID NTAPI ScsiPortLogError (_In_ PVOID HwDeviceExtension, _In_opt_ PSCSI_REQUEST_BLOCK Srb, _In_ UCHAR PathId, _In_ UCHAR TargetId, _In_ UCHAR Lun, _In_ ULONG ErrorCode, _In_ ULONG UniqueId)
 
SCSIPORTAPI VOID __cdecl ScsiPortNotification (_In_ SCSI_NOTIFICATION_TYPE NotificationType, _In_ PVOID HwDeviceExtension,...)
 
SCSIPORTAPI VOID NTAPI ScsiPortQuerySystemTime (_Out_ PLARGE_INTEGER CurrentTime)
 
_Must_inspect_result_ SCSIPORTAPI ULONG NTAPI ScsiPortSetBusDataByOffset (_In_ PVOID DeviceExtension, _In_ ULONG BusDataType, _In_ ULONG SystemIoBusNumber, _In_ ULONG SlotNumber, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
 
SCSIPORTAPI VOID NTAPI ScsiPortStallExecution (_In_ ULONG Delay)
 
_Must_inspect_result_ SCSIPORTAPI BOOLEAN NTAPI ScsiPortValidateRange (_In_ PVOID HwDeviceExtension, _In_ INTERFACE_TYPE BusType, _In_ ULONG SystemIoBusNumber, _In_ SCSI_PHYSICAL_ADDRESS IoAddress, _In_ ULONG NumberOfBytes, _In_ BOOLEAN InIoSpace)
 
SCSIPORTAPI VOID __cdecl ScsiDebugPrint (ULONG DebugPrintLevel, PCCHAR DebugMessage,...)
 
_Must_inspect_result_ SCSIPORTAPI UCHAR NTAPI ScsiPortReadPortUchar (_In_ PUCHAR Port)
 
_Must_inspect_result_ SCSIPORTAPI ULONG NTAPI ScsiPortReadPortUlong (_In_ PULONG Port)
 
_Must_inspect_result_ SCSIPORTAPI USHORT NTAPI ScsiPortReadPortUshort (_In_ PUSHORT Port)
 
SCSIPORTAPI VOID NTAPI ScsiPortReadPortBufferUchar (_In_ PUCHAR Port, _In_ PUCHAR Buffer, _In_ ULONG Count)
 
SCSIPORTAPI VOID NTAPI ScsiPortReadPortBufferUlong (_In_ PULONG Port, _In_ PULONG Buffer, _In_ ULONG Count)
 
SCSIPORTAPI VOID NTAPI ScsiPortReadPortBufferUshort (_In_ PUSHORT Port, _In_ PUSHORT Buffer, _In_ ULONG Count)
 
_Must_inspect_result_ SCSIPORTAPI UCHAR NTAPI ScsiPortReadRegisterUchar (_In_ PUCHAR Register)
 
_Must_inspect_result_ SCSIPORTAPI ULONG NTAPI ScsiPortReadRegisterUlong (_In_ PULONG Register)
 
_Must_inspect_result_ SCSIPORTAPI USHORT NTAPI ScsiPortReadRegisterUshort (_In_ PUSHORT Register)
 
SCSIPORTAPI VOID NTAPI ScsiPortReadRegisterBufferUchar (_In_ PUCHAR Register, _In_ PUCHAR Buffer, _In_ ULONG Count)
 
SCSIPORTAPI VOID NTAPI ScsiPortReadRegisterBufferUlong (_In_ PULONG Register, _In_ PULONG Buffer, _In_ ULONG Count)
 
SCSIPORTAPI VOID NTAPI ScsiPortReadRegisterBufferUshort (_In_ PUSHORT Register, _In_ PUSHORT Buffer, _In_ ULONG Count)
 
SCSIPORTAPI VOID NTAPI ScsiPortWritePortUchar (_In_ PUCHAR Port, _In_ UCHAR Value)
 
SCSIPORTAPI VOID NTAPI ScsiPortWritePortUlong (_In_ PULONG Port, _In_ ULONG Value)
 
SCSIPORTAPI VOID NTAPI ScsiPortWritePortUshort (_In_ PUSHORT Port, _In_ USHORT Value)
 
SCSIPORTAPI VOID NTAPI ScsiPortWritePortBufferUchar (_In_ PUCHAR Port, _In_ PUCHAR Buffer, _In_ ULONG Count)
 
SCSIPORTAPI VOID NTAPI ScsiPortWritePortBufferUlong (_In_ PULONG Port, _In_ PULONG Buffer, _In_ ULONG Count)
 
SCSIPORTAPI VOID NTAPI ScsiPortWritePortBufferUshort (_In_ PUSHORT Port, _In_ PUSHORT Buffer, _In_ ULONG Count)
 
SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterUchar (_In_ PUCHAR Register, _In_ UCHAR Value)
 
SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterUlong (_In_ PULONG Register, _In_ ULONG Value)
 
SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterUshort (_In_ PUSHORT Register, _In_ USHORT Value)
 
SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterBufferUchar (_In_ PUCHAR Register, _In_ PUCHAR Buffer, _In_ ULONG Count)
 
SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterBufferUlong (_In_ PULONG Register, _In_ PULONG Buffer, _In_ ULONG Count)
 
SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterBufferUshort (_In_ PUSHORT Register, _In_ PUSHORT Buffer, _In_ ULONG Count)
 
SCSIPORTAPI VOID NTAPI ScsiPortMoveMemory (_In_ PVOID WriteBuffer, _In_ PVOID ReadBuffer, _In_ ULONG Length)
 

Variables

_Must_inspect_result_ _In_ PVOID Argument2
 
_Must_inspect_result_ _In_ PVOID _In_ struct _HW_INITIALIZATION_DATAHwInitializationData
 
_Must_inspect_result_ _In_ PVOID _In_ struct _HW_INITIALIZATION_DATA _In_ PVOID HwContext
 

Macro Definition Documentation

◆ CONFIG_INFO_VERSION_2

#define CONFIG_INFO_VERSION_2   sizeof(PORT_CONFIGURATION_INFORMATION)

Definition at line 251 of file srb.h.

◆ DebugPrint

#define DebugPrint (   x)

Definition at line 57 of file srb.h.

◆ MAXIMUM_CDB_SIZE

#define MAXIMUM_CDB_SIZE   12

Definition at line 52 of file srb.h.

◆ SCSI_COMBINE_BUS_TARGET

#define SCSI_COMBINE_BUS_TARGET (   Bus,
  Target 
)
Value:
( \
((((UCHAR) (Target)) & ~(0x20 - 1)) << 8) | \
(((UCHAR) (Bus)) << 5) | \
(((UCHAR) (Target)) & (0x20 - 1)))
_Must_inspect_result_ typedef _In_ ULONG _In_ BOOLEAN Target
Definition: iotypes.h:1068
unsigned char UCHAR
Definition: xmlstorage.h:181

Definition at line 60 of file srb.h.

◆ SCSI_DECODE_BUS_TARGET

#define SCSI_DECODE_BUS_TARGET (   Value,
  Bus,
  Target 
)
Value:
( \
Bus = (UCHAR) ((Value) >> 5), \
Target = (UCHAR) ((((Value) >> 8) & ~(0x20 - 1)) | ((Value) & (0x20 - 1))))
_In_opt_ ULONG _Out_ PULONG Value
Definition: rtlfuncs.h:2343
_Must_inspect_result_ typedef _In_ ULONG _In_ BOOLEAN Target
Definition: iotypes.h:1068
unsigned char UCHAR
Definition: xmlstorage.h:181

Definition at line 65 of file srb.h.

◆ SCSI_DMA64_MINIPORT_SUPPORTED

#define SCSI_DMA64_MINIPORT_SUPPORTED   0x01

Definition at line 39 of file srb.h.

◆ SCSI_DMA64_SYSTEM_SUPPORTED

#define SCSI_DMA64_SYSTEM_SUPPORTED   0x80

Definition at line 40 of file srb.h.

◆ SCSI_MAXIMUM_BUSES

#define SCSI_MAXIMUM_BUSES   8

Definition at line 33 of file srb.h.

◆ SCSI_MAXIMUM_LOGICAL_UNITS

#define SCSI_MAXIMUM_LOGICAL_UNITS   8

Definition at line 30 of file srb.h.

◆ SCSI_MAXIMUM_LUNS_PER_TARGET

#define SCSI_MAXIMUM_LUNS_PER_TARGET   255

Definition at line 32 of file srb.h.

◆ SCSI_MAXIMUM_PHYSICAL_BREAKS

#define SCSI_MAXIMUM_PHYSICAL_BREAKS   255

Definition at line 35 of file srb.h.

◆ SCSI_MAXIMUM_TARGETS

#define SCSI_MAXIMUM_TARGETS   8

Definition at line 36 of file srb.h.

◆ SCSI_MAXIMUM_TARGETS_PER_BUS

#define SCSI_MAXIMUM_TARGETS_PER_BUS   128

Definition at line 31 of file srb.h.

◆ SCSI_MINIMUM_PHYSICAL_BREAKS

#define SCSI_MINIMUM_PHYSICAL_BREAKS   16

Definition at line 34 of file srb.h.

◆ SCSI_REQUEST_BLOCK_SIZE

#define SCSI_REQUEST_BLOCK_SIZE   sizeof(SCSI_REQUEST_BLOCK)

Definition at line 307 of file srb.h.

◆ SCSIPORTAPI

#define SCSIPORTAPI   DECLSPEC_IMPORT

Definition at line 541 of file srb.h.

◆ ScsiPortConvertPhysicalAddressToUlong

#define ScsiPortConvertPhysicalAddressToUlong (   Address)    ((Address).LowPart)

Definition at line 561 of file srb.h.

◆ ScsiPortConvertPhysicalAddressToULongPtr

#define ScsiPortConvertPhysicalAddressToULongPtr (   Address)    ((ULONG_PTR)((Address).QuadPart))

Definition at line 562 of file srb.h.

◆ SP_BAD_FW_ERROR

#define SP_BAD_FW_ERROR   0x000a

Definition at line 179 of file srb.h.

◆ SP_BAD_FW_WARNING

#define SP_BAD_FW_WARNING   0x0009

Definition at line 178 of file srb.h.

◆ SP_BUS_PARITY_ERROR

#define SP_BUS_PARITY_ERROR   0x0001

Definition at line 170 of file srb.h.

◆ SP_BUS_TIME_OUT

#define SP_BUS_TIME_OUT   0x0004

Definition at line 173 of file srb.h.

◆ SP_INTERNAL_ADAPTER_ERROR

#define SP_INTERNAL_ADAPTER_ERROR   0x0006

Definition at line 175 of file srb.h.

◆ SP_INVALID_RESELECTION

#define SP_INVALID_RESELECTION   0x0003

Definition at line 172 of file srb.h.

◆ SP_IRQ_NOT_RESPONDING

#define SP_IRQ_NOT_RESPONDING   0x0008

Definition at line 177 of file srb.h.

◆ SP_LOST_WMI_MINIPORT_REQUEST

#define SP_LOST_WMI_MINIPORT_REQUEST   0x000b

Definition at line 180 of file srb.h.

◆ SP_PROTOCOL_ERROR

#define SP_PROTOCOL_ERROR   0x0005

Definition at line 174 of file srb.h.

◆ SP_REQUEST_TIMEOUT

#define SP_REQUEST_TIMEOUT   0x0007

Definition at line 176 of file srb.h.

◆ SP_RETURN_BAD_CONFIG

#define SP_RETURN_BAD_CONFIG   3

Definition at line 187 of file srb.h.

◆ SP_RETURN_ERROR

#define SP_RETURN_ERROR   2

Definition at line 186 of file srb.h.

◆ SP_RETURN_FOUND

#define SP_RETURN_FOUND   1

Definition at line 185 of file srb.h.

◆ SP_RETURN_NOT_FOUND

#define SP_RETURN_NOT_FOUND   0

Definition at line 184 of file srb.h.

◆ SP_UNEXPECTED_DISCONNECT

#define SP_UNEXPECTED_DISCONNECT   0x0002

Definition at line 171 of file srb.h.

◆ SP_UNINITIALIZED_VALUE

#define SP_UNINITIALIZED_VALUE   ((ULONG) ~0)

Definition at line 45 of file srb.h.

◆ SP_UNTAGGED

#define SP_UNTAGGED   ((UCHAR) ~0)

Definition at line 46 of file srb.h.

◆ SP_VER_TRACE_SUPPORT

#define SP_VER_TRACE_SUPPORT   0x0010

Definition at line 182 of file srb.h.

◆ SRB_FLAGS_ADAPTER_CACHE_ENABLE

#define SRB_FLAGS_ADAPTER_CACHE_ENABLE   0x00000200

Definition at line 145 of file srb.h.

◆ SRB_FLAGS_ALLOCATED_FROM_ZONE

#define SRB_FLAGS_ALLOCATED_FROM_ZONE   0x00020000

Definition at line 148 of file srb.h.

◆ SRB_FLAGS_BYPASS_FROZEN_QUEUE

#define SRB_FLAGS_BYPASS_FROZEN_QUEUE   0x00000010

Definition at line 138 of file srb.h.

◆ SRB_FLAGS_BYPASS_LOCKED_QUEUE

#define SRB_FLAGS_BYPASS_LOCKED_QUEUE   0x00080000

Definition at line 150 of file srb.h.

◆ SRB_FLAGS_CLASS_DRIVER_RESERVED

#define SRB_FLAGS_CLASS_DRIVER_RESERVED   0xF0000000

Definition at line 156 of file srb.h.

◆ SRB_FLAGS_DATA_IN

#define SRB_FLAGS_DATA_IN   0x00000040

Definition at line 140 of file srb.h.

◆ SRB_FLAGS_DATA_OUT

#define SRB_FLAGS_DATA_OUT   0x00000080

Definition at line 141 of file srb.h.

◆ SRB_FLAGS_DISABLE_AUTOSENSE

#define SRB_FLAGS_DISABLE_AUTOSENSE   0x00000020

Definition at line 139 of file srb.h.

◆ SRB_FLAGS_DISABLE_DISCONNECT

#define SRB_FLAGS_DISABLE_DISCONNECT   0x00000004

Definition at line 136 of file srb.h.

◆ SRB_FLAGS_DISABLE_SYNCH_TRANSFER

#define SRB_FLAGS_DISABLE_SYNCH_TRANSFER   0x00000008

Definition at line 137 of file srb.h.

◆ SRB_FLAGS_DONT_START_NEXT_PACKET

#define SRB_FLAGS_DONT_START_NEXT_PACKET   0x00800000

Definition at line 154 of file srb.h.

◆ SRB_FLAGS_FREE_SENSE_BUFFER

#define SRB_FLAGS_FREE_SENSE_BUFFER   0x00000400

Definition at line 146 of file srb.h.

◆ SRB_FLAGS_IS_ACTIVE

#define SRB_FLAGS_IS_ACTIVE   0x00010000

Definition at line 147 of file srb.h.

◆ SRB_FLAGS_NO_DATA_TRANSFER

#define SRB_FLAGS_NO_DATA_TRANSFER   0x00000000

Definition at line 142 of file srb.h.

◆ SRB_FLAGS_NO_KEEP_AWAKE

#define SRB_FLAGS_NO_KEEP_AWAKE   0x00100000

Definition at line 151 of file srb.h.

◆ SRB_FLAGS_NO_QUEUE_FREEZE

#define SRB_FLAGS_NO_QUEUE_FREEZE   0x00000100

Definition at line 144 of file srb.h.

◆ SRB_FLAGS_PORT_DRIVER_ALLOCSENSE

#define SRB_FLAGS_PORT_DRIVER_ALLOCSENSE   0x00200000

Definition at line 152 of file srb.h.

◆ SRB_FLAGS_PORT_DRIVER_RESERVED

#define SRB_FLAGS_PORT_DRIVER_RESERVED   0x0F000000

Definition at line 155 of file srb.h.

◆ SRB_FLAGS_PORT_DRIVER_SENSEHASPORT

#define SRB_FLAGS_PORT_DRIVER_SENSEHASPORT   0x00400000

Definition at line 153 of file srb.h.

◆ SRB_FLAGS_QUEUE_ACTION_ENABLE

#define SRB_FLAGS_QUEUE_ACTION_ENABLE   0x00000002

Definition at line 135 of file srb.h.

◆ SRB_FLAGS_SGLIST_FROM_POOL

#define SRB_FLAGS_SGLIST_FROM_POOL   0x00040000

Definition at line 149 of file srb.h.

◆ SRB_FLAGS_UNSPECIFIED_DIRECTION

#define SRB_FLAGS_UNSPECIFIED_DIRECTION   (SRB_FLAGS_DATA_IN | SRB_FLAGS_DATA_OUT)

Definition at line 143 of file srb.h.

◆ SRB_FUNCTION_ABORT_COMMAND

#define SRB_FUNCTION_ABORT_COMMAND   0x10

Definition at line 79 of file srb.h.

◆ SRB_FUNCTION_ATTACH_DEVICE

#define SRB_FUNCTION_ATTACH_DEVICE   0x05

Definition at line 75 of file srb.h.

◆ SRB_FUNCTION_CLAIM_DEVICE

#define SRB_FUNCTION_CLAIM_DEVICE   0x01

Definition at line 71 of file srb.h.

◆ SRB_FUNCTION_DUMP_POINTERS

#define SRB_FUNCTION_DUMP_POINTERS   0x26

Definition at line 95 of file srb.h.

◆ SRB_FUNCTION_EXECUTE_SCSI

#define SRB_FUNCTION_EXECUTE_SCSI   0x00

Definition at line 70 of file srb.h.

◆ SRB_FUNCTION_FLUSH

#define SRB_FUNCTION_FLUSH   0x08

Definition at line 78 of file srb.h.

◆ SRB_FUNCTION_FLUSH_QUEUE

#define SRB_FUNCTION_FLUSH_QUEUE   0x15

Definition at line 84 of file srb.h.

◆ SRB_FUNCTION_IO_CONTROL

#define SRB_FUNCTION_IO_CONTROL   0x02

Definition at line 72 of file srb.h.

◆ SRB_FUNCTION_LINK_TIMEOUT_COMPLETE

#define SRB_FUNCTION_LINK_TIMEOUT_COMPLETE   0x23

Definition at line 92 of file srb.h.

◆ SRB_FUNCTION_LINK_TIMEOUT_OCCURRED

#define SRB_FUNCTION_LINK_TIMEOUT_OCCURRED   0x22

Definition at line 91 of file srb.h.

◆ SRB_FUNCTION_LOCK_QUEUE

#define SRB_FUNCTION_LOCK_QUEUE   0x18

Definition at line 87 of file srb.h.

◆ SRB_FUNCTION_PNP

#define SRB_FUNCTION_PNP   0x25

Definition at line 94 of file srb.h.

◆ SRB_FUNCTION_POWER

#define SRB_FUNCTION_POWER   0x24

Definition at line 93 of file srb.h.

◆ SRB_FUNCTION_RECEIVE_EVENT

#define SRB_FUNCTION_RECEIVE_EVENT   0x03

Definition at line 73 of file srb.h.

◆ SRB_FUNCTION_RELEASE_DEVICE

#define SRB_FUNCTION_RELEASE_DEVICE   0x06

Definition at line 76 of file srb.h.

◆ SRB_FUNCTION_RELEASE_QUEUE

#define SRB_FUNCTION_RELEASE_QUEUE   0x04

Definition at line 74 of file srb.h.

◆ SRB_FUNCTION_RELEASE_RECOVERY

#define SRB_FUNCTION_RELEASE_RECOVERY   0x11

Definition at line 80 of file srb.h.

◆ SRB_FUNCTION_REMOVE_DEVICE

#define SRB_FUNCTION_REMOVE_DEVICE   0x16

Definition at line 85 of file srb.h.

◆ SRB_FUNCTION_RESET_BUS

#define SRB_FUNCTION_RESET_BUS   0x12

Definition at line 81 of file srb.h.

◆ SRB_FUNCTION_RESET_DEVICE

#define SRB_FUNCTION_RESET_DEVICE   0x13

Definition at line 82 of file srb.h.

◆ SRB_FUNCTION_RESET_LOGICAL_UNIT

#define SRB_FUNCTION_RESET_LOGICAL_UNIT   0x20

Definition at line 89 of file srb.h.

◆ SRB_FUNCTION_SET_LINK_TIMEOUT

#define SRB_FUNCTION_SET_LINK_TIMEOUT   0x21

Definition at line 90 of file srb.h.

◆ SRB_FUNCTION_SHUTDOWN

#define SRB_FUNCTION_SHUTDOWN   0x07

Definition at line 77 of file srb.h.

◆ SRB_FUNCTION_TERMINATE_IO

#define SRB_FUNCTION_TERMINATE_IO   0x14

Definition at line 83 of file srb.h.

◆ SRB_FUNCTION_UNLOCK_QUEUE

#define SRB_FUNCTION_UNLOCK_QUEUE   0x19

Definition at line 88 of file srb.h.

◆ SRB_FUNCTION_WMI

#define SRB_FUNCTION_WMI   0x17

Definition at line 86 of file srb.h.

◆ SRB_HEAD_OF_QUEUE_TAG_REQUEST

#define SRB_HEAD_OF_QUEUE_TAG_REQUEST   0x21

Definition at line 163 of file srb.h.

◆ SRB_ORDERED_QUEUE_TAG_REQUEST

#define SRB_ORDERED_QUEUE_TAG_REQUEST   0x22

Definition at line 164 of file srb.h.

◆ SRB_PNP_FLAGS_ADAPTER_REQUEST

#define SRB_PNP_FLAGS_ADAPTER_REQUEST   0x0001

Definition at line 168 of file srb.h.

◆ SRB_POWER_FLAGS_ADAPTER_REQUEST

#define SRB_POWER_FLAGS_ADAPTER_REQUEST   0x0001

Definition at line 167 of file srb.h.

◆ SRB_SIMPLE_TAG_REQUEST

#define SRB_SIMPLE_TAG_REQUEST   0x20

Definition at line 162 of file srb.h.

◆ SRB_STATUS

Definition at line 131 of file srb.h.

◆ SRB_STATUS_ABORT_FAILED

#define SRB_STATUS_ABORT_FAILED   0x03

Definition at line 101 of file srb.h.

◆ SRB_STATUS_ABORTED

#define SRB_STATUS_ABORTED   0x02

Definition at line 100 of file srb.h.

◆ SRB_STATUS_AUTOSENSE_VALID

#define SRB_STATUS_AUTOSENSE_VALID   0x80

Definition at line 129 of file srb.h.

◆ SRB_STATUS_BAD_FUNCTION

#define SRB_STATUS_BAD_FUNCTION   0x22

Definition at line 122 of file srb.h.

◆ SRB_STATUS_BAD_SRB_BLOCK_LENGTH

#define SRB_STATUS_BAD_SRB_BLOCK_LENGTH   0x15

Definition at line 118 of file srb.h.

◆ SRB_STATUS_BUS_RESET

#define SRB_STATUS_BUS_RESET   0x0E

Definition at line 111 of file srb.h.

◆ SRB_STATUS_BUSY

#define SRB_STATUS_BUSY   0x05

Definition at line 103 of file srb.h.

◆ SRB_STATUS_COMMAND_TIMEOUT

#define SRB_STATUS_COMMAND_TIMEOUT   0x0B

Definition at line 109 of file srb.h.

◆ SRB_STATUS_DATA_OVERRUN

#define SRB_STATUS_DATA_OVERRUN   0x12

Definition at line 115 of file srb.h.

◆ SRB_STATUS_ERROR

#define SRB_STATUS_ERROR   0x04

Definition at line 102 of file srb.h.

◆ SRB_STATUS_ERROR_RECOVERY

#define SRB_STATUS_ERROR_RECOVERY   0x23

Definition at line 123 of file srb.h.

◆ SRB_STATUS_INTERNAL_ERROR

#define SRB_STATUS_INTERNAL_ERROR   0x30

Definition at line 126 of file srb.h.

◆ SRB_STATUS_INVALID_LUN

#define SRB_STATUS_INVALID_LUN   0x20

Definition at line 120 of file srb.h.

◆ SRB_STATUS_INVALID_PATH_ID

#define SRB_STATUS_INVALID_PATH_ID   0x07

Definition at line 105 of file srb.h.

◆ SRB_STATUS_INVALID_REQUEST

#define SRB_STATUS_INVALID_REQUEST   0x06

Definition at line 104 of file srb.h.

◆ SRB_STATUS_INVALID_TARGET_ID

#define SRB_STATUS_INVALID_TARGET_ID   0x21

Definition at line 121 of file srb.h.

◆ SRB_STATUS_LINK_DOWN

#define SRB_STATUS_LINK_DOWN   0x25

Definition at line 125 of file srb.h.

◆ SRB_STATUS_MESSAGE_REJECTED

#define SRB_STATUS_MESSAGE_REJECTED   0x0D

Definition at line 110 of file srb.h.

◆ SRB_STATUS_NO_DEVICE

#define SRB_STATUS_NO_DEVICE   0x08

Definition at line 106 of file srb.h.

◆ SRB_STATUS_NO_HBA

#define SRB_STATUS_NO_HBA   0x11

Definition at line 114 of file srb.h.

◆ SRB_STATUS_NOT_POWERED

#define SRB_STATUS_NOT_POWERED   0x24

Definition at line 124 of file srb.h.

◆ SRB_STATUS_PARITY_ERROR

#define SRB_STATUS_PARITY_ERROR   0x0F

Definition at line 112 of file srb.h.

◆ SRB_STATUS_PENDING

#define SRB_STATUS_PENDING   0x00

Definition at line 98 of file srb.h.

◆ SRB_STATUS_PHASE_SEQUENCE_FAILURE

#define SRB_STATUS_PHASE_SEQUENCE_FAILURE   0x14

Definition at line 117 of file srb.h.

◆ SRB_STATUS_QUEUE_FROZEN

#define SRB_STATUS_QUEUE_FROZEN   0x40

Definition at line 128 of file srb.h.

◆ SRB_STATUS_REQUEST_FLUSHED

#define SRB_STATUS_REQUEST_FLUSHED   0x16

Definition at line 119 of file srb.h.

◆ SRB_STATUS_REQUEST_SENSE_FAILED

#define SRB_STATUS_REQUEST_SENSE_FAILED   0x10

Definition at line 113 of file srb.h.

◆ SRB_STATUS_SELECTION_TIMEOUT

#define SRB_STATUS_SELECTION_TIMEOUT   0x0A

Definition at line 108 of file srb.h.

◆ SRB_STATUS_SUCCESS

#define SRB_STATUS_SUCCESS   0x01

Definition at line 99 of file srb.h.

◆ SRB_STATUS_TIMEOUT

#define SRB_STATUS_TIMEOUT   0x09

Definition at line 107 of file srb.h.

◆ SRB_STATUS_UNEXPECTED_BUS_FREE

#define SRB_STATUS_UNEXPECTED_BUS_FREE   0x13

Definition at line 116 of file srb.h.

◆ SRB_WMI_FLAGS_ADAPTER_REQUEST

#define SRB_WMI_FLAGS_ADAPTER_REQUEST   0x0001

Definition at line 166 of file srb.h.

◆ SRBEV_BUS_RESET

#define SRBEV_BUS_RESET   0x0001

Definition at line 49 of file srb.h.

◆ SRBEV_SCSI_ASYNC_NOTIFICATION

#define SRBEV_SCSI_ASYNC_NOTIFICATION   0x0002

Definition at line 50 of file srb.h.

Typedef Documentation

◆ ACCESS_RANGE

◆ HW_INITIALIZATION_DATA

◆ PACCESS_RANGE

◆ PHW_ADAPTER_CONTROL

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

Definition at line 483 of file srb.h.

◆ PHW_ADAPTER_STATE

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

Definition at line 475 of file srb.h.

◆ PHW_DMA_STARTED

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

Definition at line 451 of file srb.h.

◆ PHW_FIND_ADAPTER

typedef _Must_inspect_result_ ULONG(NTAPI * PHW_FIND_ADAPTER) (_In_ PVOID DeviceExtension, _In_ PVOID HwContext, _In_ PVOID BusInformation, _In_ PCHAR ArgumentString, _Inout_ PPORT_CONFIGURATION_INFORMATION ConfigInfo, _Out_ PBOOLEAN Again)

Definition at line 457 of file srb.h.

◆ PHW_INITIALIZATION_DATA

◆ PHW_INITIALIZE

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

Definition at line 430 of file srb.h.

◆ PHW_INTERRUPT

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

Definition at line 443 of file srb.h.

◆ PHW_RESET_BUS

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

Definition at line 468 of file srb.h.

◆ PHW_STARTIO

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

Definition at line 436 of file srb.h.

◆ PHW_TIMER

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

Definition at line 447 of file srb.h.

◆ PORT_CONFIGURATION_INFORMATION

◆ PPORT_CONFIGURATION_INFORMATION

◆ PSCSI_ADAPTER_CONTROL_STATUS

◆ PSCSI_ADAPTER_CONTROL_TYPE

◆ PSCSI_NOTIFICATION_TYPE

◆ PSCSI_PHYSICAL_ADDRESS

Definition at line 189 of file srb.h.

◆ PSCSI_PNP_REQUEST_BLOCK

◆ PSCSI_POWER_REQUEST_BLOCK

◆ PSCSI_REQUEST_BLOCK

◆ PSCSI_SUPPORTED_CONTROL_TYPE_LIST

◆ PSCSI_WMI_REQUEST_BLOCK

◆ PSTOR_DEVICE_CAPABILITIES

◆ PSTOR_DEVICE_POWER_STATE

◆ PSTOR_PNP_ACTION

◆ PSTOR_POWER_ACTION

◆ SCSI_ADAPTER_CONTROL_STATUS

◆ SCSI_ADAPTER_CONTROL_TYPE

◆ SCSI_NOTIFICATION_TYPE

◆ SCSI_PHYSICAL_ADDRESS

Definition at line 189 of file srb.h.

◆ SCSI_PNP_REQUEST_BLOCK

◆ SCSI_POWER_REQUEST_BLOCK

◆ SCSI_REQUEST_BLOCK

◆ SCSI_SUPPORTED_CONTROL_TYPE_LIST

◆ SCSI_WMI_REQUEST_BLOCK

◆ STOR_DEVICE_CAPABILITIES

◆ STOR_DEVICE_POWER_STATE

◆ STOR_PNP_ACTION

◆ STOR_POWER_ACTION

Enumeration Type Documentation

◆ _SCSI_ADAPTER_CONTROL_STATUS

Enumerator
ScsiAdapterControlSuccess 
ScsiAdapterControlUnsuccessful 
ScsiAdapterControlSuccess 
ScsiAdapterControlUnsuccessful 
ScsiAdapterControlSuccess 
ScsiAdapterControlUnsuccessful 

Definition at line 266 of file srb.h.

266  {
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 256 of file srb.h.

◆ _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 488 of file srb.h.

488  {
490  NextRequest,
497  WMIEvent,
499  LinkUp,
500  LinkDown,
enum _SCSI_NOTIFICATION_TYPE SCSI_NOTIFICATION_TYPE
enum _SCSI_NOTIFICATION_TYPE * PSCSI_NOTIFICATION_TYPE
Definition: srb.h:499
Definition: srb.h:500
Definition: srb.h:531

◆ _STOR_DEVICE_POWER_STATE

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

Definition at line 335 of file srb.h.

335  {
enum _STOR_DEVICE_POWER_STATE STOR_DEVICE_POWER_STATE
enum _STOR_DEVICE_POWER_STATE * PSTOR_DEVICE_POWER_STATE

◆ _STOR_PNP_ACTION

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

Definition at line 379 of file srb.h.

379  {
380  StorStartDevice = 0x0,
381  StorRemoveDevice = 0x2,
382  StorStopDevice = 0x4,
383  StorQueryCapabilities = 0x9,
386  StorSurpriseRemoval = 0x17
enum _STOR_PNP_ACTION STOR_PNP_ACTION
enum _STOR_PNP_ACTION * PSTOR_PNP_ACTION

◆ _STOR_POWER_ACTION

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

Definition at line 344 of file srb.h.

Function Documentation

◆ _IRQL_requires_max_()

_Must_inspect_result_ _IRQL_requires_max_ ( PASSIVE_LEVEL  )

Definition at line 64 of file Messaging.c.

75 {
76  PFLT_SERVER_PORT_OBJECT PortObject;
78 
79  /* The caller must allow at least one connection */
80  if (MaxConnections == 0)
81  {
83  }
84 
85  /* The request must be for a kernel handle */
86  if (!(ObjectAttributes->Attributes & OBJ_KERNEL_HANDLE))
87  {
89  }
90 
91  /*
92  * Get rundown protection on the target to stop the owner
93  * from unloading whilst this port object is open. It gets
94  * removed in the FltpServerPortClose callback
95  */
97  if (!NT_SUCCESS(Status))
98  {
99  return Status;
100  }
101 
102  /* Create the server port object for this filter */
106  KernelMode,
107  NULL,
108  sizeof(FLT_SERVER_PORT_OBJECT),
109  0,
110  0,
111  (PVOID *)&PortObject);
112  if (NT_SUCCESS(Status))
113  {
114  /* Zero out the struct */
115  RtlZeroMemory(PortObject, sizeof(FLT_SERVER_PORT_OBJECT));
116 
117  /* Increment the ref count on the target filter */
119 
120  /* Setup the filter port object */
121  PortObject->Filter = Filter;
122  PortObject->ConnectNotify = ConnectNotifyCallback;
124  PortObject->MessageNotify = MessageNotifyCallback;
125  PortObject->Cookie = ServerPortCookie;
126  PortObject->MaxConnections = MaxConnections;
127 
128  /* Insert the object */
129  Status = ObInsertObject(PortObject,
130  NULL,
132  0,
133  NULL,
135  if (NT_SUCCESS(Status))
136  {
137  /* Lock the connection list */
139 
140  /* Add the new port object to the connection list and increment the count */
143 
144  /* Unlock the connection list*/
146  }
147  }
148 
149  if (!NT_SUCCESS(Status))
150  {
151  /* Allow the filter to be cleaned up */
153  }
154 
155  return Status;
156 }
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
_Must_inspect_result_ _Outptr_ PFLT_PORT * ServerPort
Definition: fltkernel.h:1873
PFLT_CONNECT_NOTIFY ConnectNotify
Definition: fltmgrint.h:191
VOID FLTAPI FltObjectDereference(_Inout_ PVOID Object)
Definition: Object.c:53
LONG NTSTATUS
Definition: precomp.h:26
#define InsertTailList(ListHead, Entry)
VOID FASTCALL ExReleaseFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:31
ULONG FltpObjectPointerReference(_In_ PFLT_OBJECT Object)
Definition: Object.c:322
LIST_ENTRY mList
Definition: fltmgrint.h:56
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1802
#define FILE_READ_DATA
Definition: nt_native.h:628
smooth NULL
Definition: ftsmooth.c:416
NTSTATUS NTAPI ObCreateObject(IN KPROCESSOR_MODE ProbeMode OPTIONAL, IN POBJECT_TYPE Type, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext OPTIONAL, IN ULONG ObjectSize, IN ULONG PagedPoolCharge OPTIONAL, IN ULONG NonPagedPoolCharge OPTIONAL, OUT PVOID *Object)
Definition: oblife.c:952
POBJECT_TYPE ServerPortObjectType
Definition: Messaging.c:24
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY DisconnectNotifyCallback
Definition: fltkernel.h:1873
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:414
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY ConnectNotifyCallback
Definition: fltkernel.h:1873
Status
Definition: gdiplustypes.h:24
NTSTATUS NTAPI ObInsertObject(IN PVOID Object, IN PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG ObjectPointerBias, OUT PVOID *NewObject OPTIONAL, OUT PHANDLE Handle)
Definition: obhandle.c:2932
#define STANDARD_RIGHTS_ALL
Definition: nt_native.h:69
VOID FASTCALL ExAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:23
NTSTATUS FLTAPI FltObjectReference(_Inout_ PVOID Object)
Definition: Object.c:41
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID ServerPortCookie
Definition: fltkernel.h:1873
FAST_MUTEX mLock
Definition: fltmgrint.h:55
PFLT_MESSAGE_NOTIFY MessageNotify
Definition: fltmgrint.h:193
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:261
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY _In_opt_ PFLT_MESSAGE_NOTIFY _In_ LONG MaxConnections
Definition: fltkernel.h:1873
PFLT_DISCONNECT_NOTIFY DisconnectNotify
Definition: fltmgrint.h:192
#define OBJ_KERNEL_HANDLE
Definition: winternl.h:231
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY _In_opt_ PFLT_MESSAGE_NOTIFY MessageNotifyCallback
Definition: fltkernel.h:1873
FLT_MUTEX_LIST_HEAD ConnectionList
Definition: fltmgrint.h:121

◆ ScsiDebugPrint()

SCSIPORTAPI VOID __cdecl ScsiDebugPrint ( ULONG  DebugPrintLevel,
PCCHAR  DebugMessage,
  ... 
)

◆ ScsiPortCompleteRequest()

SCSIPORTAPI VOID NTAPI ScsiPortCompleteRequest ( _In_ PVOID  HwDeviceExtension,
_In_ UCHAR  PathId,
_In_ UCHAR  TargetId,
_In_ UCHAR  Lun,
_In_ UCHAR  SrbStatus 
)

◆ ScsiPortConvertPhysicalAddressToUlong()

_Must_inspect_result_ SCSIPORTAPI ULONG NTAPI ScsiPortConvertPhysicalAddressToUlong ( _In_ SCSI_PHYSICAL_ADDRESS  Address)

◆ ScsiPortConvertUlongToPhysicalAddress()

_Must_inspect_result_ SCSIPORTAPI SCSI_PHYSICAL_ADDRESS NTAPI ScsiPortConvertUlongToPhysicalAddress ( _In_ ULONG_PTR  UlongAddress)

◆ ScsiPortFlushDma()

SCSIPORTAPI VOID NTAPI ScsiPortFlushDma ( _In_ PVOID  DeviceExtension)

◆ ScsiPortFreeDeviceBase()

SCSIPORTAPI VOID NTAPI ScsiPortFreeDeviceBase ( _In_ PVOID  HwDeviceExtension,
_In_ PVOID  MappedAddress 
)

◆ ScsiPortGetBusData()

_Must_inspect_result_ SCSIPORTAPI ULONG NTAPI ScsiPortGetBusData ( _In_ PVOID  DeviceExtension,
_In_ ULONG  BusDataType,
_In_ ULONG  SystemIoBusNumber,
_In_ ULONG  SlotNumber,
_In_reads_bytes_(Length) PVOID  Buffer,
_In_ ULONG  Length 
)

◆ ScsiPortGetDeviceBase()

_Must_inspect_result_ SCSIPORTAPI PVOID NTAPI ScsiPortGetDeviceBase ( _In_ PVOID  HwDeviceExtension,
_In_ INTERFACE_TYPE  BusType,
_In_ ULONG  SystemIoBusNumber,
_In_ SCSI_PHYSICAL_ADDRESS  IoAddress,
_In_ ULONG  NumberOfBytes,
_In_ BOOLEAN  InIoSpace 
)

◆ ScsiPortGetLogicalUnit()

_Must_inspect_result_ SCSIPORTAPI PVOID NTAPI ScsiPortGetLogicalUnit ( _In_ PVOID  HwDeviceExtension,
_In_ UCHAR  PathId,
_In_ UCHAR  TargetId,
_In_ UCHAR  Lun 
)

◆ ScsiPortGetPhysicalAddress()

_Must_inspect_result_ SCSIPORTAPI SCSI_PHYSICAL_ADDRESS NTAPI ScsiPortGetPhysicalAddress ( _In_ PVOID  HwDeviceExtension,
_In_ PSCSI_REQUEST_BLOCK  Srb,
_In_ PVOID  VirtualAddress,
_Out_ ULONG Length 
)

◆ ScsiPortGetSrb()

_Must_inspect_result_ SCSIPORTAPI PSCSI_REQUEST_BLOCK NTAPI ScsiPortGetSrb ( _In_ PVOID  DeviceExtension,
_In_ UCHAR  PathId,
_In_ UCHAR  TargetId,
_In_ UCHAR  Lun,
_In_ LONG  QueueTag 
)

◆ ScsiPortGetUncachedExtension()

_Must_inspect_result_ SCSIPORTAPI PVOID NTAPI ScsiPortGetUncachedExtension ( _In_ PVOID  HwDeviceExtension,
_In_ PPORT_CONFIGURATION_INFORMATION  ConfigInfo,
_In_ ULONG  NumberOfBytes 
)

◆ ScsiPortGetVirtualAddress()

_Must_inspect_result_ SCSIPORTAPI PVOID NTAPI ScsiPortGetVirtualAddress ( _In_ PVOID  HwDeviceExtension,
_In_ SCSI_PHYSICAL_ADDRESS  PhysicalAddress 
)

◆ ScsiPortIoMapTransfer()

SCSIPORTAPI VOID NTAPI ScsiPortIoMapTransfer ( _In_ PVOID  HwDeviceExtension,
_In_ PSCSI_REQUEST_BLOCK  Srb,
_In_ PVOID  LogicalAddress,
_In_ ULONG  Length 
)

◆ ScsiPortLogError()

SCSIPORTAPI VOID NTAPI ScsiPortLogError ( _In_ PVOID  HwDeviceExtension,
_In_opt_ PSCSI_REQUEST_BLOCK  Srb,
_In_ UCHAR  PathId,
_In_ UCHAR  TargetId,
_In_ UCHAR  Lun,
_In_ ULONG  ErrorCode,
_In_ ULONG  UniqueId 
)

◆ ScsiPortMoveMemory()

SCSIPORTAPI VOID NTAPI ScsiPortMoveMemory ( _In_ PVOID  WriteBuffer,
_In_ PVOID  ReadBuffer,
_In_ ULONG  Length 
)

◆ ScsiPortNotification()

SCSIPORTAPI VOID __cdecl ScsiPortNotification ( _In_ SCSI_NOTIFICATION_TYPE  NotificationType,
_In_ PVOID  HwDeviceExtension,
  ... 
)

◆ ScsiPortQuerySystemTime()

SCSIPORTAPI VOID NTAPI ScsiPortQuerySystemTime ( _Out_ PLARGE_INTEGER  CurrentTime)

◆ ScsiPortReadPortBufferUchar()

SCSIPORTAPI VOID NTAPI ScsiPortReadPortBufferUchar ( _In_ PUCHAR  Port,
_In_ PUCHAR  Buffer,
_In_ ULONG  Count 
)

◆ ScsiPortReadPortBufferUlong()

SCSIPORTAPI VOID NTAPI ScsiPortReadPortBufferUlong ( _In_ PULONG  Port,
_In_ PULONG  Buffer,
_In_ ULONG  Count 
)

◆ ScsiPortReadPortBufferUshort()

SCSIPORTAPI VOID NTAPI ScsiPortReadPortBufferUshort ( _In_ PUSHORT  Port,
_In_ PUSHORT  Buffer,
_In_ ULONG  Count 
)

◆ ScsiPortReadPortUchar()

_Must_inspect_result_ SCSIPORTAPI UCHAR NTAPI ScsiPortReadPortUchar ( _In_ PUCHAR  Port)

◆ ScsiPortReadPortUlong()

_Must_inspect_result_ SCSIPORTAPI ULONG NTAPI ScsiPortReadPortUlong ( _In_ PULONG  Port)

◆ ScsiPortReadPortUshort()

_Must_inspect_result_ SCSIPORTAPI USHORT NTAPI ScsiPortReadPortUshort ( _In_ PUSHORT  Port)

◆ ScsiPortReadRegisterBufferUchar()

SCSIPORTAPI VOID NTAPI ScsiPortReadRegisterBufferUchar ( _In_ PUCHAR  Register,
_In_ PUCHAR  Buffer,
_In_ ULONG  Count 
)

◆ ScsiPortReadRegisterBufferUlong()

SCSIPORTAPI VOID NTAPI ScsiPortReadRegisterBufferUlong ( _In_ PULONG  Register,
_In_ PULONG  Buffer,
_In_ ULONG  Count 
)

◆ ScsiPortReadRegisterBufferUshort()

SCSIPORTAPI VOID NTAPI ScsiPortReadRegisterBufferUshort ( _In_ PUSHORT  Register,
_In_ PUSHORT  Buffer,
_In_ ULONG  Count 
)

◆ ScsiPortReadRegisterUchar()

_Must_inspect_result_ SCSIPORTAPI UCHAR NTAPI ScsiPortReadRegisterUchar ( _In_ PUCHAR  Register)

◆ ScsiPortReadRegisterUlong()

_Must_inspect_result_ SCSIPORTAPI ULONG NTAPI ScsiPortReadRegisterUlong ( _In_ PULONG  Register)

◆ ScsiPortReadRegisterUshort()

_Must_inspect_result_ SCSIPORTAPI USHORT NTAPI ScsiPortReadRegisterUshort ( _In_ PUSHORT  Register)

◆ ScsiPortSetBusDataByOffset()

_Must_inspect_result_ SCSIPORTAPI ULONG NTAPI ScsiPortSetBusDataByOffset ( _In_ PVOID  DeviceExtension,
_In_ ULONG  BusDataType,
_In_ ULONG  SystemIoBusNumber,
_In_ ULONG  SlotNumber,
_In_reads_bytes_(Length) PVOID  Buffer,
_In_ ULONG  Offset,
_In_ ULONG  Length 
)

◆ ScsiPortStallExecution()

SCSIPORTAPI VOID NTAPI ScsiPortStallExecution ( _In_ ULONG  Delay)

◆ ScsiPortValidateRange()

_Must_inspect_result_ SCSIPORTAPI BOOLEAN NTAPI ScsiPortValidateRange ( _In_ PVOID  HwDeviceExtension,
_In_ INTERFACE_TYPE  BusType,
_In_ ULONG  SystemIoBusNumber,
_In_ SCSI_PHYSICAL_ADDRESS  IoAddress,
_In_ ULONG  NumberOfBytes,
_In_ BOOLEAN  InIoSpace 
)

◆ ScsiPortWritePortBufferUchar()

SCSIPORTAPI VOID NTAPI ScsiPortWritePortBufferUchar ( _In_ PUCHAR  Port,
_In_ PUCHAR  Buffer,
_In_ ULONG  Count 
)

◆ ScsiPortWritePortBufferUlong()

SCSIPORTAPI VOID NTAPI ScsiPortWritePortBufferUlong ( _In_ PULONG  Port,
_In_ PULONG  Buffer,
_In_ ULONG  Count 
)

◆ ScsiPortWritePortBufferUshort()

SCSIPORTAPI VOID NTAPI ScsiPortWritePortBufferUshort ( _In_ PUSHORT  Port,
_In_ PUSHORT  Buffer,
_In_ ULONG  Count 
)

◆ ScsiPortWritePortUchar()

SCSIPORTAPI VOID NTAPI ScsiPortWritePortUchar ( _In_ PUCHAR  Port,
_In_ UCHAR  Value 
)

◆ ScsiPortWritePortUlong()

SCSIPORTAPI VOID NTAPI ScsiPortWritePortUlong ( _In_ PULONG  Port,
_In_ ULONG  Value 
)

◆ ScsiPortWritePortUshort()

SCSIPORTAPI VOID NTAPI ScsiPortWritePortUshort ( _In_ PUSHORT  Port,
_In_ USHORT  Value 
)

◆ ScsiPortWriteRegisterBufferUchar()

SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterBufferUchar ( _In_ PUCHAR  Register,
_In_ PUCHAR  Buffer,
_In_ ULONG  Count 
)

◆ ScsiPortWriteRegisterBufferUlong()

SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterBufferUlong ( _In_ PULONG  Register,
_In_ PULONG  Buffer,
_In_ ULONG  Count 
)

◆ ScsiPortWriteRegisterBufferUshort()

SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterBufferUshort ( _In_ PUSHORT  Register,
_In_ PUSHORT  Buffer,
_In_ ULONG  Count 
)

◆ ScsiPortWriteRegisterUchar()

SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterUchar ( _In_ PUCHAR  Register,
_In_ UCHAR  Value 
)

◆ ScsiPortWriteRegisterUlong()

SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterUlong ( _In_ PULONG  Register,
_In_ ULONG  Value 
)

◆ ScsiPortWriteRegisterUshort()

SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterUshort ( _In_ PUSHORT  Register,
_In_ USHORT  Value 
)

Variable Documentation

◆ Argument2

Definition at line 663 of file srb.h.

◆ HwContext

◆ HwInitializationData