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.

227 lines
6.8 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1999 - 1999
  6. //
  7. // File: stdafx.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // stdafx.h : include file for standard system include files,
  11. // or project specific include files that are used frequently,
  12. // but are changed infrequently
  13. #undef _MSC_EXTENSIONS
  14. #define ASSERT(x) _ASSERTE(x)
  15. #include <new.h>
  16. #include <crtdbg.h>
  17. #define OEMRESOURCE 1
  18. #include <windows.h>
  19. #include <shellapi.h>
  20. #include <mmctempl.h>
  21. #include <objidl.h>
  22. #include <commctrl.h>
  23. #include <mmcmt.h>
  24. //############################################################################
  25. //############################################################################
  26. //
  27. // MMC headers
  28. //
  29. //############################################################################
  30. #include <mmc.h>
  31. #include <ndmgr.h>
  32. #include <ndmgrpriv.h>
  33. #include <mmcptrs.h>
  34. //############################################################################
  35. //############################################################################
  36. //
  37. // ATL
  38. //
  39. //############################################################################
  40. //############################################################################
  41. // The #define below is to work around an ATL bug causing bug C2872
  42. #define MMC_ATL ::ATL
  43. #define _WTL_NO_AUTOMATIC_NAMESPACE
  44. #include <atlbase.h>
  45. using namespace MMC_ATL;
  46. //You may derive a class from CComModule and use it if you want to override
  47. //something, but do not change the name of _Module
  48. extern CComModule _Module; // Needs to be declared BEFORE atlcom.h
  49. #include <atlcom.h>
  50. #include <atlwin.h>
  51. #include <atlapp.h>
  52. #include <atlmisc.h>
  53. #include <atlctrls.h>
  54. #include <atlgdi.h>
  55. #include <atlctl.h>
  56. #include <dlgs.h>
  57. #include <atldlgs.h>
  58. //############################################################################
  59. //############################################################################
  60. //
  61. // STL and other classes
  62. //
  63. //############################################################################
  64. //############################################################################
  65. #include <algorithm>
  66. #include <exception>
  67. #include <string>
  68. #include <list>
  69. #include <set>
  70. #include <vector>
  71. #include <map>
  72. #include <iterator>
  73. //############################################################################
  74. //############################################################################
  75. // definition to compile code specific to node manager dll
  76. #define _MMC_NODE_MANAGER_ONLY_
  77. //############################################################################
  78. //############################################################################
  79. //
  80. // The safer string handling routines
  81. //
  82. //############################################################################
  83. //############################################################################
  84. // multimon.h (which we don't own) uses a deprecated function in ANSI. That's
  85. // why we #define STRSAFE_NO_DEPRECATE below in ANSI only
  86. #ifndef UNICODE
  87. #define STRSAFE_NO_DEPRECATE
  88. #endif // UNICODE
  89. #include <strsafe.h>
  90. //############################################################################
  91. //############################################################################
  92. //
  93. // Files #included from base and core.
  94. //
  95. //############################################################################
  96. //############################################################################
  97. #include "dbg.h"
  98. #include "cstr.h"
  99. #include "mmcdebug.h"
  100. #include "mmcerror.h"
  101. #include "tiedobj.h"
  102. #include "comerror.h"
  103. #include "events.h" // Observer pattern implementation.
  104. #include "strings.h"
  105. // included from NODEMGR (needs some BASE stuff, redefines some as well)
  106. #include "typeinfo.h" // defines IDispatchImpl substitution for node manager
  107. #include "AutoPtr.h"
  108. #include "comobjects.h"
  109. #include "enumerator.h"
  110. //############################################################################
  111. //############################################################################
  112. //
  113. // include common and nodemgr-only strings.
  114. //
  115. //############################################################################
  116. //############################################################################
  117. #include "..\base\basestr.h"
  118. #include "..\base\nodemgrstr.h"
  119. //############################################################################
  120. //############################################################################
  121. //
  122. // Debug support for legacy traces.
  123. //
  124. //############################################################################
  125. //############################################################################
  126. #ifdef DBG
  127. #define TRACE TraceNodeMgrLegacy
  128. #else // DBG
  129. #define TRACE ;/##/
  130. #endif DBG
  131. //############################################################################
  132. //############################################################################
  133. //
  134. // Other files
  135. //
  136. //############################################################################
  137. //############################################################################
  138. #include "mmcatl.h"
  139. #include "regkeyex.h"
  140. #include "guidhelp.h"
  141. #include "macros.h"
  142. #include "moreutil.h"
  143. #include "amcmsgid.h"
  144. #include "mfccllct.h"
  145. #include "mmcutil.h"
  146. #include "countof.h"
  147. #include "stgio.h"
  148. #include "serial.h"
  149. #include "stlstuff.h"
  150. #include "bookmark.h"
  151. #include "xmlbase.h"
  152. #include "resultview.h"
  153. #include "viewset.h"
  154. #include "memento.h"
  155. #include "objmodelptrs.h"
  156. #include "mmcdata.h"
  157. #include "viewdata.h"
  158. #include "cpputil.h"
  159. class CComponent;
  160. class CMTNode;
  161. typedef CComponent* PCOMPONENT;
  162. typedef std::vector<PCOMPONENT> CComponentArray;
  163. typedef CMTNode* PMTNODE;
  164. typedef std::vector<PMTNODE> CMTNodePtrArray;
  165. //############################################################################
  166. //############################################################################
  167. //
  168. // Files from the nodemgr subsystem
  169. //
  170. //############################################################################
  171. //############################################################################
  172. #include "mmcres.h"
  173. #include "resource.h"
  174. #include "helparr.h"
  175. #include "classreg.h"
  176. #include "snapin.h"
  177. #include "npd.h"
  178. #include "nmtempl.h"
  179. #include "imageid.h"
  180. #include "amcpriv.h"
  181. #include "containr.h"
  182. #include "ststring.h"
  183. #include "nodepath.h"
  184. #include "mtnode.h"
  185. #include "node.h"
  186. #include "propsht.h"
  187. #include "coldata.h"
  188. #include "toolbar.h"
  189. #include "ctrlbar.h"
  190. #include "verbs.h"
  191. #include "scoptree.h"
  192. #include "nodeinit.h"
  193. #include "wiz97.h"