开发环境搭建:
1、虚拟机里的XP(因为怕自己电脑被搞崩溃,呵呵,毕竟刚接触)
2、IFS DDK for Windows 2003(过去自己一直死脑筋,认为一定要用XP下的IFS DDK,哪知网上找了半天,都没找到可以下的链接。后来才知道:2003的IFS DDK里已经包含2K和XP的了,里面还有2K和XP的BUILD环境)自己从电驴上拖吧:http://board.verycd.com/t135114.html
开发环境搭建:
1、虚拟机里的XP(因为怕自己电脑被搞崩溃,呵呵,毕竟刚接触)
2、IFS DDK for Windows 2003(过去自己一直死脑筋,认为一定要用XP下的IFS DDK,哪知网上找了半天,都没找到可以下的链接。后来才知道:2003的IFS DDK里已经包含2K和XP的了,里面还有2K和XP的BUILD环境)自己从电驴上拖吧:http://board.verycd.com/t135114.html
一些细枝末节:【但往往不知道就很容易混淆】
1、IFS DDK与DDK的关系:IFS=DDK+文件系统驱动支持,所以IFS下载后就不需要DDK了。(结果我们看的都是《Windows驱动开发技术详解》,里面只介绍了要安装DDK,白忙活了半天。。。不过也好,体验了一下HelloDDK和HelloWDM的编译和安装)
2、DDK与WDM的关系:
DDK 是指设备驱动程序开发包。
WDM(Win32 Driver Model),即Win32驱动程序模型,旨在通过提供一种灵活的方式来简化驱动程序的开发。(简而言之,我的看法就是提供给了你一种框架)
编译安装sfilter:
1、编译:Build Environments ->Windows Server 2003->Windows Server 2003 Checked (free)Build Environment打开命令行窗口后,转到sfilter目录(里面有makefile和source文件),直接执行build命令。
我的编译信息
C:\WINDDK\3790\src\filesys\filter\sfilter>build
BUILD: Adding /Y to COPYCMD so xcopy ops won't hang.
BUILD: Object root set to: ==> objchk_wnet_x86
BUILD: Compile and Link for i386
BUILD: Loading C:\WINDDK\3790\build.dat
BUILD: Computing Include file dependencies:
BUILD: Examining c:\winddk\3790\src\filesys\filter\sfilter directory for
files t
o compile.
c:\winddk\3790\src\filesys\filter\sfilter - 2 source files (6,551 lines)
BUILD: Saving C:\WINDDK\3790\build.dat
BUILD: Compiling c:\winddk\3790\src\filesys\filter\sfilter directory
Compiling - sfilter.rc for i386
Compiling - sfilter.c for i386
BUILD: Linking c:\winddk\3790\src\filesys\filter\sfilter directory
Linking Executable - objchk_wnet_x86\i386\sfilter.sys for i386
BUILD: Done
3 files compiled - 2183 LPS
1
2、安装:直接运行sfilter目录下的sfilterInstall.cmd,然后选择一下sfilter.sys就可以了。
过滤驱动基本流程:
1、生成一个控制设备对象CDO
2、设置IRP 分发例程
3、设置FAST IO 分发例程
4、编写SfFsNotification 回调例程
5、调用IoRegisterFsRegistrationChange 注册SfFsNotification 回调例程
时间太忙,先写到这了!