Win7 64位,4G的U盘,FAT32格式。
用管理员权限运行的,WriteFile函数只能对U盘的第一个扇区写,1 号扇区开始就出现错误5(即权限不够)。为啥?如果是权限不够,为啥 0扇区能写?还需要啥权限?
ReadFile函数没有障碍,能读到最后一个扇区。
焦头烂额中。。。不知几点能睡了。
代码?###### @zhongxh
/* 写扇区 * 参数:buff 待写数据(最大512字节),iDriver 驱动器号,iSector 扇区号 * 返回值:实际写入的字节数(0 为未成功写入) */ int WriteSector(unsigned char *buff, int iDriver, unsigned long iSector) { char DriverName[MAX_PATH]; DWORD iTemp, iWrite = 0; HANDLE hFile; LARGE_INTEGER iOffset;
if(buff != NULL) { sprintf(DriverName, "\\.\PhysicalDrive%d", iDriver); hFile = CreateFile(DriverName, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0); if(hFile != INVALID_HANDLE_VALUE) { iOffset.QuadPart = (long long)iSector*SECTOR_SIZE; SetFilePointer(hFile, iOffset.LowPart, &iOffset.HighPart, FILE_BEGIN); DeviceIoControl(hFile, FSCTL_LOCK_VOLUME, NULL, 0, NULL, 0, &iTemp, (LPOVERLAPPED)NULL); WriteFile(hFile, buff, SECTOR_SIZE, &iWrite, NULL); DeviceIoControl(hFile, FSCTL_UNLOCK_VOLUME, NULL, 0, NULL, 0, &iTemp, (LPOVERLAPPED)NULL); CloseHandle(hFile); } } return iWrite; }
######好像是没有加权限###### http://blog.csdn.net/vbvcde/article/details/7699317破解 VISTA & WIN7对直接磁盘写入的防护 win7 磁盘不可写 win7磁盘被写保护 win7磁盘写保护
win7 写物理硬盘扇区 win7 写物理扇区 win7 写物理硬盘
VISTA & WIN7对直接磁盘写入的防护 在VISTA 和WINDOWS 7的NTFS驱动中,对直接写入磁盘分区做了限制,RING3无法直接写入"受保护"的磁盘分区
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。