Leaked source code of windows server 2003
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.

97 lines
4.7 KiB

  1. this file provides a brief synopsis of the naming conventions, and purposes of other files in this directory.
  2. dirs:
  3. caman - conditional access manager
  4. cagseg - conditional access graph segment. eventually caman, cagseg should be the same object/project/dir. ask
  5. johnbrad for more details
  6. atl - private versions of atl headers(see readme in that dir)
  7. atlwin - copy of atlwin. this should eventually be replaced with public\sdk\inc\wtl
  8. msvidctl - the actual core vidctl
  9. auxcfg - utility objects to support configuration of analog auxiliary input devices for s-video or composite.
  10. this is incomplete(as of 8/00) , but intended to be UI-less helper objects based on the win98
  11. webtv for windows config page and aux-in filter.
  12. files:
  13. w32extend.h
  14. this file provides a set of utility classes that make various win32 api's and structs easier to use from c++.
  15. fwdseq.h
  16. this file is a generic template for turning any sort of com object with a reasonably standard enumerator into
  17. an stl style container with an forward(restartable input) iterator. its so complicated because its working
  18. around a couple of compiler bugs and its flexible enough to handle most next method signatures and names.
  19. ksextend.h
  20. utility classes, templates for simplifying the use of ks from c++ client code. this supports easy access to
  21. ks medium structures.
  22. dsextend.h, .cpp
  23. these files provide a set of extension classes for core dshow objects. many of these utilize the services in
  24. the other *extend.h files. this includes a set of templates for making graphs look like an stl collection
  25. of filters, filters a collection of pins, pins a collection of media types, pins a collection of mediums,
  26. dshow device enumerators a collection of device monikers, and other utility functions.
  27. XXXimpl.h
  28. these files provide an atl style default implementation template for the interface IXXXX.
  29. scalingrect.h
  30. this files provides a utility class which auto scales rectangles via mapwindowpoints based on the associated
  31. hwnd.
  32. objreghelp.h
  33. replacement helper macros for atl object registration. this is still based on the underlying atl registration
  34. mechanics, but it shares a common __declspec(selectany) string copy of the common .rgs with many other
  35. macro substitutions besides %module%. this simplifies object registration and reduces executable size.
  36. odsstream.h
  37. standard library iostream backed by outputdebugstring so that tracing can use standard c++ io(esp. manipulators).
  38. filterenum.h
  39. standard ole collection on stl vector based list of filters
  40. stextend.h
  41. utlity classes to provide additonal global operators for certain stl objects.
  42. arity.h
  43. generalize of stl unary and binary functor objects. this allows(more or less)arbitrary function signatures
  44. to be use with stl function application templates such as std::for_each and std::find_if.
  45. this was done as an experiment with a more functional style programming paradigm. i'm in the process of
  46. pulling all this out as time allows. this seems to confuse people very badly and given the fact that the compiler
  47. doesn't deduce arguments correctly much of the time, forcing explicitly typed instantiation, empirical evidence
  48. suggests that this stuff negatively impacts readability. i'm in the process of converting all the std::find_if
  49. and std::for_each to explicit loops and then this won't be needed any more.
  50. devseq.h
  51. typedef def'd instantations of fwdseq for various type safe device collections
  52. mtype.*
  53. private copy of standard dshow base class. we statically link with the crt to avoid a dependency on msvcp60.dll
  54. strmbase.lib is built for use with msvcrt.dll instead of libc.lib. due to dllimport definition differences, this
  55. causes different name mangling for many imports, and is incompatible enough to be unlinkable. therefore, since
  56. we're a client and not a filter anway, we don't link with strmbase. we only link with strmiids.lib.
  57. errsupp.h
  58. inline helper for rich ISupportErrorInfo type error message from XXXXimpl files.
  59. seg.h
  60. standard type safe support for various kinds of collections of device segments.
  61. todo.txt
  62. notes about future ideas for improvements or bug fixes needed in the code. also, notes about commonly made
  63. mistakes that need to be frequently re-reviewed.
  64. throw.h
  65. internal exception hierarchy
  66. trace.h, trace.cpp
  67. internal tracing mechanism
  68. tstring.h
  69. internal string typedefs for providing independent tracing support that can be compile time switched between
  70. atlwin/wtl/mfc CString and c++ standard library std::basic_string. unfortunately, std::basic_string is broken
  71. badly enough that this isn't tenable. this file and its dependencies should eventually get removed.
  72. vidrect.h
  73. automation compliant com wrapper for scalingrect.h