开发工具:Visual C++
上传日期:2004-05-28 10:05:49
上 传 者管理员
说明:  pppoe在windows实现的miniport驱动源代码
(-Implement miniport driver in windows.)

pppoe (0, 2003-03-03)
pppoe\CVS (0, 2003-03-03)
pppoe\CVS\Root (55, 2003-03-03)
pppoe\CVS\Repository (7, 2003-03-03)
pppoe\CVS\Entries.Extra (491, 2003-03-03)
pppoe\CVS\Entries (1388, 2003-03-03)
pppoe\adapter.c (1591, 2001-06-27)
pppoe\adapter.h (5331, 2001-06-27)
pppoe\b.bat (7, 2001-06-11)
pppoe\debug.c (807, 2001-06-27)
pppoe\debug.h (828, 2001-06-27)
pppoe\discovery.c (8265, 2001-06-27)
pppoe\discovery.h (757, 2001-06-27)
pppoe\main.c (3157, 2001-06-27)
pppoe\main.h (808, 2001-06-27)
pppoe\makefile (249, 2001-06-11)
pppoe\miniport.c (9957, 2001-06-27)
pppoe\miniport.h (839, 2001-06-27)
pppoe\mtpppoe.dll (1052, 2001-06-11)
pppoe\my.h (649, 2001-06-27)
pppoe\my_string.c (2109, 2001-06-27)
pppoe\my_string.h (783, 2001-06-27)
pppoe\oid.c (22251, 2001-06-27)
pppoe\oid.h (766, 2001-06-27)
pppoe\packet.c (4160, 2001-06-27)
pppoe\packet.h (2243, 2001-06-27)
pppoe\pppoe.c (14809, 2001-06-27)
pppoe\pppoe.h (1032, 2001-06-27)
pppoe\pppoe_miniport.inf (1714, 2001-06-11)
pppoe\pppoe_protocol.inf (3330, 2001-06-11)
pppoe\protocol.c (18637, 2001-06-27)
pppoe\protocol.h (621, 2001-06-27)
pppoe\request.c (7018, 2001-06-27)
pppoe\request.h (922, 2001-06-27)
pppoe\sources (762, 2001-06-11)
pppoe\stepbystep.htm (7338, 2001-06-11)
pppoe\todo (947, 2001-06-11)
pppoe\Win2000_Dll (0, 2003-03-03)
pppoe\Win2000_Dll\CVS (0, 2003-03-03)
... ...

Current state of the driver: Works fine for Windows 2000 and most likely for Windows ***/***Se/Me, but there are problems in installation which needs to be fixed. Some tips how to compile this project. We were using MSVC 6.0 for driver, so we recommend you do the same. Also you need Windows 2000 DDK which can be downloaded from Microsoft. It is expected that you are familiar with Windows 2000 driver development and with network driver design in general. Also knowledge of pppoe itself is recommended. For path conformance it is recommended to put driver in %DDK_DIR%\src\network\ndis\pppoe\ Also you need to edit sources file, as there is path to VC++ include directory, which most likely will differ. To compile driver use 'build' utility from Windows2000 Checked/Free build environment. There is lot of debug output you can see if you are using WinDbg or similar utility which intercepts DbgPrint function calls. To compile notify object dll for Windows 2000 just use the build utility and everything should work fine (maybe you just need to add include directories in "sources" file). As you may notice, it is just a little bit changed version of sfilter example from Windows 2000 DDK. About driver architecture: Driver is made as Ndis 4.0 intermediate mode driver. And is layered between ethernet card drivers and NDISWAN (Microsoft PPP stack). Code Tour: adapter.c - functions which creates, destroys ADAPT'er objects. adapter.h - Declares ADAPT(er) structure. Examine passtrough example to understand meaning of this ADAPT(er) structure. It keeps info about miniport and protocol who have been binded to this adapter. Also it keeps current state of pppoe connections. Values who relates to protocol begin with prefix 'proto'. Those who relate to miniport those begin with 'mini' and those who to pppoe those begin with 'pppoe'. Also there are some other structures declared who relates to packet management. changes - This file reflects changes between versions. debug.c - Contains debug print functions. Used for debug output. debug.h - Declares debug functions and macros. discovery.c - Contains functions which handles various types of received pppoe packets. discovery.h - Function declarations for discovery.c main.c - DriverEntry functions and driver unload handler. Also global variable definitions. main.h - Several global variable declarations. makefile - Makefile (does nothing) miniport.c - Contains all functions which miniport should provide to ndis. Also contains function related to TAPI line/call management. miniport.h - Function declarations for miniport.c mtpppoe.dll - Coinstaller dll for windows 2000 my.h - Precompiled header file my_string.h - Several useful string manipulation functions. my_string.c - Function declarations for my_string.c oid.c - Functions which handle various OID's. oid.h - Declares oid handling function. packet.c - Packet management utilities. Functions for adding various pppoe tags to the network packets. packet.h - PPPoE packet structure, various constants related to the pppoe and function declarations for packet.c pppoe.c - Biggest part of the pppoe logic is located there. pppoe.h - Function declarations for pppoe.c pppoe_miniport.inf - PPPoE driver miniport inf file. pppoe_miniport.inf - PPPoE driver protocol inf file. protocol.c - All functions which should be provided to ndis by protocol driver. protocol.h - Nothing much... ;) readme - this file request.c - Function which dispatches oid's to appropriate handlers and if oid's complete later, calls appropriate complete handlers. request.h - Declarations of oid handling functions. sources - real makefile. stepbystep.html - Step by step guide how to install pppoe driver on Windows 2000