根据上面的介绍,定义相应命令的数据结构如下:
/**
* Inquiry命令数据结构
*/
<b>typedef</b><b>struct</b> _INQUIRY_SPC
{
UINT8OperationCode; //!< 操作码,应为0x12
UINT8Lun; //!< 逻辑单元号,应为0
UINT8PageCode; //!< 页代码,应为0
UINT8Reserved1; //!< 保留,应为0
UINT8AllocationLen; //!< 存储空间长度,常为0x24
UINT8Reserved[7]; //!< 保留,应为0
} INQUIRY_SPC, *PINQUIRY_SPC;
* 读容量命令
<b>typedef</b><b>struct</b> _READ_CAPACITY
UINT8OperationCode; //!< 操作码,应为0x25
UINT8Reserved[15]; //!< 保留,应为0
}READ_CAPACITY;
* 读命令
<b>typedef</b><b>struct</b> _READ_10
UINT8OperationCode; //!< 操作码,应为0x28
UINT8LBA_3; //!< 逻辑块地址3
UINT8LBA_2; //!< 逻辑块地址2
UINT8LBA_1; //!< 逻辑块地址1
UINT8LBA_0; //!< 逻辑块地址0
UINT8Reserved2; //!< 保留,应为0
UINT8XferLen_1; //!< 传输扇区数,高字节
UINT8XferLen_0; //!< 传输扇区数,低字节
UINT8Reserved3[4]; //!< 保留,应为0
}READ_10;
* 写命令
<b>typedef</b><b>struct</b> _WRITE_10
UINT8OperationCode; //!< 操作码,应为0x2A
}WRITE_10;
本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/310335,如需转载请自行联系原作者