Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.7 KiB

  1. This code provides a sample implementation of an IP routing protocol. It
  2. illustrates the interaction with the IP Router Manager and the Route Table
  3. Manager (v2). It also provides guidelines for efficient use of the event
  4. logging and tracing facilities provided with the Routing SDK. The code uses
  5. WinSock2 functionality for optimized execution. It also contains comments
  6. about the preferred usage of NT and Routing functionalities (such as worker
  7. threads, etc).
  8. To run the sample, you need to build the LoadProtocol sample, which will load
  9. this sample protocol. Please see ..\LoadProtocol for more info.
  10. The sample protocol DLL (ipsample.dll) needs to be copied to the
  11. %SytemRoot%system32 folder
  12. The sample protocol should be registered in the following registry
  13. location (invoke ipsample.reg to effect these changes):
  14. \HKEY_LOCAL_MACHINE
  15. \Software
  16. \Microsoft
  17. \Router
  18. \CurrentVersion
  19. \RouterManagers
  20. \IP
  21. \IPSAMPLE
  22. VendorName = Microsoft (Value Type: REG_SZ)
  23. Title = Sample IP Routing Protocol (Value Type: REG_SZ)
  24. ProtocolId = 0x00c8 (Value Type:REG_DWORD)
  25. Flags = 0 (Value Type:REG_DWORD)
  26. DLLName = IPSAMPLE.DLL (Value Type: REG_SZ)
  27. ConfigDLL = admin application dll (Value Type: REG_EXPAND_SZ)
  28. ConfigClsid = admin application CLSID (Value Type: REG_SZ)
  29. DESCRIPTION
  30. Once the sample protocol is installed, it will periodically send out hello
  31. messages on every active (enabled and bound) interface. These are received
  32. by all routers on the subnet running the sample protocol. The MIB api
  33. allows one to get and set the global and interface specific configuration
  34. and to obtain the interface bindings as well as the global and interface
  35. statistics. These structures are defined in <ipsamplerm.h>...
  36. CAVEAT
  37. At this moment the sample does not support unnumbered interfaces. This
  38. feature will be demonstrated in a future release.
  39. FILES
  40. README this file
  41. makefile unchanged
  42. makefile.inc build instructions for resources
  43. makefile.sdk build instructions for external distribution
  44. sources compilation instructions for sample.dll and sampletest.exe
  45. ipsample.def functions and variables exported by sample.dll
  46. list.h
  47. hashtable.[ch]
  48. sync.h
  49. utils.[ch]
  50. packet.[ch]
  51. socket.[ch]
  52. networkentry.[ch]
  53. networkmgr.[ch]
  54. configentry.[ch]
  55. configmgr.[ch]
  56. mibmgr.[ch]
  57. rtmapi.[ch]
  58. rmapi.[ch]
  59. test.c
  60. log.h localizable error codes
  61. ipsample.rc dll resources file
  62. ipsample.[ch] dll main file
  63. pchsample.h precompiled header
  64. sampletest.rc test resources file
  65. sampletest.h test header file
  66. sampletest.cxx test main file (cxx extention precludes pch inclusion)