fuq_dddd
驱动老牛
驱动老牛
  • 注册日期2002-10-15
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分331分
  • 威望57点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
阅读:1537回复:5

光光的PASSTHRU的安装问题

楼主#
更多 发布于:2002-10-15 16:59
各位高手,现在感到极其郁闷,请各位指点一二。

在win2000sp2下用2000DDK对其自带的PASSTHRU进行编译,OK!
同时对INF文件进行了小范围的改造,INF文件内容如下:
[Version]
signature  = \"$Chicago$\"
compatible = 1
Class      = Net
ClassGUID  = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider   = %Msft%
DriverVer  = 06/24/1999,5.00.2071.1

[ControlFlags]
ExcludeFromSelect = ms_sfiltermp

[DestinationDirs]
DefaultDestDir=12
; No files to copy

[Manufacturer]
%Msft% = MSFT

[MSFT]
%SFilterMP_Desc% = SFilterMP.ndi, ms_sfiltermp

[SFilterMP.ndi]
Characteristics = 0x29 ;NCF_NOT_USER_REMOVABLE | NCF_VIRTUAL | NCF_HIDDEN !!--Filter Specific--!!
;Characteristics = 0x09 ;NCF_VIRTUAL | NCF_HIDDEN !!--Filter Specific--!!
CopyFiles =

[SFilterMP.ndi.Services]
AddService = SFilter,0x2, SFilterMP.AddService


[SFilterMP.AddService]
DisplayName    = %SFilterMP_Desc%
ServiceType    = 1 ;SERVICE_KERNEL_DRIVER
StartType      = 3 ;SERVICE_DEMAND_START
ErrorControl   = 1 ;SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\\passthru.sys
LoadOrderGroup = PNP_TDI
AddReg         = SFilterMP.AddService.AddReg


[SFilterMP.AddService.AddReg]
HKR, Parameters, ParameterName,  0x10000, \"MultiSz\", \"Parameter\", \"Value\"
HKR, Parameters, ParameterName2, 0x10001, 4

[Strings]
Msft = \"M&W\"
SFilterMP_Desc = \"CCTV Miniport\"

[SourceDisksNames]
;None

[SourceDisksFiles]
;None

通过网络属性中添加服务安装,遇到两个问题:
一、安装过程中出现的四次提示,要求设备签名是什么原因造成的?
如何回避?
二、四次提示签名忽略后,系统自动重新启动,启动后PASSTHRU虚拟
的设备无法正常运行,查看设备属性,得到――“由于 Windows 无
法加载这个设备所需的驱动程序,导致这个设备工作异常。 (代码31)”
的提示,并且找到了新的设备,并且不断循环重新启动、找到新设备,
这是什么原因?

给哥们点儿指点,哥们先谢了,
如果前面有相关文章,就请各位高手在闲的时候,告诉哥们是哪篇文章,多个哥们多个条思路,谢谢!

当然,分是要给的。
星星之火 可以燎原 每一个光亮 都可能是黎明 [img]http://joke.tom.com/img/assets/1/gaoxiao_80_910.gif[/img]
swift
驱动中牛
驱动中牛
  • 注册日期2001-07-26
  • 最后登录2007-05-09
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望7点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-16 17:39
签名问题听说2000上可以解决,找前面的贴子,有讨论!
是改注册表!
fuq_dddd
驱动老牛
驱动老牛
  • 注册日期2002-10-15
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分331分
  • 威望57点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-17 11:06
谢谢 swift:

第二个问题已经解决,我原先是用VC++6编译的,现在直接用DDK编译
就没有重新起机的现象了。  重起现象没有了,疑惑仍然存在,
就是VC 和 DDK编译方法有什么区别?
在VC下编译时我在\"precomp.h\"中添加了如下定义:
#define NDIS50 50
#define NDIS_WDM 50
#define NDIS50_MINIPORT
#define NDIS_MINIPORT_DRIVER
然而在DDK下就要去掉,WHY?

现在有另外一个问题需要请教,也就是第三个问题:
现在,我在PASSTHRU中用zwCreateFile建立文件,并用zwWriteFile
向文件写入信息,但在编译时提示无法找到zwCreateFile、zwWriteFile
的定义,包含WDM.H之后,又有很多结构提示重复定义,WHY?如何解决?

唉,写驱动就是在长期的折磨和短暂的快乐中度过的,还请诸位高手
过来减轻哥们的痛苦吧!谢谢!
星星之火 可以燎原 每一个光亮 都可能是黎明 [img]http://joke.tom.com/img/assets/1/gaoxiao_80_910.gif[/img]
swift
驱动中牛
驱动中牛
  • 注册日期2001-07-26
  • 最后登录2007-05-09
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望7点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-17 11:18
找到倒是能找到,不用包含wdm.h,直接就ndis.h , ntddk.h就行了!
不过呢,zw。。。运行在:
Callers of ZwCreateFile must be running at IRQL PASSIVE_LEVEL.

所以有好多的地方不太好用!
fuq_dddd
驱动老牛
驱动老牛
  • 注册日期2002-10-15
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分331分
  • 威望57点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-17 11:51
非常感谢,swift

已经给分了,如果能再帮哥们解除心中的疑虑就更好了::)
1。驱动总共分几个运行状态?如何辨别?需要看那些资料。
2。DDK中的各个函数都运行在哪个LEVEL如何知道?

兄弟是头一次写驱动,得到您的帮助感到非常欣慰,因为有你们的存在,让后进感到关怀的温暖。
星星之火 可以燎原 每一个光亮 都可能是黎明 [img]http://joke.tom.com/img/assets/1/gaoxiao_80_910.gif[/img]
swift
驱动中牛
驱动中牛
  • 注册日期2001-07-26
  • 最后登录2007-05-09
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望7点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-10-17 12:47
大概就两个,一个是dispatch,一个是passive
在DDK文档的每个函数的Comments里面都会有!
游客

返回顶部