如何安装驱动

 
       用那个例子编译成功后,生成一个SYS文件。为了让这个驱动被系统加载,必须创建一个 inf文件。由于是使用现成的例子,因此这一步也可以省下来。直接右键点击例子中的 inf文件,在弹出的菜单中选择“安装”即可。
       这里要注意的是,inf中的StartType参数,它可以控制驱动被加载的方式:
SERVICE_AUTO_START (2)          安全模式下不会自动加载
SERVICE_BOOT_START (0)        在系统安全模式下启动时 驱动也会自动加载
SERVICE_DEMAND_START(3) 则驱动不会自动加载
 
因为是测试,我使用SERVICE_DEMAND_START,即由手动加载驱动。例子是miniFilter驱动,因此可以在命令提示行中用“fltmc load 驱动名称”来加载,相应的卸载是“fltmc unload”。如果是其它驱动,则用"net  start 驱动名称"来加载,相应的卸载是"net  stop 驱动名称"。注意驱动名称不是文件名,而是inf中[Settings]的ServiceName值。驱动要发布时,也可以通过 CreateService & StartService API来动态安装。
 
Inf文件的写法,可以参考例子,或者拿现成的改一改。下面的是摘自驱动开发网的
XiangXiangRen整理的 Inf文件,改起来比较方便,谢谢XiangXiangRen 。
 
文件过滤驱动安装inf文件简易获得法

 
不少同仁获得inf文件都是直接修改sfilter.inf,这个修改很需要耐性,不小心 敲错又不能编译调试,改错难度不小。有些同仁不加修改,结果sfilter满天飞:)。我修改了一下sfilter的安装文件,这样你只要修改最后的字符 串列表,就可以轻松得到自己的安装文件了。可以用于任何打算静态加载的文件过滤驱动,内容如下:

[Version]
signature       = "$Windows NT$"
Class         = "ActivityMonitor"      ;This is determined by the work this filter driver does
ClassGuid     = {b86dff51-a31e-4bac-b3cf-e8cfe75c9fc2}  ;This value is determined by the Class
Provider     = %MyName%
DriverVer     = 08/28/2005,1.0.0.1
CatalogFile   = Mycat.cat              ; A CatalogFile entry is required for a WHQL signature.
                                          ; The actual catalog file will be provided by WHQL. The
                                          ; catalog file for this sample is not provided for use.


[DestinationDirs]
DefaultDestDir     = 12
My.DriverFiles     = 12               ;%windir%/system32/drivers

[SourceDisksNames]
1 = %MyDisk%

[SourceDisksFiles]
%MySysFileName%     = 1

[DefaultInstall]
OptionDesc     = %MyServiceDesc%
CopyFiles     = My.DriverFiles

[DefaultInstall.Services]
AddService     = %MyServiceName%,,My.Service
AddReg         = My.AddRegistry

[DefaultUninstall]
DelFiles     = My.DriverFiles
DelReg         = My.DelRegistry

[DefaultUninstall.Services]
DelService     = %MyServiceName%,0x200

[My.Service]
DisplayName     = %MyServiceName%
Description     = %MyServiceDesc%
ServiceBinary   = %12%/%MySysFileName%     ;%windir%/system32/drivers/JwFvfs.sys
ServiceType     = 2                       ;SERVICE_FILE_SYSTEM_DRIVER
StartType     = 0                       ;SERVICE_BOOT_START
ErrorControl   = 1                       ;SERVICE_ERROR_NORMAL
LoadOrderGroup   = "FSFilter Activity Monitor"         ;"filter" if install to 2k.
AddReg           = My.AddRegistry

[My.AddRegistry]

[My.DelRegistry]

[My.DriverFiles]
%MySysFileName%

[Strings]
MyName         = "Tan Wen"                        
MyServiceDesc     = "Tan Wen's File System Filter."
MyServiceName     = "TanWenFsF"
MyRegistry       = "system/currentcontrolset/services/TanWenFsF"
MyDisk         = "Tan Wen Source Media"
MySysFileName     = "TanWen.sys"

修改的时候只要修改最后的字符串列表,依次是 开发者名,服务描述,服务名,注册表位置,磁盘标签,驱动文件名。临时使用,一般只要修改驱动文件名字就行了。
如果要增加注册表项,填写上边的My.AddRegistry和My.DelRegistry节。
以 上只能安装到xp以上的系统。安装到2000时,要把上边的"FSFilter Activity Monitor"修改为"filter", 因为2000下还没有Activity Monitor这个过滤器类别。而xp下ms推荐使用"FSFilter Activity Monitor"类别。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值