srb.h header

This header is used by storage. For more information, see:

srb.h contains the following programming interfaces:

Functions

 
ScsiDebugPrint

The ScsiDebugPrint function (srb.h) prints debug information with a specified level of verbosity based on global values.
ScsiPortCompleteRequest

The ScsiPortCompleteRequest routine completes all of the active requests for the given SCSI bus, controller, or LU, including a request being processed by the calling miniport driver routine.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future. Instead, we recommend using the Storport driver and Storport miniport driver models.
ScsiPortConvertPhysicalAddressToUlong

The ScsiPortConvertPhysicalAddressToUlong routine truncates a SCSI_PHYSICAL_ADDRESS to a ULONG.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortConvertUlongToPhysicalAddress

The ScsiPortConvertUlongToPhysicalAddress routine extends a given ULONG address into a value of type SCSI_PHYSICAL_ADDRESS.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortFlushDma

The ScsiPortFlushDma routine flushes any data cached in the system DMA controller at the end of a transfer or terminates a system DMA transfer.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortFreeDeviceBase

The ScsiPortFreeDeviceBase routine frees a range of device I/O or memory space addresses previously mapped into the system address space with ScsiPortGetDeviceBase.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future. Instead, we recommend using the Storport driver and Storport miniport driver models.
ScsiPortGetBusData

The ScsiPortGetBusData routine returns bus-type-specific configuration information that a miniport driver's HwScsiFindAdapter routine might use to determine whether it supports a particular adapter on a particular I/O bus, and to configure the HBA if it does.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future. Instead, we recommend using the Storport driver and Storport miniport driver models.
ScsiPortGetDeviceBase

The ScsiPortGetDeviceBase routine returns a mapped, logical base address that can be used to communicate with an HBA.
ScsiPortGetLogicalUnit

The ScsiPortGetLogicalUnit routine returns a pointer to the miniport driver's per-LU storage area for a given peripheral.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortGetPhysicalAddress

The ScsiPortGetPhysicalAddress routine converts a given virtual address range to a physical address range for a DMA operation.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortGetSrb

The ScsiPortGetSrb routine returns a pointer to an active SCSI request for a particular logical unit.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortGetUncachedExtension

The ScsiPortGetUncachedExtension routine allocates memory that can be used by both the CPU and a bus-master HBA for DMA or for shared data.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortGetVirtualAddress

The ScsiPortGetVirtualAddress routine returns a virtual address associated with a physical address if the physical address was obtained by a call to ScsiPortGetPhysicalAddress.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future. Instead, we recommend using the Storport driver and Storport miniport driver models.
ScsiPortInitialize

For a non-Plug and Play miniport driver, the ScsiPortInitialize routine sets up the PORT_CONFIGURATION_INFORMATION structure and calls the miniport driver's HwScsiFindAdapter routine.
ScsiPortIoMapTransfer

The ScsiPortIoMapTransfer routine sets up the system DMA controller for a miniport driver to transfer data through a subordinate HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortLogError

The ScsiPortLogError routine logs errors to the system event log when a miniport driver or its HBA detects a SCSI error condition.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortMoveMemory

The ScsiPortMoveMemory routine copies data from one location to another.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortNotification

The ScsiPortNotification routine informs the operating system-specific port driver of certain events, such as when a miniport driver completes a request or is ready to start another SRB, as well as when the HBA indicates certain SCSI error conditions that occurred during an operation.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future. Instead, we recommend using the Storport driver and Storport miniport driver models.
ScsiPortQuerySystemTime

The ScsiPortQuerySystemTime routine obtains the current system time.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortReadPortBufferUchar

The ScsiPortReadPortBufferUchar routine transfers a given number of unsigned byte values from the HBA to a buffer.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortReadPortBufferUlong

The ScsiPortReadPortBufferUlong routine transfers a given number of ULONG values from the HBA to a buffer.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortReadPortBufferUshort

The ScsiPortReadPortBufferUshort routine transfers a given number of USHORT values from the HBA to a buffer.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortReadPortUchar

The ScsiPortReadPortUchar routine reads an unsigned byte value from the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortReadPortUlong

The ScsiPortReadPortUlong routine reads a ULONG value from the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortReadPortUshort

The ScsiPortReadPortUshort routine reads a USHORT value from the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortReadRegisterBufferUchar

The ScsiPortReadRegisterBufferUchar routine transfers a specified number of unsigned bytes from the HBA to a buffer.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortReadRegisterBufferUlong

The ScsiPortReadRegisterBufferUlong routine transfers a specified number of ULONG values from the HBA to a buffer.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortReadRegisterBufferUshort

The ScsiPortReadRegisterBufferUshort routine transfers a specified number of USHORT values from the HBA to a buffer.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortReadRegisterUchar

The ScsiPortReadRegisterUchar routine reads an unsigned byte value from the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortReadRegisterUlong

The ScsiPortReadRegisterUlong routine reads a ULONG value from the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortReadRegisterUshort

The ScsiPortReadRegisterUshort routine reads a USHORT value from the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortSetBusDataByOffset

The ScsiPortSetBusDataByOffset routine sets bus-configuration data for an adapter on a dynamically configurable I/O bus with a published, standard interface.
ScsiPortStallExecution

The ScsiPortStallExecution routine stalls in the miniport driver.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortValidateRange

The ScsiPortValidateRange routine indicates whether the specified access range values have already been claimed in the registry by another driver.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortWritePortBufferUchar

The ScsiPortWritePortBufferUchar routine transfers a given number of unsigned bytes from a buffer to the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortWritePortBufferUlong

The ScsiPortWritePortBufferUlong routine transfers a given number of ULONG values from a buffer to the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortWritePortBufferUshort

The ScsiPortWritePortBufferUshort routine transfers a given number of USHORT values from a buffer to the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortWritePortUchar

The ScsiPortWritePortUchar routine transfers an unsigned byte to the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortWritePortUlong

The ScsiPortWritePortUlong routine transfers a ULONG value to the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortWritePortUshort

The ScsiPortWritePortUshort routine transfers a USHORT value to the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortWriteRegisterBufferUchar

The ScsiPortWriteRegisterBufferUchar routine transfers a given number of unsigned bytes from a buffer to the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortWriteRegisterBufferUlong

The ScsiPortWriteRegisterBufferUlong routine transfers a given number of ULONG values from a buffer to the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortWriteRegisterBufferUshort

The ScsiPortWriteRegisterBufferUshort routine transfers a given number of USHORT values from a buffer to the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortWriteRegisterUchar

The ScsiPortWriteRegisterUchar routine transfers an unsigned byte value to the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortWriteRegisterUlong

The ScsiPortWriteRegisterUlong routine transfers a ULONG value to the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
ScsiPortWriteRegisterUshort

The ScsiPortWriteRegisterUshort routine transfers a USHORT value to the HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.

Callback functions

 
PHW_ADAPTER_CONTROL

This routine prototype declares a routine that initializes the miniport driver after a reboot or power failure occurs.
PHW_ADAPTER_STATE

The PHW_INITIALIZE routine prototype declares a routine that saves or restores the state of the miniport driver's HBA.
PHW_DMA_STARTED

The PHW_DMA_STARTED routine prototype declares a SCSI miniport driver routine that starts DMA for subordinate DMA device.
PHW_FIND_ADAPTER

The PHW_FIND_ADAPTER prototype declares a routine that uses supplied configuration to determine whether a specific HBA is supported and, if it is, to return configuration information about that adapter.
PHW_INITIALIZE

Learn how the PHW_INITIALIZE routine prototype declares a routine that initializes the miniport driver after a reboot or power failure occurs.
PHW_INTERRUPT

The PHW_INTERRUPT routine prototype declares the miniport driver's interrupt handler routine.
PHW_RESET_BUS

The PHW_RESET_BUS prototype declares a routine that resets the indicated SCSI bus.
PHW_STARTIO

Learn how this routine prototype declares a routine that initializes the miniport driver after a reboot or power failure occurs.
PHW_TIMER

The PHW_TIMER routine prototype declares a SCSI miniport driver's timer routine.

Structures

 
ACCESS_RANGE

An ACCESS_RANGE describes a memory or I/O port range used by an HBA.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future.
HW_INITIALIZATION_DATA

Each SCSI miniport driver's DriverEntry routine must initialize with zeros and, then, fill in the relevant HW_INITIALIZATION_DATA (SCSI) information for the OS-specific port driver.Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future. Instead, we recommend using the Storport driver and Storport miniport driver models.
PORT_CONFIGURATION_INFORMATION

PORT_CONFIGURATION_INFORMATION (SCSI) contains configuration information for an HBA.
SCSI_PNP_REQUEST_BLOCK

The _SCSI_PNP_REQUEST_BLOCK structure (srb.h) contains information for SCSI plug and play (PNP) requests.
SCSI_POWER_REQUEST_BLOCK

The _SCSI_POWER_REQUEST_BLOCK structure (srb.h) contains information for SCSI power management requests.
SCSI_REQUEST_BLOCK

The SCSI_REQUEST_BLOCK structure (srb.h) contains information for SCSI Request Block (SRB) functions.
SCSI_WMI_REQUEST_BLOCK

The _SCSI_WMI_REQUEST_BLOCK structure (srb.h) contains information about a SCSI_REQUEST_BLOCK for use with WMI commands.
SRBEX_DATA

The _SRBEX_DATA structure (srb.h) describes the generalized format for containing extended SCSI Request Block (SRB) data.
SRBEX_DATA_BIDIRECTIONAL

The _SRBEX_DATA_BIDIRECTIONAL structure (srb.h) contains the extended SCSI Request Block (SRB) data for bi-directional transfer commands.
SRBEX_DATA_IO_INFO

The _SRBEX_DATA_IO_INFO structure (srb.h) contains additional information related to a read or write request in an extended SCSI Request Block (SRB).
SRBEX_DATA_NVME_COMMAND

The SRBEX_DATA_NVME_COMMAND (srb.h) structure enables the user to frame and issue a command in NVMe format.
SRBEX_DATA_PNP

The _SRBEX_DATA_PNP structure (srb.h) contains the request data for an extended plug and play (PNP) SCSI Request Block (SRB).
SRBEX_DATA_POWER

The _SRBEX_DATA_POWER structure (srb.h) contains the request data for an extended power SCSI Request Block (SRB).
SRBEX_DATA_SCSI_CDB_VAR

The _SRBEX_DATA_SCSI_CDB_VAR structure (srb.h) contains the extended SRB data for a variable length SCSI command data block (CDB).
SRBEX_DATA_SCSI_CDB16

The _SRBEX_DATA_SCSI_CDB16 structure (srb.h) contains the extended SRB data for a 16-byte SCSI command data block (CDB).
SRBEX_DATA_SCSI_CDB32

The _SRBEX_DATA_SCSI_CDB32 structure (srb.h) contains the extended SRB data for a 32-byte SCSI command data block (CDB).
SRBEX_DATA_WMI

The _SRBEX_DATA_WMI structure (srb.h) contains the request data for an extended WMI SCSI Request Block (SRB).
STOR_DEVICE_CAPABILITIES

The _STOR_DEVICE_CAPABILITIES structure (srb.h) contains device capabilities information relevant to storage devices.
STOR_DEVICE_CAPABILITIES_EX

The _STOR_DEVICE_CAPABILITIES_EX structure (srb.h) contains extended device capabilities information relevant to storage devices.
STORAGE_REQUEST_BLOCK

Learn more about the STORAGE_REQUEST_BLOCK structure (srb.h).

Enumerations

 
SRBEX_DATA_NVME_COMMAND_FLAG

The SRBEX_DATA_NVME_COMMAND_FLAG (srb.h) enumeration contains values that indicate the properties of a particular SRBEX Data NVMe command.
SRBEX_DATA_NVME_COMMAND_TYPE

The SRBEX_DATA_NVME_COMMAND_TYPE (srb.h) contains values that indicate the SRBEX Data NVMe command types.
STOR_DEVICE_POWER_STATE

The _STOR_DEVICE_POWER_STATE enumeration (srb.h) contains values that indicate a device power state.
STOR_POWER_ACTION

The STOR_POWER_ACTION (srb.h) contains values that indicate the power state that the system is about to enter during a power transition.