That is correct. A lot of developers used the hooking scheme – hooking
NdisRegisterProtocol (to get the handler addresses), NdisSend,
NdisRequest and a few other entry points until Windows ME came out.
That scheme stopped working because it relies on VxD/.386-based
protocols calling NDIS.VxD via VxDCalls. The Windows ME TCPIP stack was
implemented not as a VxD but as a .SYS driver and uses the PE
Loader/NTKERN to resolve entry points into NDIS.VxD, bypassing the
VxDCall hook. The trick, which you found, is to also hook
PELDR_AddExportTable to get the following entry points when NDIS
registers its export table with the PE Loader:
NdisRegisterProtocol
NdisDeregisterProtocol
NdisOpenAdapter
NdisCloseAdapter
NdisSend
NdisTransferData
NdisReset
NdisRequest
This scheme is unsupported and for compatibility I would generally
recommend writing actual IM drivers. But I offer the above for those
cases where the information is useful.
Bryan
-----Original Message-----
From: Thomas F. Divine [mailto:xxxxx@pcausa.com]
Sent: Wednesday, July 25, 2001 11:00 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Win95 NDIS IM Driver
You can implement the functionailty if a NDIS Intermediate driver on
Windows
95 through Windows ME with one VxD by hooking the NDIS wrapper using
Hook_Device_Service (and a little more…).
The PCAUSA NDIS Pseudo-Intermediate (PIM) driver framework uses this
technique. Mush easier to use install then a NDIS IM driver on Windows
95
through Windows ME. AND it works out-of-the-box with PPP.
See the following URL for a solution:
http://www.pcausa.com/ndispim9x/Default.htm
Regards,
Thomas F. Divine
PCAUSA - Toolkits & Resources For Network Software Developers
NDIS Protocol - NDIS Intermediate - TDI Client
http: - http:
----- Original Message -----
From: “Bryan Burgin”
To: “NT Developers Interest List”
Sent: Wednesday, July 25, 2001 1:32 PM
Subject: [ntdev] RE: Win95 NDIS IM Driver
Sumit,
I did a quick review of Windows 95 NDIS code and I don’t see support for
NdisIMInitializeDeviceInstance, which you will need to get XP/2K
PASSTHRU to port it back. You may have to resort to writing a pair of
VxD drivers. I believe that you can use the Windows 98 DDK to write
your 95 driver(s). You will have to limit yourself to NDIS 3.1 for
Windows 95.
Good luck
Bryan S. Burgin
xxxxx@microsoft.com
-----Original Message-----
From: Sumit Pandya [mailto:xxxxx@elitecore.com]
Sent: Monday, July 23, 2001 4:51 AM
To: NT Developers Interest List
Subject: [ntdev] Win95 NDIS IM Driver
Hi all,
I need a startup guideline to devlop NDIS intermediate driver for
Windows 95. I finished with looking to IMSamp for the NT 4.0, and
passthru for the Windows 98 and all later release. I need same
devlopment stuff for Windows 95 too.
Another query: When i started with Windows 95 DDK, I found only few
help-pages in that or say seems like a filler in DDK after reading help
in NT 4.0/98/2000 DDK. From some site i knew that Help pages from DDK of
NT 3.5 will do for Windows 95 also, but unfortunately I failed to locate
that DDK. Can anybody sent me link to download that if it is really
going to helpful…
Can i’ve initial break-through from the GURUS.
Thanks in advance.
–Sumit
____________________________________________________________
eLitecore Technologies Pvt. Ltd.
—
You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
You are currently subscribed to ntdev as: xxxxx@pcausa.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com</http:></http:>