淘先锋技术网

首页 1 2 3 4 5 6 7
根据上面的介绍,定义相应命令的数据结构如下:

typedefstruct _INQUIRY_SPC

{

    UINT8OperationCode//!< 操作码,应为0x12

    UINT8Lun;           //!< 逻辑单元号,应为0

    UINT8PageCode;      //!< 页代码,应为0

    UINT8Reserved1;     //!< 保留,应为0

    UINT8AllocationLen//!< 存储空间长度,常为0x24

    UINT8Reserved[7];       //!< 保留,应为0

INQUIRY_SPC *PINQUIRY_SPC;

 

typedefstruct _READ_CAPACITY

{

    UINT8OperationCode//!< 操作码,应为0x25

    UINT8Reserved[15];   //!< 保留,应为0

}READ_CAPACITY;

typedefstruct _READ_10

{

    UINT8OperationCode//!< 操作码,应为0x28

    UINT8Reserved1;     //!< 保留,应为0

    UINT8LBA_3;         //!< 逻辑块地址3

    UINT8LBA_2;         //!< 逻辑块地址2

    UINT8LBA_1;          //!< 逻辑块地址1

    UINT8LBA_0;         //!< 逻辑块地址0

    UINT8Reserved2;     //!< 保留,应为0

    UINT8XferLen_1;     //!< 传输扇区数,高字节

    UINT8XferLen_0;     //!< 传输扇区数,低字节

    UINT8Reserved3[4]; //!< 保留,应为0

}READ_10;

typedefstruct _WRITE_10

{

    UINT8OperationCode//!< 操作码,应为0x2A

    UINT8Reserved1;     //!< 保留,应为0

    UINT8LBA_3;         //!< 逻辑块地址3

    UINT8LBA_2;         //!< 逻辑块地址2

    UINT8LBA_1;          //!< 逻辑块地址1

    UINT8LBA_0;         //!< 逻辑块地址0

    UINT8Reserved2;     //!< 保留,应为0

    UINT8XferLen_1;     //!< 传输扇区数,高字节

    UINT8XferLen_0;     //!< 传输扇区数,低字节

    UINT8Reserved3[4]; //!< 保留,应为0

}WRITE_10;






本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/310335,如需转载请自行联系原作者