square
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2004-10-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1655回复:0

有没有98下的passthru的例子 我这里有一个是从2000下改过来的 安装太麻烦了

楼主#
更多 发布于:2001-12-05 17:07

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

最新喜欢:

zackaryzackar...
游客

返回顶部