.net Windows-将HDD置于待机和睡眠模式
如何在Windows中以编程方式将硬盘驱动器置于待机或休眠模式 Windows API或任何.Net库是否提供了实现这一点的函数?(我知道我可能不应该干扰Windows的电源管理机制,但这不是我打算在生产环境中使用的,它是一些算法的概念证明)。我找到了一个名为“RevosReep”的程序警告:音乐强> 我不能告诉你们它是否有效[我并没有足够的勇气去尝试:)]但我确实尝试过用反编译。你瞧,它起了作用。(我找不到这东西是根据什么授权的,所以要小心。) 在不知道我在看什么的情况下,这些片段似乎是最相关的。它们都使用windowsapi函数 “睡眠”驱动器: “锁定”驱动器: “停用”驱动器: “将卷置于脱机状态”(?): 同样,我也不知道这是否有效,甚至不知道你在寻找什么。您可以尝试反编译它,并亲自查看所有代码 或者,这些api调用是否有帮助?.net Windows-将HDD置于待机和睡眠模式,.net,winapi,.net,Winapi,如何在Windows中以编程方式将硬盘驱动器置于待机或休眠模式 Windows API或任何.Net库是否提供了实现这一点的函数?(我知道我可能不应该干扰Windows的电源管理机制,但这不是我打算在生产环境中使用的,它是一些算法的概念证明)。我找到了一个名为“RevosReep”的程序警告:音乐 我不能告诉你们它是否有效[我并没有足够的勇气去尝试:)]但我确实尝试过用反编译。你瞧,它起了作用。(我找不到这东西是根据什么授权的,所以要小心。) 在不知道我在看什么的情况下,这些片段似乎是最相关的。
祝你好运
if (Environment.OSVersion.Version.Build > 0xa28)
{
num2 = DeviceIoControl(this.hDevice[0], 0x4d02c, (void*) &_ata_pass_through_ex_with_buffer, 40, (void*) &_ata_pass_through_ex_with_buffer, 40, (uint modopt(IsLong)*) &num11, null);
}
else
{
num2 = DeviceIoControl(this.hDevice[0], 0x4d028, (void*) &_ata_pass_through, 0x20c, (void*) &_ata_pass_through, 0x20c, (uint modopt(IsLong)*) &num11, null);
//...
}
DeviceIoControl(hDevice[index], 0x90018, null, 0, null, 0, (uint modopt(IsLong)*) &num11, null);
DeviceIoControl(this.hDevice[0], 0x2d1080, null, 0, (void*) &_storage_device_number2, 12, (uint modopt(IsLong)*) &num8, null);
DeviceIoControl(this.hDevice[num3], 0x56c00c, null, 0, null, 0, (uint modopt(IsLong)*) &num11, null);