StorPortGetSystemAddress routine

The StorPortGetSystemAddress routine returns a virtual address in system space for the data buffer of the specified SCSI request block (SRB).

Syntax


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

Parameters

HwDeviceExtension [in]

A pointer to the hardware device extension for the host bus adapter (HBA).

Srb [in]

A pointer to a SCSI_REQUEST_BLOCK structure.

SystemAddress [out]

A pointer to receive the virtual address of the data buffer.

Return value

StorPortGetSystemAddress returns one of the following status codes:

Return codeDescription
STOR_STATUS_NOT_IMPLEMENTED

This function is not implemented on the active operating system.

STOR_STATUS_SUCCESS

Indicates that the system address was obtained successfully.

STOR_STATUS_INVALID_PARAMETER

This status code is caused by one of the following conditions:

The SRB does not have an associated data buffer.

The pointer to receive the virtual address is NULL.

STOR_STATUS_INVALID_IRQL

The call was made at an invalid IRQL.

STOR_STATUS_INSUFFICIENT_RESOURCES

The attempt to map the data buffer to system space failed.

 

Remarks

Starting in Windows 8, the Srb parameter may point to either SCSI_REQUEST_BLOCK or STORAGE_REQUEST_BLOCK. If the function identifier in the Function field of Srb is SRB_FUNCTION_STORAGE_REQUEST_BLOCK, the SRB is a STORAGE_REQUEST_BLOCK request structure.

Requirements

Version

This routine is available starting with Windows Server 2003 with SP2.

Header

Storport.h (include Storport.h)

IRQL

<=DISPATCH_LEVEL

DDI compliance rules

StorPortIrql

See also

SCSI_REQUEST_BLOCK
STORAGE_REQUEST_BLOCK

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft