阅读:1433回复:0
求教:在对U盘进行物理读写时碰到文件无法全部写入的问题
如果我得I盘是U盘,我编写的直接写U盘扇区的代码如下
HANDLE hDev = CreateFile( \"\\\\\\\\.\\\\I:\", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, NULL, NULL ) ; if( hDev == INVALID_HANDLE_VALUE ) { MessageBox(NULL, \"Error : Can not Create the file\", NULL, MB_OK) ; exit(0); } SetFilePointer( hDev, 512*dwFirstSector, 0, FILE_BEGIN ) ; WriteFile( hDev, lpBuffer, 512*dwToWriteSector, &dwWritten,NULL); FlushFileBuffers( hDev ) ; CloseHandle( hDev ) ; 当我在一个循环中运行上面的代码时,数据不能全部写进U盘。问题是计算机写缓存的速度快于缓存数据写入U盘的速度,请问应该怎样控制,以保证缓存全部写入? |
|