|
我写了一个直接写U盘0扇区的程序,目的是对U盘的0扇区进行加密.流程如下:
1.取得u盘的句柄:
char szdrv[MAX_PATH] = {0};
sprintf(szdrv, "\\\\.\\physicaldrive%d", uDevIndex);
HANDLE hDrive =
CreateFile(szdrv, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(INVALID_HANDLE_VALUE == hDrive)
{
return false;
}
2.ReadFile
3.加密
4.WriteFile
但是通过一下流程的测试,会出现写不上的问题:(win2003 标准版 sp2)
1.格式化(格式化之后不拔出U盘)
2.进行上述的操作.
结果就是拔出U盘再插上,数据并没有写上.请高手帮忙分析下原因.多谢.
|
|