智能客服
你问我答,随时在线为你解决问题
声明用于主机侧访问SCSI设备的SCSI Peripheral DDK接口。该模块基于SCSI协议标准,通过DDK驱动服务提供SCSI设备访问能力。
引用文件: <scsi_peripheral/scsi_peripheral_api.h>
库: libscsi.z.so
系统能力: SystemCapability.Driver.SCSI.Extension
起始版本: 18
相关模块: ScsiPeripheralDDK
int32_t OH_ScsiPeripheral_Init(void)
描述
初始化SCSI Peripheral DDK。必须在调用其他所有SCSI Peripheral DDK方法之前调用此方法。使用完毕后必须调用OH_ScsiPeripheral_Release释放资源,否则会导致资源泄漏。
需要权限: ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL
起始版本: 18
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_NO_PERM 权限校验失败。请确保应用已正确获取 ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL 权限。 SCSIPERIPHERAL_DDK_INIT_ERROR 初始化DDK失败。 SCSIPERIPHERAL_DDK_SERVICE_ERROR 与DDK服务通信失败。请检查DDK服务是否初始化并正常运行。 |
int32_t OH_ScsiPeripheral_Release(void)
描述
释放SCSI Peripheral DDK。必须先通过OH_ScsiPeripheral_Init初始化,并在不再使用SCSI Peripheral DDK方法后释放,以避免资源泄漏。
需要权限: ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL
起始版本: 18
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_NO_PERM 权限校验失败。请确保应用已正确获取 ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL 权限。 SCSIPERIPHERAL_DDK_INIT_ERROR 未初始化DDK或DDK初始化失败。 SCSIPERIPHERAL_DDK_SERVICE_ERROR 与DDK服务通信失败。请检查DDK服务是否初始化并正常运行。 |
int32_t OH_ScsiPeripheral_Open(uint64_t deviceId, uint8_t interfaceIndex, ScsiPeripheral_Device **dev)
描述
打开deviceId和interfaceIndex指定的SCSI设备。其中,deviceId可以通过USB设备的总线编号左移32位后,同其设备地址进行或运算得到,interfaceIndex为需要打开的USB接口的索引值。在使用完设备后,须调用OH_ScsiPeripheral_Close关闭设备并释放资源,否则会导致资源泄漏。
需要权限: ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL
起始版本: 18
参数:
| 参数项 | 描述 |
|---|---|
| uint64_t deviceId | 设备ID,代表要操作的设备,可通过OH_Usb_GetDevices查询获取。 |
| uint8_t interfaceIndex | 接口索引,为需要打开的SCSI设备对应USB接口的索引值。 |
| ScsiPeripheral_Device **dev | 设备句柄,详情参见ScsiPeripheral_Device。 |
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_NO_PERM 权限校验失败。请确保应用已正确获取 ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL 权限。 SCSIPERIPHERAL_DDK_INIT_ERROR 未初始化DDK。请先调用OH_ScsiPeripheral_Init进行初始化。 SCSIPERIPHERAL_DDK_INVALID_PARAMETER dev为空或*dev为空。请检查指针参数是否正确。 SCSIPERIPHERAL_DDK_SERVICE_ERROR 与DDK服务通信失败。请检查DDK服务是否初始化并正常运行。 SCSIPERIPHERAL_DDK_MEMORY_ERROR 内存操作失败。请检查内存状态以及是否存在越界操作。 SCSIPERIPHERAL_DDK_IO_ERROR DDK发生I/O错误。请检查设备状态是否正常、参数是否正确。 SCSIPERIPHERAL_DDK_DEVICE_NOT_FOUND 通过deviceId和interfaceIndex找不到设备。 SCSIPERIPHERAL_DDK_INVALID_OPERATION 不支持该操作。请检查设备规格和状态。 |
int32_t OH_ScsiPeripheral_Close(ScsiPeripheral_Device **dev)
描述
关闭SCSI设备,释放设备句柄资源并使其失效。与OH_ScsiPeripheral_Open配对使用,在设备使用完毕后必须调用此方法关闭设备并释放资源,否则会导致资源泄漏。
需要权限: ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL
起始版本: 18
参数:
| 参数项 | 描述 |
|---|---|
| ScsiPeripheral_Device **dev | 设备句柄,详情参见ScsiPeripheral_Device。 |
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_NO_PERM 权限校验失败。请确保应用已正确获取 ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL 权限。 SCSIPERIPHERAL_DDK_INIT_ERROR 未初始化DDK。请先调用OH_ScsiPeripheral_Init进行初始化。 SCSIPERIPHERAL_DDK_INVALID_PARAMETER dev为空或*dev为空。请检查指针参数是否正确。 SCSIPERIPHERAL_DDK_SERVICE_ERROR 与DDK服务通信失败。请检查DDK服务是否初始化并正常运行。 SCSIPERIPHERAL_DDK_IO_ERROR DDK发生I/O错误。请检查设备状态是否正常、参数是否正确。 |
int32_t OH_ScsiPeripheral_TestUnitReady(ScsiPeripheral_Device *dev, ScsiPeripheral_TestUnitReadyRequest *request, ScsiPeripheral_Response *response)
描述
检查逻辑单元是否已经准备好(逻辑单元是SCSI设备中可独立寻址的I/O操作实体)。
需要权限: ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL
起始版本: 18
参数:
| 参数项 | 描述 |
|---|---|
| ScsiPeripheral_Device *dev | 设备句柄,详情参见ScsiPeripheral_Device。 |
| ScsiPeripheral_TestUnitReadyRequest *request | 逻辑单元检查命令(test unit ready)的请求信息,详情参见ScsiPeripheral_TestUnitReadyRequest。 |
| ScsiPeripheral_Response *response | 逻辑单元检查命令(test unit ready)的响应信息,详情参见ScsiPeripheral_Response。 |
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_NO_PERM 权限校验失败。请确保应用已正确获取 ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL 权限。 SCSIPERIPHERAL_DDK_INIT_ERROR 未初始化DDK。请先调用OH_ScsiPeripheral_Init进行初始化。 SCSIPERIPHERAL_DDK_INVALID_PARAMETER dev为空、request为空或者response为空。请检查指针参数是否正确。 SCSIPERIPHERAL_DDK_SERVICE_ERROR 与DDK服务通信失败。请检查DDK服务是否初始化并正常运行。 SCSIPERIPHERAL_DDK_MEMORY_ERROR 内存操作失败。请检查内存状态以及是否存在越界操作。 SCSIPERIPHERAL_DDK_IO_ERROR DDK发生I/O错误。请检查设备状态是否正常、参数是否正确。 SCSIPERIPHERAL_DDK_TIMEOUT 传输超时。请检查设备状态、或适当增加超时时间。 SCSIPERIPHERAL_DDK_INVALID_OPERATION 不支持该操作。请检查设备规格和状态。 |
int32_t OH_ScsiPeripheral_Inquiry(ScsiPeripheral_Device *dev, ScsiPeripheral_InquiryRequest *request, ScsiPeripheral_InquiryInfo *inquiryInfo, ScsiPeripheral_Response *response)
描述
查询SCSI设备的基本信息。
需要权限: ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL
起始版本: 18
参数:
| 参数项 | 描述 |
|---|---|
| ScsiPeripheral_Device *dev | 设备句柄,详情参见ScsiPeripheral_Device。 |
| ScsiPeripheral_InquiryRequest *request | inquiry命令的请求信息,详情参见ScsiPeripheral_InquiryRequest。 |
| ScsiPeripheral_InquiryInfo *inquiryInfo | inquiry命令返回的查询信息,详情参见ScsiPeripheral_InquiryInfo。 |
| ScsiPeripheral_Response *response | inquiry命令返回的原始响应信息,详情参见ScsiPeripheral_Response。 |
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_NO_PERM 权限校验失败。请确保应用已正确获取 ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL 权限。 SCSIPERIPHERAL_DDK_INIT_ERROR 未初始化DDK。请先调用OH_ScsiPeripheral_Init进行初始化。 SCSIPERIPHERAL_DDK_INVALID_PARAMETER dev为空、 request为空、inquiryInfo为空、inquiryInfo->data或者response为空。请检查指针参数是否正确。 SCSIPERIPHERAL_DDK_SERVICE_ERROR 与DDK服务通信失败。请检查DDK服务是否初始化并正常运行。 SCSIPERIPHERAL_DDK_MEMORY_ERROR 内存操作失败。请检查内存状态以及是否存在越界操作。 SCSIPERIPHERAL_DDK_IO_ERROR DDK发生I/O错误。请检查设备状态是否正常、参数是否正确。 SCSIPERIPHERAL_DDK_TIMEOUT 传输超时。请检查设备状态、或适当增加超时时间。 SCSIPERIPHERAL_DDK_INVALID_OPERATION 不支持该操作。请检查设备规格和状态。 |
int32_t OH_ScsiPeripheral_ReadCapacity10(ScsiPeripheral_Device *dev, ScsiPeripheral_ReadCapacityRequest *request, ScsiPeripheral_CapacityInfo *capacityInfo, ScsiPeripheral_Response *response)
描述
获取SCSI设备的容量信息。
需要权限: ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL
起始版本: 18
参数:
| 参数项 | 描述 |
|---|---|
| ScsiPeripheral_Device *dev | 设备句柄,详情参见ScsiPeripheral_Device。 |
| ScsiPeripheral_ReadCapacityRequest *request | read capacity命令的请求信息,详情参见ScsiPeripheral_ReadCapacityRequest。 |
| ScsiPeripheral_CapacityInfo *capacityInfo | read capacity命令返回的容量信息,详情参见ScsiPeripheral_CapacityInfo。 |
| ScsiPeripheral_Response *response | read capacity命令返回的原始响应信息,详情参见ScsiPeripheral_Response。 |
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_NO_PERM 权限校验失败。请确保应用已正确获取 ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL 权限。 SCSIPERIPHERAL_DDK_INIT_ERROR 未初始化DDK。请先调用OH_ScsiPeripheral_Init进行初始化。 SCSIPERIPHERAL_DDK_INVALID_PARAMETER dev为空、 request为空、capacityInfo为空或者response为空。请检查指针参数是否正确。 SCSIPERIPHERAL_DDK_SERVICE_ERROR 与DDK服务通信失败。请检查DDK服务是否初始化并正常运行。 SCSIPERIPHERAL_DDK_MEMORY_ERROR 内存操作失败。请检查内存状态以及是否存在越界操作。 SCSIPERIPHERAL_DDK_IO_ERROR DDK发生I/O错误。请检查设备状态是否正常、参数是否正确。 SCSIPERIPHERAL_DDK_TIMEOUT 传输超时。请检查设备状态、或适当增加超时时间。 SCSIPERIPHERAL_DDK_INVALID_OPERATION 不支持该操作。请检查设备规格和状态。 |
int32_t OH_ScsiPeripheral_RequestSense(ScsiPeripheral_Device *dev, ScsiPeripheral_RequestSenseRequest *request, ScsiPeripheral_Response *response)
描述
获取Sense Data(SCSI设备返回给主机的信息,用于报告设备的状态、错误信息以及诊断信息)。
需要权限: ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL
起始版本: 18
参数:
| 参数项 | 描述 |
|---|---|
| ScsiPeripheral_Device *dev | 设备句柄,详情参见ScsiPeripheral_Device。 |
| ScsiPeripheral_RequestSenseRequest *request | Request Sense命令的请求信息,详情参见ScsiPeripheral_RequestSenseRequest。 |
| ScsiPeripheral_Response *response | Request Sense命令返回的响应信息,详情参见ScsiPeripheral_Response。 |
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_NO_PERM 权限校验失败。请确保应用已正确获取 ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL 权限。 SCSIPERIPHERAL_DDK_INIT_ERROR 未初始化DDK。请先调用OH_ScsiPeripheral_Init进行初始化。 SCSIPERIPHERAL_DDK_INVALID_PARAMETER dev为空、 request为空或者response为空。请检查指针参数是否正确。 SCSIPERIPHERAL_DDK_SERVICE_ERROR 与DDK服务通信失败。请检查DDK服务是否初始化并正常运行。 SCSIPERIPHERAL_DDK_MEMORY_ERROR 内存操作失败。请检查内存状态以及是否存在越界操作。 SCSIPERIPHERAL_DDK_IO_ERROR DDK发生I/O错误。请检查设备状态是否正常、参数是否正确。 SCSIPERIPHERAL_DDK_TIMEOUT 传输超时。请检查设备状态、或适当增加超时时间。 SCSIPERIPHERAL_DDK_INVALID_OPERATION 不支持该操作。请检查设备规格和状态。 |
int32_t OH_ScsiPeripheral_Read10(ScsiPeripheral_Device *dev, ScsiPeripheral_IORequest *request, ScsiPeripheral_Response *response)
描述
从指定逻辑块读取数据。
需要权限: ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL
起始版本: 18
参数:
| 参数项 | 描述 |
|---|---|
| ScsiPeripheral_Device *dev | 设备句柄,详情参见ScsiPeripheral_Device。 |
| ScsiPeripheral_IORequest *request | read命令的请求信息,详情参见ScsiPeripheral_IORequest。 |
| ScsiPeripheral_Response *response | read命令返回的响应信息,详情参见ScsiPeripheral_Response。 |
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_NO_PERM 权限校验失败。请确保应用已正确获取 ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL 权限。 SCSIPERIPHERAL_DDK_INIT_ERROR 未初始化DDK。请先调用OH_ScsiPeripheral_Init进行初始化。 SCSIPERIPHERAL_DDK_INVALID_PARAMETER dev为空、 request为空、request->data或者response为空。请检查指针参数是否正确。 SCSIPERIPHERAL_DDK_SERVICE_ERROR 与DDK服务通信失败。请检查DDK服务是否初始化并正常运行。 SCSIPERIPHERAL_DDK_MEMORY_ERROR 内存操作失败。请检查内存状态以及是否存在越界操作。 SCSIPERIPHERAL_DDK_IO_ERROR DDK发生I/O错误。请检查设备状态是否正常、参数是否正确。 SCSIPERIPHERAL_DDK_TIMEOUT 传输超时。请检查设备状态、或适当增加超时时间。 SCSIPERIPHERAL_DDK_INVALID_OPERATION 不支持该操作。请检查设备规格和状态。 |
int32_t OH_ScsiPeripheral_Write10(ScsiPeripheral_Device *dev, ScsiPeripheral_IORequest *request, ScsiPeripheral_Response *response)
描述
写数据到设备的指定逻辑块。
需要权限: ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL
起始版本: 18
参数:
| 参数项 | 描述 |
|---|---|
| ScsiPeripheral_Device *dev | 设备句柄,详情参见ScsiPeripheral_Device。 |
| ScsiPeripheral_IORequest *request | write命令的请求信息,详情参见ScsiPeripheral_IORequest。 |
| ScsiPeripheral_Response *response | write命令返回的响应信息,详情参见ScsiPeripheral_Response。 |
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_NO_PERM 权限校验失败。请确保应用已正确获取 ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL 权限。 SCSIPERIPHERAL_DDK_INIT_ERROR 未初始化DDK。请先调用OH_ScsiPeripheral_Init进行初始化。 SCSIPERIPHERAL_DDK_INVALID_PARAMETER dev为空、 request为空、request->data为空或者response为空。请检查指针参数是否正确。 SCSIPERIPHERAL_DDK_SERVICE_ERROR 与DDK服务通信失败。请检查DDK服务是否初始化并正常运行。 SCSIPERIPHERAL_DDK_MEMORY_ERROR 内存操作失败。请检查内存状态以及是否存在越界操作。 SCSIPERIPHERAL_DDK_IO_ERROR DDK发生I/O错误。请检查设备状态是否正常、参数是否正确。 SCSIPERIPHERAL_DDK_TIMEOUT 传输超时。请检查设备状态、或适当增加超时时间。 SCSIPERIPHERAL_DDK_INVALID_OPERATION 不支持该操作。请检查设备规格和状态。 |
int32_t OH_ScsiPeripheral_Verify10(ScsiPeripheral_Device *dev, ScsiPeripheral_VerifyRequest *request, ScsiPeripheral_Response *response)
描述
校验指定逻辑块。
需要权限: ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL
起始版本: 18
参数:
| 参数项 | 描述 |
|---|---|
| ScsiPeripheral_Device *dev | 设备句柄,详情参见ScsiPeripheral_Device。 |
| ScsiPeripheral_VerifyRequest *request | verify命令的请求信息,详情参见ScsiPeripheral_VerifyRequest。 |
| ScsiPeripheral_Response *response | verify命令返回的响应信息,详情参见ScsiPeripheral_Response。 |
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_NO_PERM 权限校验失败。请确保应用已正确获取 ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL 权限。 SCSIPERIPHERAL_DDK_INIT_ERROR 未初始化DDK。请先调用OH_ScsiPeripheral_Init进行初始化。 SCSIPERIPHERAL_DDK_INVALID_PARAMETER dev为空、request为空或者response为空。请检查指针参数是否正确。 SCSIPERIPHERAL_DDK_SERVICE_ERROR 与DDK服务通信失败。请检查DDK服务是否初始化并正常运行。 SCSIPERIPHERAL_DDK_MEMORY_ERROR 内存操作失败。请检查内存状态以及是否存在越界操作。 SCSIPERIPHERAL_DDK_IO_ERROR DDK发生I/O错误。请检查设备状态是否正常、参数是否正确。 SCSIPERIPHERAL_DDK_TIMEOUT 传输超时。请检查设备状态、或适当增加超时时间。 SCSIPERIPHERAL_DDK_INVALID_OPERATION 不支持该操作。请检查设备规格和状态。 |
int32_t OH_ScsiPeripheral_SendRequestByCdb(ScsiPeripheral_Device *dev, ScsiPeripheral_Request *request, ScsiPeripheral_Response *response)
描述
以CDB(Command Descriptor Block,命令描述符块)方式发送SCSI命令。
需要权限: ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL
起始版本: 18
参数:
| 参数项 | 描述 |
|---|---|
| ScsiPeripheral_Device *dev | 设备句柄,详情参见ScsiPeripheral_Device。 |
| ScsiPeripheral_Request *request | CDB请求,详情参见ScsiPeripheral_Request。调用时需确保data字段不为空、cdbLength字段不为0。 |
| ScsiPeripheral_Response *response | CDB响应,详情参见ScsiPeripheral_Response。 |
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_NO_PERM 权限校验失败。请确保应用已正确获取 ohos.permission.ACCESS_DDK_SCSI_PERIPHERAL 权限。 SCSIPERIPHERAL_DDK_INIT_ERROR 未初始化DDK。请先调用OH_ScsiPeripheral_Init进行初始化。 SCSIPERIPHERAL_DDK_INVALID_PARAMETER dev为空、 request为空、request->data为 空、request->cdbLength为0或者response为空。请检查指针参数是否正确。 SCSIPERIPHERAL_DDK_SERVICE_ERROR 与DDK服务通信失败。请检查DDK服务是否初始化并正常运行。 SCSIPERIPHERAL_DDK_MEMORY_ERROR 内存操作失败。请检查内存状态以及是否存在越界操作。 SCSIPERIPHERAL_DDK_IO_ERROR DDK发生I/O错误。请检查设备状态是否正常、参数是否正确。 SCSIPERIPHERAL_DDK_TIMEOUT 传输超时。请检查设备状态、或适当增加超时时间。 SCSIPERIPHERAL_DDK_INVALID_OPERATION 不支持该操作。请检查设备规格和状态。 |
int32_t OH_ScsiPeripheral_CreateDeviceMemMap(ScsiPeripheral_Device *dev, size_t size, ScsiPeripheral_DeviceMemMap **devMmap)
描述
创建缓冲区。请在缓冲区使用完后,调用OH_ScsiPeripheral_DestroyDeviceMemMap销毁缓冲区,否则会造成资源泄漏。
起始版本: 18
参数:
| 参数项 | 描述 |
|---|---|
| ScsiPeripheral_Device *dev | 设备句柄,详情参见ScsiPeripheral_Device。 |
| size_t size | 缓冲区的大小,单位:Byte。 |
| ScsiPeripheral_DeviceMemMap **devMmap | 创建的缓冲区通过该参数返回给调用者,详情参见ScsiPeripheral_DeviceMemMap。 |
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_INVALID_PARAMETER dev为空、devMmap为空或*devMmap为空。请检查指针参数是否正确。 SCSIPERIPHERAL_DDK_MEMORY_ERROR 内存操作失败。请检查内存状态以及是否存在越界操作。 |
int32_t OH_ScsiPeripheral_DestroyDeviceMemMap(ScsiPeripheral_DeviceMemMap *devMmap)
描述
销毁缓冲区。请在缓冲区使用完后及时销毁缓冲区,否则会造成资源泄漏。
起始版本: 18
参数:
| 参数项 | 描述 |
|---|---|
| ScsiPeripheral_DeviceMemMap *devMmap | 待销毁的缓冲区指针,该缓冲区由OH_ScsiPeripheral_CreateDeviceMemMap创建。 |
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_INVALID_PARAMETER devMmap为空。请检查指针参数是否正确。 SCSIPERIPHERAL_DDK_MEMORY_ERROR 内存操作失败。请检查内存状态以及是否存在越界操作。 |
int32_t OH_ScsiPeripheral_ParseBasicSenseInfo(uint8_t *senseData, uint8_t senseDataLen, ScsiPeripheral_BasicSenseInfo *senseInfo)
描述
解析基本的Sense Data,包括Information、Command specific information、Sense key specific字段。
起始版本: 18
参数:
| 参数项 | 描述 |
|---|---|
| uint8_t *senseData | 待解析的Sense Data。 |
| uint8_t senseDataLen | Sense Data长度,即senseData参数指向的数据长度,单位:Byte。 |
| ScsiPeripheral_BasicSenseInfo *senseInfo | 用于保存解析后的基本信息,详情参见ScsiPeripheral_BasicSenseInfo。 |
返回:
| 类型 | 说明 |
|---|---|
| int32_t | SCSIPERIPHERAL_DDK_SUCCESS 调用接口成功。 SCSIPERIPHERAL_DDK_INVALID_PARAMETER senseData格式不是描述符或固定格式、senseDataLen小于 SCSIPERIPHERAL_MIN_DESCRIPTOR_FORMAT_SENSE或者senseDataLen小于SCSIPERIPHERAL_MIN_FIXED_FORMAT_SENSE。 |