-
大小: 1.36MB文件类型: .zip金币: 2下载: 0 次发布日期: 2023-09-30
- 语言: 其他
- 标签: FATFSv0.12 vs2010 多线程
资源简介
FATFSv0.12 在移动平台开发时调试比较麻烦,这是移植到windows端vs2010的测试代码。支持多线程写文件到磁盘。

代码片段和文件信息
/*-----------------------------------------------------------------------*/
/* Low level disk I/O module skeleton for FatFs (C)ChaN 2014 */
/*-----------------------------------------------------------------------*/
/* If a working storage control module is available it should be */
/* attached to the FatFs via a glue function rather than modifying it. */
/* This is an example of glue functions to attach various exsisting */
/* storage control modules to the FatFs module with a defined API. */
/*-----------------------------------------------------------------------*/
#include “diskio.h“ /* FatFs lower layer API */
/*-----------------------------------------------------------------------*/
/* Get Drive Status */
/*-----------------------------------------------------------------------*/
static HANDLE hDevice = NULL;
long long g_SD_DevCap = 0;
static DSTATUS DiskStatus; //初始话磁盘状态为未初始化
DSTATUS disk_status (
BYTE pdrv /* Physical drive nmuber to identify the drive */
)
{
return DiskStatus;
}
/*-----------------------------------------------------------------------*/
/* Inidialize a Drive */
/*-----------------------------------------------------------------------*/
DSTATUS disk_initialize (
BYTE pdrv /* Physical drive nmuber to identify the drive */
)
{
// hDevice = CreateFile(“\\\\.\\G:“
// GENERIC_READ|GENERIC_WRITE
// FILE_SHARE_READ | FILE_SHARE_WRITE
// NULL OPEN_EXISTING FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED NULL
// );
int cbRet;
BOOL bRet;
char drv = (char)pdrv;
char DriveDevicePath[]=“\\\\.\\Z:“;
DriveDevicePath[4] = ‘G‘;
hDevice = CreateFileA(
(DriveDevicePath)
GENERIC_READ | GENERIC_WRITE
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE
NULL
OPEN_EXISTING
FILE_FLAG_NO_BUFFERING
NULL);
if (hDevice == INVALID_HANDLE_VALUE)
{
DiskStatus = STA_NOINIT;
return DiskStatus;
}
bRet= DeviceIoControl(
(HANDLE) hDevice // handle to device
FSCTL_ALLOW_EXTENDED_DASD_IO // dwIoControlCode
NULL // lpInBuffer
0 // nInBufferSize
NULL // lpOutBuffer
0 // nOutBufferSize
&cbRet // number of bytes returned
NULL // OVERLAPPED structure
);
// if ( !bRet )
// printf ( “Failed to allow extended DASD on device“ );
// else
// printf ( “FSCTL_ALLOW_EXTENDED_DASD_IO OK\n“ );
// lock it
bRet = DeviceIoControl( hDevice FSCTL_LOCK_VOLUME NULL 0 NULL 0 &cbRet NULL );
if ( !bRet )
{
DWORD ret = GetLastError();
DiskStatus = STA_NOINIT;
return DiskStatus;
}
return DiskStatus;
}
void seek_to_sect( HANDLE hDevice DWORD
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-10-25 11:32 Debug\
目录 0 2016-10-25 11:30 FATFS\
目录 0 2016-10-25 11:30 FATFS\Debug\
文件 3253 2016-10-25 11:30 FATFS\Debug\FATFS.Build.CppClean.log
文件 445 2016-10-25 11:30 FATFS\Debug\FATFS.log
文件 4557 2016-10-25 10:48 FATFS\FATFS.cpp
文件 4684 2016-10-24 18:12 FATFS\FATFS.vcxproj
文件 2020 2016-10-24 18:12 FATFS\FATFS.vcxproj.filters
文件 704 2016-10-24 19:03 FATFS\FATFS.vcxproj.user
文件 1539 2016-10-20 14:34 FATFS\ReadMe.txt
目录 0 2016-10-24 09:57 FATFS\Release\
文件 84906 2016-10-24 09:57 FATFS\Release\CL.read.1.tlog
文件 4078 2016-10-24 09:57 FATFS\Release\CL.write.1.tlog
文件 1256 2016-10-24 09:57 FATFS\Release\FATFS.Build.CppClean.log
文件 381 2016-10-24 09:57 FATFS\Release\FATFS.exe.intermediate.manifest
文件 85 2016-10-24 09:57 FATFS\Release\FATFS.lastbuildstate
文件 2496 2016-10-24 09:57 FATFS\Release\FATFS.log
文件 90820 2016-10-24 09:57 FATFS\Release\FATFS.obj
文件 1245184 2016-10-24 09:57 FATFS\Release\FATFS.pch
文件 0 2016-10-24 09:57 FATFS\Release\FATFS.write.1.tlog
文件 589326 2016-10-24 09:57 FATFS\Release\cc936.obj
文件 5060 2016-10-24 09:57 FATFS\Release\cl.command.1.tlog
文件 65860 2016-10-24 09:57 FATFS\Release\diskio.obj
文件 223474 2016-10-24 09:57 FATFS\Release\ff.obj
文件 2568 2016-10-24 09:57 FATFS\Release\li
文件 4626 2016-10-24 09:57 FATFS\Release\li
文件 1518 2016-10-24 09:57 FATFS\Release\li
文件 512 2016-10-24 09:57 FATFS\Release\mt.command.1.tlog
文件 794 2016-10-24 09:57 FATFS\Release\mt.read.1.tlog
文件 336 2016-10-24 09:57 FATFS\Release\mt.write.1.tlog
文件 50714 2016-10-24 09:57 FATFS\Release\stdafx.obj
............此处省略19个文件信息
相关资源
- 编写简单的RMI程序 多线程web 服务器
- ado数据库MFC图书管理系统vs2010
- 多线程生产者消费者模式
- 多线程实例:桌面智能弹球小游戏
- WPF多线程演示
-
解决安装vs2012后vs2010 li
nk : fatal er - 易语言:多线程传多变量的最稳定方
- AnkhSvn-2.6.12735 支持VS2010-VS2015 官方原版
- VS2010、VS2012、VS2013代码自动注释插件
- 插件式GIS应用框架的设计与实现&mda
- 通过x264录制RGB屏幕视频vs2013工程,
- G726、G711、G711A转换为AAC
- VS2010 运行时库
- vs2010 ffmpeg实时解码h264码流
- 排队买票多线程问题
- 个人银行账户管理系统
- CMake-3.9.0
- 基于FFMPEG_SDL2_音视频播放_参考音频时
- 强大的完善的 活动抽奖系统适合各单
- G-code-Interpreter,G代码解释器
- 十字路口红绿灯交通情况模拟
- 三款主题VS2010
- VS2010黑色主题Dark主题
- Qt 多线程连接数据库——数据库
- Visual Assist X VA_X插件及破解工具,适用
- 易语言多线程端口扫描源码
- POSIX多线程程序设计中文版源码
- 易语言md5定向爆破源码
- TabControl用法图解VS2010
- Midas to FLAC3D-vs2010
评论
共有 条评论