阅读:1923回复:11
安装inf时,总死机,不知道为什莫?
小弟在写一个PCI驱动程序时,出现了以下问题:在添加新硬件的最后
一步,即指定.sys的位置后,出现死机.该驱动是2000的驱动,inf如下 [Version] Signature=\"$Chicago$\" Class=Crypt ClassGuid={1910513E-8F96-48e2-9FEC-B81D14C60306} provider=%XuHu% DriverVer=07/04/2002,1.0.0.0704 [DestinationDirs] DefaultDestDir = 12 ; ================= Class section ===================== [ClassInstall32] Addreg=CryptClassReg [CryptClassReg] HKR,,,0,%ClassName% HKR,,Icon,,-5 ; ================= Device Install section ===================== [Manufacturer] %JH%=XUHU [SourceDisksFiles] jh_pci_jm.sys=1 [SourceDisksNames] 1=%DISK_NAME%, [XUHU] ; DisplayName Section DeviceId ; ----------- ------- -------- %jh_pci_jm.DRVDESC%=jh_pci_jm_Inst,PCI\\VEN_10E8&DEV_8820 [jh_pci_jm_Inst] CopyFiles=jh_pci_jm.CopyFiles [jh_pci_jm.CopyFiles] jh_pci_jm.sys [jh_pci_jm_Inst.Services] AddService=jh_pci_jm,0x00000002,jh_pci_jm_Service [jh_pci_jm_Service] DisplayName = %jh_pci_jm.SVCDESC% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\\jh_pci_jm.sys [Strings] JH = \"JH Inc.\" XuHu = \"Dr. giro\" ClassName = \"jh_pci_jm card\" jh_pci_jm.SVCDESC = \"jh_pci_jm card Service\" jh_pci_jm.DRVDESC = \"jh_pci_jm card Driver\" DISK_NAME = \"jh_pci_jm card Drivers Install Disk\" 希望各位看看,不胜感激! |
|
沙发#
发布于:2002-07-13 11:48
关于INF文件的书写格式
[Version] Signature=\"$Windows NT$\" ;这里表示只提供WINDOWS2000的驱动 Provider=%ProviderName% DriverVer=07/03/2002,0.0.0.0 ;驱动版本,日期 Class=Unknown ;表示其它设备 ClassGUID={ff646f80-8def-11d2-9449-00105a075f6b} ;GUID [ClassInstall32] Addreg=Class_AddReg [Class_AddReg] HKR,,,,%DeviceClassName% HKR,,Icon,,\"-18\" ;设备的图标 [DestinationDirs] MyPci_Files_Driver = 10,System32\\Drivers ;把驱动文件复制到的目录 [Manufacturer] %MfgName%=Mfg0 [Mfg0] %DeviceDesc%=MyPci_DDI, PCI\\VEN_10B5&DEV_9054 ;识别PCI的厂商号和设备号 [MyPci_DDI] CopyFiles=MyPci_Files_Driver [MyPci_DDI.Services] Addservice = MyPci, 0x00000002, MyPci_AddService [MyPci_AddService] DisplayName = %SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %10%\\System32\\Drivers\\MyPci.sys [MyPci_Files_Driver] MyPci.sys ;驱动程序文件 [Strings] ProviderName=\"DRIVER FOR CHURCHULL\" ;驱动程序提供商 MfgName=\"DEVICE FOR CHURCHILL \" ;制造商 DeviceDesc=\"数据接收卡\" ;设备名称 DeviceClassName=\"其它设备\" ;设备类型 SvcDesc=\"Description of NT service here\" 记得给分哦! |
|
板凳#
发布于:2002-07-13 12:20
谢谢你的回答,我看了看,发现和我的一样啊,我的inf有问题吗?
谢谢帮助. |
|
地板#
发布于:2002-07-13 14:55
照我的写好了,一般不会有问题,真有的话,那么就系统有问题。
|
|
地下室#
发布于:2002-07-13 17:34
用户被禁言,该主题自动屏蔽! |
|
5楼#
发布于:2002-07-13 22:07
驱动里的毛病,估计是初始化时有问题。
|
|
6楼#
发布于:2002-07-14 01:15
非常谢谢,现在加载inf没有问题了,但安装后,说驱动程序加载不
成功(代码 31). 会是什么地方的问题呢? 我是用2000ddk写的代码.会是AddDevice()中的问题吗? |
|
7楼#
发布于:2002-07-15 09:54
用softice debug吧。
|
|
8楼#
发布于:2002-07-15 10:57
用户被禁言,该主题自动屏蔽! |
|
9楼#
发布于:2002-07-15 11:02
我在DriverEntry()、Adddevice()中都加了DebugPrint,但在DebugPrint moniter中看不到任何信息,有可能连DriverEntry都
没有执行到吗?我的DebugPrint安装的没有问题。 |
|
10楼#
发布于:2002-07-15 12:28
肯定是已经进入了DriverEntry例程,问题是该例程的初始化没能成功,问题大约是AddDevice的问题,资源分配不成功,详细检查一下您的卡,PCI配置空间到底是几个空间,每个空间是IO类型还是存储器类型,各个空间的索引值(配置空间的第一个空间地址的索引是0,依次类推)是否与您在用向导生成时的设置一致?
|
|
11楼#
发布于:2002-07-16 03:12
调试中发现,在调用IoAttachDeviceToDeviceStack时,系统死机,
我在inf中使用的Class不是预定义,是这个原因导致设备无法加载 吗?那我可以选多功能卡吗?我的卡是一个pci加密卡. |
|