如何进行SD卡读写?
直接写到SD卡里面,而不是写成一个文件!
[解决办法]
不通过文件系统,只能驱动来实现
具体不清楚
[解决办法]
如果是driver,可以直接给SD卡发命令。
如果是app,也可以直接写SD卡的物理扇区。
如:
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("成功!")); }