读书人

怎么进行SD卡读写

发布时间: 2012-03-11 18:15:39 作者: rapoo

如何进行SD卡读写?
直接写到SD卡里面,而不是写成一个文件!

[解决办法]
不通过文件系统,只能驱动来实现

具体不清楚
[解决办法]
如果是driver,可以直接给SD卡发命令。
如果是app,也可以直接写SD卡的物理扇区。

如:

C/C++ code
HANDLE hFile = CreateFile(_T("//./DSK1:"), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_FLAG_WRITE_THROUGH, NULL);   if (hFile == INVALID_HANDLE_VALUE)   {       return;   }    BYTE buffer[512];   for(int i=0;i < 512;i++)   {       buffer[i] = 0xA5;   }   SG_REQ SG_req1;   SG_req1.sr_start = 0;   SG_req1.sr_num_sec = 1;   SG_req1.sr_num_sg = 1;   SG_req1.sr_status = 0;   SG_req1.sr_callback = NULL;   SG_req1.sr_sglist[0].sb_len = 512;   SG_req1.sr_sglist[0].sb_buf = buffer;   DWORD actnum = 0;   if(!DeviceIoControl(hFile,IOCTL_DISK_WRITE,&SG_req1,  sizeof(SG_req1),0,0,&actnum,0))   {       MessageBox(_T("失败!"));   }   else   {       MessageBox(_T("成功!"));   } 

读书人网 >WinCE

热点推荐