根據上面的介紹,定義相應指令的資料結構如下:
/**
* 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,如需轉載請自行聯系原作者