jiacom
驱动牛犊
驱动牛犊
  • 注册日期2002-12-18
  • 最后登录2004-01-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1642回复:9

想把Passthru安装到Win98/ME上,哪位有.inf文件?--欲给200分。

楼主#
更多 发布于:2003-03-06 20:40
拜读胡大侠的[如何构建和安装一个IMD Fileter for WIN98/ME]一文,很有启发,本人也试着Install,但是在.inf上失败。

哪位可以给个例子共享,不管是胡大侠的,还是Bburgin的均可,

想给200分但给不成。

留下地址,有机会见面,发誓请客。

最新喜欢:

salengsaleng
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-03-07 09:21
This milestone of the Windows 98 SE NDIS Intermediate Driver example PASSTHRU is provided as an early work for limited distribution.  It is not complete, but should move interested parties forward in their projects.

The code provided here will build, install and load.  However, it will not install cleanly; some manual intervention is necessary to massage the bindings.  A completely clean install is a future milestone.  It will be based off of the MyNDI example in the DDK, and interested parties can follow that example on their own.

This document will outline the steps to build, install and load this driver.

Send any comments/additions you have to me, bburgin@microsoft.com.

ISSUES:

There have been several issues in modifying the Windows 2000 example:

1) Installation files (.INF) to install 9x/Me drivers are very different from Windows 2000.  Whereas Windows 2000 uses registry entries like Group, Type, Start, ErrorControl, Windows 9x/Me uses entries like DeviceVxDs and DeviceLoader.

2) NdisIMInitializeDeviceInstanceEx() will always fail if there’s not a dummy devnode in HKLM\\Enum\\Root\\NDIS.

3) The Windows 2000 PASSTHRU uses several NT Kernel functions that are not supported in Windows 9x/Me.  And use of these functions will cause the driver not to load at all.  These include NdisMRegisterUnloadHandler, NdisIMCopySendPerPacketInfo and a few others.  One way to determine if an unsupported entry point is causing your driver not to load is by installing the checked build of the device loader, VxDLdr.VxD into the Windows\\System\\VMM32 folder.  It will produce debug spew identifying a driver that won’t load and the reason.

4) Unloading the driver and PnP is different.  Windows 2000 uses a NDIS call to register an unload handler.  This is not supported in Windows 98/Me.  The unload handler must be specified in the protocol characteristics.

BUILDING:

This example uses the Windows 2000 DDK for all header files and libraries.  But it uses the Windows 98 DDK BUILD utility.
 
<Win2Kddk>\\BIN\\SETENV <Win2KddkPath> Checked

To build the project, execute:

BUILD
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
jiacom
驱动牛犊
驱动牛犊
  • 注册日期2002-12-18
  • 最后登录2004-01-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-03-07 12:03
感谢mikeluo大侠帮助,现在开始重新整理环境,再试一下。

不管结果怎么样,先给分。

还请多多指教。
ooze
驱动牛犊
驱动牛犊
  • 注册日期2001-09-26
  • 最后登录2004-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-03-07 18:22
是否可以不用inf呢?应该可以是吗?
Be a true hacker of Windows NT alike
jiacom
驱动牛犊
驱动牛犊
  • 注册日期2002-12-18
  • 最后登录2004-01-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-03-11 06:26
很遗憾,还是没有成功。
能不能给一个更具体的passthru.inf sample? > mikeluo大侠

不用.inf的话,有何高见?> ooze

请多指教。
fossilme
驱动牛犊
驱动牛犊
  • 注册日期2003-01-24
  • 最后登录2011-01-10
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望16点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-03-23 23:02
//
// 用这三个文件,肯定能搞定。
// passthru.inf & ndis_1.reg & ndis_2.reg
//

;---------------------------------------------------------------------------
;
;                                                                          
;
; PASSTHRU.INF                                                              
;
;                                                                          
;
; Windows 98 Installation for NDIS Intermediate Driver example PASSTHRU.SYS
;
; Based largely on NETLANE.INF                                              
;
;                                                                          
;
; Copyright (c) 1993-2000, Microsoft Corporation                            
;
;                                                                          
;
;---------------------------------------------------------------------------
;

[version]
signature=\"$CHICAGO$\"
Class=NetTrans
ClassGUID={4d36e975-e325-11ce-bfc1-08002be10318}
provider=%V_MS%
DriverVer=08/24/2000


[Manufacturer]
%V_MS%=MS


[MS]
%PASSTHRU.DeviceDesc%=   PASSTHRU.ndi, PASSTHRU
%PASSMINI.DeviceDesc%=   PASSMINI.ndi, PASSMINI


[ControlFlags]
ExcludeFromSelect=PASSMINI

[SourceDiskNames]
1=,,,

[SourceDiskFiles]
Passthru.sys=1,,
Passthru.inf=1,,

;---------------------------------------------------------------------------
;
; PASSTHRU -- Protocol edge                                                
;
;---------------------------------------------------------------------------
;

[PASSTHRU.ndi]
CopyFiles=PASSTHRU.Inf.CopyFiles
AddReg=PASSTHRU.ndi.reg
DeviceID=PASSTHRU
MaxInstance=4
DriverVer=06/08/2000


[PASSTHRU.ndi.reg]
HKR,Ndi,DeviceID,,PASSTHRU
HKR,Ndi,MaxInstance,,8
HKR,Ndi,NetType,,1
HKR,NDIS,LogDriverName,,PASSTHRU
HKR,NDIS,MiniportLogDriverName,,PASSMINI
HKR,NDIS,MajorNdisVersion,1,03
HKR,NDIS,MinorNdisVersion,1,0A
HKR,Ndi\\Interfaces,DefUpper,,\"PASSTHRU\"
HKR,Ndi\\Interfaces,DefLower,,\"ndis3,ndis4,ndis5\"
HKR,Ndi\\Interfaces,UpperRange,,\"PASSTHRU\"
HKR,Ndi\\Interfaces,LowerRange,,\"ndis3,ndis4,ndis5\"
HKR,Ndi\\InstallInf,,\"PassThru.inf\"
HKR,Ndi\\Install,,,\"PASSTHRU.Install\"
HKR,Ndi\\Remove,,,\"PASSTHRU.Remove\"
HKR,Ndi,HelpText,,%PASSTHRU_HELP%
HKR,Ndi\\Compatibility,RequireAll,,\"PASSMINI\"


[PASSTHRU.Install]
AddReg=PASSTHRU.AddReg, PASSTHRU.IMDevNode.AddReg
CopyFiles=PASSTHRU.CopyFiles


[PASSTHRU.AddReg]
HKR,,DevLoader,,*ndis
HKR,,DeviceVxDs,,passthru.sys
HKR,,IntermediateProtocol,,1


[PASSTHRU.IMDevNode.AddReg]
HKLM,System\\CurrentControlSet\\Services\\Class\\Ndis
HKLM,System\\CurrentControlSet\\Services\\Class\\Ndis,,,\"Network intermediate
drivers\"
HKLM,System\\CurrentControlSet\\Services\\Class\\Ndis,Icon,,\"-6\"
HKLM,System\\CurrentControlSet\\Services\\Class\\Ndis,NoUseClass,,\"1\"
HKLM,System\\CurrentControlSet\\Services\\Class\\Ndis,DevLoader,,\"*ndis\"
HKLM,Enum\\Root\\NDIS\\PASSTHRU
HKLM,Enum\\Root\\NDIS\\PASSTHRU,DeviceDesc,,\"PASSTHRU Protocol driver\"
HKLM,Enum\\Root\\NDIS\\PASSTHRU,Class,,\"Ndis\"
HKLM,Enum\\Root\\NDIS\\PASSTHRU,ConfigFlags,1,10,00,00,00
HKLM,Enum\\Root\\NDIS\\PASSTHRU,Driver,,\"Ndis\"


[PASSTHRU.IMDevNode.DelReg]
HKLM,Enum\\Root\\NDIS\\PASSTHRU


[PASSTHRU.CopyFiles]
Passthru.sys,,,2

[PASSTHRU.Inf.CopyFiles]
Passthru.inf,,,2

[PASSTHRU.Remove]
DelReg=PASSTHRU.IMDevNode.DelReg

;---------------------------------------------------------------------------
;
; PASSMINI -- Miniport edge                                                
;
;---------------------------------------------------------------------------
;

[PASSMINI.ndi]
AddReg=PASSMINI.ndi.reg
DeviceID=PASSMINI
MaxInstance=8
DriverVer=06/08/2000


[PASSMINI.ndi.reg]
HKR,Ndi,DeviceID,,PASSMINI
HKR,Ndi,MaxInstance,,8
HKR,NDIS,LogDriverName,,PASSMINI
HKR,NDIS,MajorNdisVersion,1,03
HKR,NDIS,MinorNdisVersion,1,0A
HKR,Ndi\\Interfaces,DefUpper,,\"ndis3,ndis4,ndis5\"
HKR,Ndi\\Interfaces,DefLower,,\"PASSTHRU\"
HKR,Ndi\\Interfaces,UpperRange,,\"ndis3,ndis4,ndis5\"
HKR,Ndi\\Interfaces,LowerRange,,\"PASSTHRU\"
HKR,Ndi\\Install,,,\"PASSMINI.Install\"
HKR,Ndi\\Remove,,,\"PASSMINI.Remove\"
HKR,Ndi,HelpText,,%PASSMINI_HELP%
HKR,Ndi\\Compatibility,RequireAll,,\"PASSTHRU\"


[PASSMINI.Install]
AddReg=PASSMINI.AddReg
CopyFiles=PASSMINI.CopyFiles


[PASSMINI.AddReg]
HKR,,DevLoader,,*ndis
HKR,,DeviceVxDs,,passthru.sys
HKR,,RealClass,,Net


[PASSMINI.CopyFiles]

[PASSMINI.Remove]
AddReg=PASSMINI.Rmv.AddReg

[PASSMINI.Rmv.AddReg]

;---------------------------------------------------------------------------
;
; DIRECTORIES and STRINGS                                                  
;
;---------------------------------------------------------------------------
;

[DestinationDirs]
DefaultDestDir     = 11
PASSTHRU.CopyFiles  = 11
PASSTHRU.Inf.CopyFiles = 17
PASSMINI.CopyFiles  = 11


[strings]
V_MS=\"Microsoft\"
V_CLASSNAME=\"Network Protocol\"
PASSTHRU.DeviceDesc=\"PASSTHRU Protocol\"
PASSTHRU_HELP=\"This implements the protocol edge of the PASSTHRU NDIS Intermedate Driver example.\"
PASSMINI.DeviceDesc=\"PASSTHRU Miniport\"
PASSMINI_HELP=\"This creates the miniport edge of the PASSTHRU NDIS Intermedate Driver example.\"

//
//ndis_1.reg
//
REGEDIT4

[HKEY_LOCAL_MACHINE\\Enum\\Root\\Ndis\\PASSTHRU]
\"Class\"=\"Ndis\"
\"Driver\"=\"Ndis\"
\"DeviceDesc\"=\"PASSTHRU Protocol driver\"
\"ConfigFlags\"=hex:10,00,00,00

//
//ndis_2.reg
//
REGEDIT4

[HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\Class\\Ndis]
@=\"Network intermediate \"
\"Icon\"=\"-6\"
\"NoUseClass\"=\"1\"
\"DevLoader\"=\"*Ndis\"
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
6楼#
发布于:2003-03-23 23:14
感谢mikeluo大侠帮助,现在开始重新整理环境,再试一下。

不管结果怎么样,先给分。

还请多多指教。
 



200分就这样到你手里了?

不再回忆从前,我已经生活在幸福当中。
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-03-24 09:40
[quote]感谢mikeluo大侠帮助,现在开始重新整理环境,再试一下。

不管结果怎么样,先给分。

还请多多指教。
 



200分就这样到你手里了?

 [/quote]

没有
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
fossilme
驱动牛犊
驱动牛犊
  • 注册日期2003-01-24
  • 最后登录2011-01-10
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望16点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-03-24 14:04
应该给我200分。嘿嘿,哦哦,哈哈,嘻嘻
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-03-24 14:31
你的绑定和安装是怎么做的?
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
游客

返回顶部