//target = 0xA0,0xB0
BOOL DisableSmartApm(HANDLE hDevice)
{
//return SendAtaCommand(hDevice, 0xA0, 0xEF, 0x85, 0, NULL, 0);
return SendAtaCommand(hDevice, 0xA0, 0xEF, 0x05, 0, NULL, 0);
}
//#define ATA_CMD_PACKET 0xA0 ///< defined from ATA-3
//#define ATA_CMD_SET_FEATURES 0xef ///< defined from ATA-1
//#define ATA_SUB_CMD_DISABLE_APM 0x85 ///< defined in ACS-3
//#define ATA_SUB_CMD_ENABLE_APM 0x05 ///< defined in ACS-3
BOOL GetDiskIdentify(HANDLE hDevice, ATA_IDENTIFY_DEVICE* data)
{
ZeroMemory(data,sizeof(ATA_IDENTIFY_DEVICE));
return SendAtaCommand(hDevice, 0xA0, 0xEC, 0x00, 0x00, (PBYTE)data, sizeof(ATA_IDENTIFY_DEVICE));
}
//#define ATA_CMD_PACKET 0xA0 ///< defined from ATA-3
//#define ATA_CMD_IDENTIFY_DRIVE 0xec ///< defined from ATA-3
SATA controller command
最新推荐文章于 2025-10-04 09:34:58 发布
此代码段展示了如何使用ATA命令来禁用智能APM功能以及获取硬盘的标识信息。`DisableSmartApm`函数通过发送0xEF, 0x05命令来禁用APM,而`GetDiskIdentify`函数则利用0xEC命令获取硬盘的ATA IDENTIFY DEVICE数据。
2245

被折叠的 条评论
为什么被折叠?



