阅读:1537回复:5
光光的PASSTHRU的安装问题
各位高手,现在感到极其郁闷,请各位指点一二。
在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)” 的提示,并且找到了新的设备,并且不断循环重新启动、找到新设备, 这是什么原因? 给哥们点儿指点,哥们先谢了, 如果前面有相关文章,就请各位高手在闲的时候,告诉哥们是哪篇文章,多个哥们多个条思路,谢谢! 当然,分是要给的。 |
|
|
沙发#
发布于:2002-10-16 17:39
签名问题听说2000上可以解决,找前面的贴子,有讨论!
是改注册表! |
|
板凳#
发布于: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?如何解决? 唉,写驱动就是在长期的折磨和短暂的快乐中度过的,还请诸位高手 过来减轻哥们的痛苦吧!谢谢! |
|
|
地板#
发布于:2002-10-17 11:18
找到倒是能找到,不用包含wdm.h,直接就ndis.h , ntddk.h就行了!
不过呢,zw。。。运行在: Callers of ZwCreateFile must be running at IRQL PASSIVE_LEVEL. 所以有好多的地方不太好用! |
|
地下室#
发布于:2002-10-17 11:51
非常感谢,swift
已经给分了,如果能再帮哥们解除心中的疑虑就更好了::) 1。驱动总共分几个运行状态?如何辨别?需要看那些资料。 2。DDK中的各个函数都运行在哪个LEVEL如何知道? 兄弟是头一次写驱动,得到您的帮助感到非常欣慰,因为有你们的存在,让后进感到关怀的温暖。 |
|
|
5楼#
发布于:2002-10-17 12:47
大概就两个,一个是dispatch,一个是passive
在DDK文档的每个函数的Comments里面都会有! |
|