KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
阅读:1404回复:8

PnP filter driver 到底问题出在那里 ??

楼主#
更多 发布于:2004-12-21 06:01
最近在做PnP filter driver,直接用Microsoft的code
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q262305
加上下面的 inf file,从新增硬件手动安装,但不成功!
发现在case IRP_MN_START_DEVICE: 里的IoCallDriver反回Status = c000009a
(Insufficient system resources exist to complete the API.)
到底问题出在那里 ??

[Version]
Signature = "$Windows NT$" ; for 2000/XP
Class = Ports
ClassGuid = {4D36E978-E325-11CE-BFC1-08002BE10318}
Provider = %MSFT%

DriverVer   = 12/20/2004,1.0.0

;----------------------------------------------------------------------------
[Manufacturer]
%MfgName% = MegaHertz,

[MegaHertz]
; DisplayName           Section           DeviceID
; -----------           -------           --------
%DeviceDesc% = Mhz.2k,         SERENUM\MHZ2004      ; Serial Comm Probe

;----------------------------------------------------------------------------
[Mhz.2k]
AddReg = Mhz.2k.Reg
CopyFiles = Sys.CopyList ; files to copy

[Sys.CopyList]
CommFilter.sys


[SourceDisksNames]
1 = %DiskId%

[SourceDisksFiles]
CommFilter.sys = 1


[DestinationDirs]
Sys.CopyList = 10,system32\drivers


;----------------------------------------------------------------------------
[Mhz.2k.Reg]


[Mhz.2k.HW] ; this for filter driver only
AddReg = Mhz.2k.Hw.AddReg

[Mhz.2k.Hw.AddReg]
HKR,,"UpperFilters",0x00010000,"CommFilter"

;----------------------------------------------------------------------------
[Mhz.2k.Services]
Include=msports.inf
Needs=ComPort.NT.Services
Addservice = CommFilter, , CommFilter.AddService


[CommFilter.AddService]
DisplayName    = %CommFilter.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\System32\Drivers\CommFilter.sys
LoadOrderGroup = PNP Filter

;----------------------------------------------------------------------------
[Strings]
MSFT = "MegaHertz Serial Filter Tool"
MfgName = "MegaHertz SoftWare"
DeviceDesc = "Serial Communication Probe"
CommFilter.SvcDesc = "Communication Probe driver"
Serenum.SvcDesc = "Serenum Filter Driver"
Serial.SvcDesc = "Serial Filter Driver"
DiskId = "Installation disk (1)"
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-22 16:50
应该是驱动问题吧,inf能有问题?

用DS的Monitor加载有问题吗?
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
板凳#
发布于:2005-01-03 08:06
先加分!! 顶一下 !

    deviceExtension->NextLowerDriver = IoAttachDeviceToDeviceStack (deviceObject, PhysicalDeviceObject);
.
.
.
status = IoCallDriver(deviceExtension->NextLowerDriver, Irp);

NextLowerDriver是从IoAttachDeviceToDeviceStack里得来的
IoCallDriver(deviceExtension->NextLowerDriver, Irp);
返回Error是C000009A
(Insufficient system resources exist to complete the API.)


                        
jgw2008
驱动小牛
驱动小牛
  • 注册日期2004-12-16
  • 最后登录2005-12-20
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-03 08:45
此程序的源代码在 Windows 2000 and Windows XP DDKs under <DDK root>\Src\General\Toaster\Filter\.
在运行这段代码之前,请先编译toaster目录下的bus,func,toastmon.
另外,你的inf文件写的也不正确,请参照ddk中toaster下的inf.
toaster是一组十分好的示例代码,建议好好研究.
Best Wishes to you! MSN: jgw2008@hotmail.com E-Mail: jgw2008@126.com
jgw2008
驱动小牛
驱动小牛
  • 注册日期2004-12-16
  • 最后登录2005-12-20
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-03 08:50
怪了,路径符号打不上去.
filter sample 在toaster目录下,搜索一下.
Best Wishes to you! MSN: jgw2008@hotmail.com E-Mail: jgw2008@126.com
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
5楼#
发布于:2005-01-04 15:17
机里有两串口,Serial0和Serial1.
但deviceExtension->NextLowerDriver反回是Serial2 ??
jgw2008
驱动小牛
驱动小牛
  • 注册日期2004-12-16
  • 最后登录2005-12-20
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-01-05 11:23
驱动写作过程中,除要注意c/c++源码外,inf文件也是绝对十分关键的.
inf文件其中一项责任师负责写注册表,而向硬件的枚举,驱动程序的加载,堆栈的建立哪一项能离地开注册表
Best Wishes to you! MSN: jgw2008@hotmail.com E-Mail: jgw2008@126.com
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
7楼#
发布于:2005-01-05 12:11
驱动写作过程中,除要注意c/c++源码外,inf文件也是绝对十分关键的.


我的inf问题在那里??
我贴上inf的原因是我知这重要 !!
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
8楼#
发布于:2005-01-12 11:59
push once !
游客

返回顶部