使用Windows原始访问API直接访问USB驱动器

时间:2011-05-24 05:45:31

标签: usb

在USB物理驱动器结束时,我想使用Windows原始访问API直接写入数据。我不想使用内核驱动程序来做到这一点。

据我所知,出于安全原因,HDD xp sp2或sp3(?)阻止了硬盘直接访问。我不确定USB驱动器是否正确。

请指导我如何到达那里。非常感谢。

2 个答案:

答案 0 :(得分:2)

这取决于你想要的“直接”。

这样的东西
HANDLE hDrive = CreateFile("\\\\.\\F:", ...);
ReadFile(hDrive, ...);

应该可以在大多数情况下为您提供所需的内容,尽管您可能需要DeviceIoControl

如果你正在做一些非常先进的事情。

P.S。:这应该是StackOverflow,就像其他人提到的那样。

答案 1 :(得分:0)

投票转向Stack Overflow。我认为无论如何,使用通过USB连接的外部硬盘不会改变任何东西,因为它仍然显示为Windows的普通磁盘。

当您说“原始访问API”时,您是指像here列出的CreateFile,WriteFile等函数吗?因为这些函数应该能够从普通的Win32应用程序中调用。或者您是否希望直接访问磁盘本身,中间没有文件系统层? (某些用户应用程序,例如HxD可以直接打开磁盘进行读/写 - 请谨慎使用)