tangwise
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2007-06-12
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2086回复:9

inf文件是怎么来的?

楼主#
更多 发布于:2004-01-07 21:38
我是刚学驱动开发,想用DDK来做驱动,不知道inf文件是怎么生成的,初始化EPP模式并口设备是怎么写,读写操作的函数有怎么写,
那位大狭帮我一下,多谢了。
y5318
驱动中牛
驱动中牛
  • 注册日期2001-09-18
  • 最后登录2018-05-29
  • 粉丝1
  • 关注0
  • 积分14分
  • 威望22点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-01-08 08:24
1)可以用ddk带的工具,inf生成器,
2) 拿一个例子来修改以下
不知这样的回答对你有没有帮助
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2004-01-08 14:50
用户被禁言,该主题自动屏蔽!
littleduck
驱动牛犊
驱动牛犊
  • 注册日期2003-01-23
  • 最后登录2004-03-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-01-08 15:00
If you are beginner, I suggest DriverStudio.
cjyyym
驱动牛犊
驱动牛犊
  • 注册日期2004-01-07
  • 最后登录2004-01-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-01-08 15:54
对我没有什么帮助 看不懂
人人为我 我为人人
tangwise
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2007-06-12
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-01-08 16:20
我找到DDK里相关的资料,但还没完全看懂inf.文件。
DDK里面只能用 类似WRITE_PORT_UCHAR来写操作吗,
PUCHAR,PUSHORT,PULONG有什么区别?
 ioBuffer= pIrp->AssociatedIrp.SystemBuffer;
  CharBuffer  = (PUCHAR) ioBuffer;
    ShortBuffer = (PUSHORT) ioBuffer;
  LongBuffer  = (PULONG) ioBuffer;
这三个为什么第二个是得到是地址,而第一个是数据,
WRITE_PORT_UCHAR((PUCHAR)ShortBuffer[0], CharBuffer[2]);
那位大狭帮我一下,多谢了,
makefriend8
驱动小牛
驱动小牛
  • 注册日期2003-08-01
  • 最后登录2014-06-27
  • 粉丝0
  • 关注0
  • 积分84分
  • 威望111点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-01-08 18:17
我的建议是driver works(其实我对INF文件基本不懂)
套用那个自动生成的东西基本上就可以了.(好象一般的都能装上)
前几天在网上看到动态加载SYS的(这样就不需要INF文件啦)。呵呵。可惜要在2000,XP下。。98下不行。呵呵。。调试不错。
函数就是StartService之类的。查一下MSDN的帮助就知道了。
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
7楼#
发布于:2004-01-08 21:48
加载驱动主要有3种,一个就是最常用的STARTDEVICE的服务方法
还有通过ZWLOADDRIVE,不过需要通过注册表
在2K/XP最好是ROOTKIT的那种方法,通过SYSTEMLOADANDCALLIMAGE来加载,就可以饶过注册表了
不知道还有什么其他的好方法 ??
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
tangwise
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2007-06-12
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-01-09 16:47
 

“在2K/XP最好是ROOTKIT的那种方法,通过SYSTEMLOADANDCALLIMAGE来加载,就可以饶过注册表了”
-------------------------------------
这种怎么用啊,DDK里面那一章有相关介绍啊?


多谢各位了,我今天花了大半天看了inf的内容,大概明白了点,
看了几个例子。
mz_suya
驱动小牛
驱动小牛
  • 注册日期2008-06-13
  • 最后登录2010-08-01
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望648点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分1分
9楼#
发布于:2008-07-22 19:59
"一个就是最常用的STARTDEVICE的服务方法
还有通过ZWLOADDRIVE,不过需要通过注册表
在2K/XP最好是ROOTKIT的那种方法,通过SYSTEMLOADANDCALLIMAGE来加载"


这几个都已经有所了解了。
但是是不是有别的加载方式呢?
记得
“驱动程序也属于服务,应用程序可以用CreateService来安装,用StartService来加载;驱动程序可以用ZwLoadDriver来加载另一个驱动程序。
另注:驱动程序安装后,其注册表键中有一个Start键值,该值含义为:
0——系统启动时加载;
1——内核初始化完成后加载;
2——系统启动后加载;
3——手动加载;
4——不加载。 ”


我感觉有必要学习这个,毕竟加载启动驱动是我们的目标。
游客

返回顶部