当前位置: 代码迷 >> WinCE >> 怎么进行SD卡读写
  详细解决方案

怎么进行SD卡读写

热度:65   发布时间:2016-04-28 13:19:18.0
如何进行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("成功!"));   }
  相关解决方案