资源简介
filedisk-21是最新版本的经典windows磁盘驱动例子,学习必看。将一个(或多个)文件映射为物理磁盘或光驱。包括了驱动部分代码和应用部分代码。这个版本支持了映射稀疏文件,稀疏文件大家都知道的吧?--windows的天才设计,效果上实现了磁盘映射文件占用空间的按需变大...
注意:需要在vs2015和wdk10编译代码。
注意:需要在vs2015和wdk10编译代码。

代码片段和文件信息
/*
This is a virtual disk driver for Windows that uses one or more files to
emulate physical disks.
Copyright (C) 1999-2015 Bo Brant閚.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License or
(at your option) any later version.
This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not write to the Free Software
Foundation Inc. 59 Temple Place Suite 330 Boston MA 02111-1307 USA
*/
#include
#include
#include
#include
#include
#include “filedisk.h“
#ifndef _PREFAST_
#pragma warning(disable:4068)
#endif // _PREFAST_
#pragma prefast( disable: 28719 “this warning only applies to drivers not applications“ )
int FileDiskSyntax(void)
{
fprintf(stderr “syntax:\n“);
fprintf(stderr “filedisk /mount [size[k|M|G] | /ro | /cd] \n“);
fprintf(stderr “filedisk /umount \n“);
fprintf(stderr “filedisk /status \n“);
fprintf(stderr “\n“);
fprintf(stderr “filename formats:\n“);
fprintf(stderr “ c:\\path\\filedisk.img\n“);
fprintf(stderr “ \\Device\\Harddisk0\\Partition1\\path\\filedisk.img\n“);
fprintf(stderr “ \\\\server\\share\\path\\filedisk.img\n“);
fprintf(stderr “\n“);
fprintf(stderr “example:\n“);
fprintf(stderr “filedisk /mount 0 c:\\tmp\\filedisk.img 8M f:\n“);
fprintf(stderr “filedisk /mount 1 c:\\tmp\\cdimage.iso /cd i:\n“);
fprintf(stderr “filedisk /umount f:\n“);
fprintf(stderr “filedisk /umount i:\n“);
return -1;
}
void PrintLastError(char* Prefix)
{
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS
NULL
GetLastError()
0
(LPTSTR) &lpMsgBuf
0
NULL
);
fprintf(stderr “%s %s“ Prefix (LPTSTR) lpMsgBuf);
LocalFree(lpMsgBuf);
}
int
FileDiskMount(
int DeviceNumber
POPEN_FILE_INFORMATION OpenFileInformation
BOOLEAN CdImage
)
{
char VolumeName[] = “\\\\.\\ :“;
char DriveName[] = “ :\\“;
char DeviceName[255];
HANDLE Device;
DWORD BytesReturned;
VolumeName[4] = OpenFileInformation->DriveLetter;
DriveName[0] = OpenFileInformation->DriveLetter;
Device = CreateFile(
VolumeName
GENERIC_READ | GENERIC_WRITE
FILE
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 18332 1999-09-16 20:44 filedisk-21\COPYING.TXT
文件 16 2015-09-22 13:01 filedisk-21\DIRS
文件 12 2015-09-22 13:02 filedisk-21\exe\DIRS
文件 1301 2015-12-16 13:18 filedisk-21\exe\filedisk.sln
文件 12288 2015-12-16 18:32 filedisk-21\exe\obj\amd64\filedisk.exe
.CA.... 551936 2015-12-16 18:32 filedisk-21\exe\obj\amd64\filedisk.pdb
文件 11776 2015-12-16 18:32 filedisk-21\exe\obj\i386\filedisk.exe
.CA.... 568320 2015-12-16 18:32 filedisk-21\exe\obj\i386\filedisk.pdb
文件 31744 2015-12-16 18:32 filedisk-21\exe\obj\ia64\filedisk.exe
.CA.... 592896 2015-12-16 18:32 filedisk-21\exe\obj\ia64\filedisk.pdb
文件 11966 2015-09-22 23:49 filedisk-21\exe\src\filedisk.c
文件 2561 2015-12-16 18:21 filedisk-21\exe\src\filedisk.rc
文件 7959 2015-12-16 13:17 filedisk-21\exe\src\filedisk.vcxproj
文件 1235 2015-12-16 13:13 filedisk-21\exe\src\filedisk.vcxproj.filters
文件 267 1996-01-21 10:30 filedisk-21\exe\src\MAKEFILE
文件 186 2015-12-16 18:29 filedisk-21\exe\src\Sources
文件 356 2008-08-16 14:40 filedisk-21\filedisk.reg
文件 408 2009-10-14 15:26 filedisk-21\install.txt
文件 3942 2015-12-16 18:24 filedisk-21\readme.txt
文件 12 2015-09-22 13:02 filedisk-21\sys\DIRS
文件 2645 2015-12-16 13:07 filedisk-21\sys\filedisk.sln
文件 1920 2015-12-12 16:37 filedisk-21\sys\inc\filedisk.h
.CA.... 281600 2015-12-16 18:32 filedisk-21\sys\obj\chk\amd64\filedisk.pdb
文件 31744 2015-12-16 18:32 filedisk-21\sys\obj\chk\amd64\filedisk.sys
.CA.... 281600 2015-12-16 18:31 filedisk-21\sys\obj\chk\i386\filedisk.pdb
文件 22656 2015-12-16 18:31 filedisk-21\sys\obj\chk\i386\filedisk.sys
.CA.... 322560 2015-12-16 18:32 filedisk-21\sys\obj\chk\ia64\filedisk.pdb
文件 79872 2015-12-16 18:32 filedisk-21\sys\obj\chk\ia64\filedisk.sys
.CA.... 273408 2015-12-16 18:32 filedisk-21\sys\obj\fre\amd64\filedisk.pdb
文件 23552 2015-12-16 18:32 filedisk-21\sys\obj\fre\amd64\filedisk.sys
............此处省略34个文件信息
相关资源
- 我的世界源码(易语言版)
- labview编程软件滤波器以及编写程序设
- 我的界面(visual foxpro)源码
- 易语言:一键cf基址源码
- The Secret Path 3D 3D魔方迷宫[源码][scra
- scratch垃圾分类源码(最终版本).sb
-
Windows em
bedded Compact 2013 应用开发调 - 黑苹果硬件兼容检测和查询软件
- Uninstall_Cortana_WINCLIENT.CN.rar
- 安卓QQ6.71协议源码易语言,qq协议源码
- 编译原理实验工具及参考源码(lex&
- E盾偷后台工具源码
- UNIX/LINUX编程实践教程的源码
- 十以内加减法练习 powerbuilder源码
- VMware65_SLP_DeLLSLIC2.1
- Windows异步套接字网络编程
- WINDOWS98启动盘镜像Win98.IMA
- 农场开发项目
- OCR源码
- PLC上位机编程软件
- 用foobar2000听google音乐[更新一下]
- 仿windows记事本
- 学生信息管理系统源码
- 用VC 编写的仿QQ聊天室程序源代码
- 毕业论文之温度传感器DS18B20(源码
- 可自定义导航网站源码
- 栅栏填充算法源码(VC)
- msp430F149操作红外接收模块源码
- [免费]图像识别c 源码
- 周易排盘源码
评论
共有 条评论