硬盘的ATA Command操作

ljl2034 2013-05-31 04:14:05
下面是下SMART Command的code,哪位大神可以帮帮我呢?

 ATA_PASS_THROUGH_EX stCIP={0};
ATA_PASS_THROUGH_EX stCOP={0};
BOOL bRet=FALSE;
DWORD dwRet=0;

stCIP.AtaFlags = ATA_FLAGS_DATA_IN;
stCIP.DataTransferLength = READ_ATTRIBUTE_BUFFER_SIZE;
stCIP.CurrentTaskFile[0] = 0xd0;//Features
stCIP.CurrentTaskFile[1] = 1;//Sector count
stCIP.CurrentTaskFile[2] = 0;//Sector number
stCIP.CurrentTaskFile[3] = SMART_CYL_LOW;//Cylinder low
stCIP.CurrentTaskFile[4] = SMART_CYL_HI;//Cylinder high
stCIP.CurrentTaskFile[5] = 0xE0;//Device/head
stCIP.CurrentTaskFile[6] = 0xB0;//Command

bRet=DeviceIoControl(hDevice,IOCTL_ATA_PASS_THROUGH,
&stCIP,sizeof(ATA_PASS_THROUGH_DIRECT)+READ_ATTRIBUTE_BUFFER_SIZE,
&stCOP,sizeof(ATA_PASS_THROUGH_DIRECT)+READ_ATTRIBUTE_BUFFER_SIZE,
&dwRet,NULL);


最后Getlasterror返回1306.
...全文
434 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧