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.

213 lines
5.6 KiB

  1. // Microsoft Visual Studio Object Model
  2. // Copyright (C) 1996-1997 Microsoft Corporation
  3. // All rights reserved.
  4. /////////////////////////////////////////////////////////////////////////////
  5. // bldauto.h
  6. // Declaration of dual interfaces to objects found in the type library
  7. // VISUAL STUDIO 97 PROJECT SYSTEM (SharedIDE\bin\ide\devbld.pkg)
  8. #ifndef __BLDAUTO_H__
  9. #define __BLDAUTO_H__
  10. #include "appauto.h"
  11. #include "blddefs.h"
  12. #ifndef BEGIN_INTERFACE
  13. #define BEGIN_INTERFACE
  14. #endif
  15. /////////////////////////////////////////////////////////////////////////////
  16. // Interfaces declared in this file:
  17. // IGenericProject
  18. interface IBuildProject;
  19. interface IConfiguration;
  20. interface IConfigurations;
  21. /////////////////////////////////////////////////////////////////////////
  22. // BuildProject Object
  23. // IBuildProject interface
  24. #undef INTERFACE
  25. #define INTERFACE IBuildProject
  26. DECLARE_INTERFACE_(IBuildProject, IGenericProject)
  27. {
  28. BEGIN_INTERFACE
  29. #ifndef NO_BASEINTERFACE_FUNCS
  30. /* IUnknown methods */
  31. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  32. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  33. STDMETHOD_(ULONG, Release)(THIS) PURE;
  34. /* IDispatch methods */
  35. STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  36. STDMETHOD(GetTypeInfo)(
  37. THIS_
  38. UINT itinfo,
  39. LCID lcid,
  40. ITypeInfo FAR* FAR* pptinfo) PURE;
  41. STDMETHOD(GetIDsOfNames)(
  42. THIS_
  43. REFIID riid,
  44. OLECHAR FAR* FAR* rgszNames,
  45. UINT cNames,
  46. LCID lcid,
  47. DISPID FAR* rgdispid) PURE;
  48. STDMETHOD(Invoke)(
  49. THIS_
  50. DISPID dispidMember,
  51. REFIID riid,
  52. LCID lcid,
  53. WORD wFlags,
  54. DISPPARAMS FAR* pdispparams,
  55. VARIANT FAR* pvarResult,
  56. EXCEPINFO FAR* pexcepinfo,
  57. UINT FAR* puArgErr) PURE;
  58. /* IGenericProject methods */
  59. STDMETHOD(get_Name)(THIS_ BSTR FAR* Name) PURE;
  60. STDMETHOD(get_FullName)(THIS_ BSTR FAR* Name) PURE;
  61. STDMETHOD(get_Application)(THIS_ IDispatch * FAR* Application) PURE;
  62. STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* Parent) PURE;
  63. STDMETHOD(get_Type)(THIS_ BSTR FAR* pType) PURE;
  64. STDMETHOD(Reserved1)(THIS) PURE;
  65. STDMETHOD(Reserved2)(THIS) PURE;
  66. STDMETHOD(Reserved3)(THIS) PURE;
  67. STDMETHOD(Reserved4)(THIS) PURE;
  68. STDMETHOD(Reserved5)(THIS) PURE;
  69. STDMETHOD(Reserved6)(THIS) PURE;
  70. STDMETHOD(Reserved7)(THIS) PURE;
  71. STDMETHOD(Reserved8)(THIS) PURE;
  72. STDMETHOD(Reserved9)(THIS) PURE;
  73. STDMETHOD(Reserved10)(THIS) PURE;
  74. #endif
  75. /* IBuildProject methods */
  76. STDMETHOD(get_Configurations)(THIS_ IConfigurations FAR* FAR* Configurations) PURE;
  77. };
  78. /////////////////////////////////////////////////////////////////////////////
  79. // Configuration object
  80. // IConfiguration interface
  81. #undef INTERFACE
  82. #define INTERFACE IConfiguration
  83. DECLARE_INTERFACE_(IConfiguration, IDispatch)
  84. {
  85. BEGIN_INTERFACE
  86. #ifndef NO_BASEINTERFACE_FUNCS
  87. /* IUnknown methods */
  88. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  89. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  90. STDMETHOD_(ULONG, Release)(THIS) PURE;
  91. /* IDispatch methods */
  92. STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  93. STDMETHOD(GetTypeInfo)(
  94. THIS_
  95. UINT itinfo,
  96. LCID lcid,
  97. ITypeInfo FAR* FAR* pptinfo) PURE;
  98. STDMETHOD(GetIDsOfNames)(
  99. THIS_
  100. REFIID riid,
  101. OLECHAR FAR* FAR* rgszNames,
  102. UINT cNames,
  103. LCID lcid,
  104. DISPID FAR* rgdispid) PURE;
  105. STDMETHOD(Invoke)(
  106. THIS_
  107. DISPID dispidMember,
  108. REFIID riid,
  109. LCID lcid,
  110. WORD wFlags,
  111. DISPPARAMS FAR* pdispparams,
  112. VARIANT FAR* pvarResult,
  113. EXCEPINFO FAR* pexcepinfo,
  114. UINT FAR* puArgErr) PURE;
  115. #endif
  116. /* IConfiguration methods */
  117. STDMETHOD(get_Name)(THIS_ BSTR FAR* Name) PURE;
  118. STDMETHOD(get_Application)(THIS_ IDispatch * FAR* Application) PURE;
  119. STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* Parent) PURE;
  120. STDMETHOD(AddToolSettings)(THIS_ BSTR szTool, BSTR szSettings, VARIANT Reserved) PURE;
  121. STDMETHOD(RemoveToolSettings)(THIS_ BSTR szTool, BSTR szSettings, VARIANT Reserved) PURE;
  122. STDMETHOD(AddCustomBuildStep)(THIS_ BSTR szCommand, BSTR szOutput, BSTR szDescription, VARIANT Reserved) PURE;
  123. };
  124. /////////////////////////////////////////////////////////////////////////
  125. // Configurations collection object
  126. // IConfigurations interface
  127. #undef INTERFACE
  128. #define INTERFACE IConfigurations
  129. DECLARE_INTERFACE_(IConfigurations, IDispatch)
  130. {
  131. BEGIN_INTERFACE
  132. #ifndef NO_BASEINTERFACE_FUNCS
  133. /* IUnknown methods */
  134. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  135. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  136. STDMETHOD_(ULONG, Release)(THIS) PURE;
  137. /* IDispatch methods */
  138. STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  139. STDMETHOD(GetTypeInfo)(
  140. THIS_
  141. UINT itinfo,
  142. LCID lcid,
  143. ITypeInfo FAR* FAR* pptinfo) PURE;
  144. STDMETHOD(GetIDsOfNames)(
  145. THIS_
  146. REFIID riid,
  147. OLECHAR FAR* FAR* rgszNames,
  148. UINT cNames,
  149. LCID lcid,
  150. DISPID FAR* rgdispid) PURE;
  151. STDMETHOD(Invoke)(
  152. THIS_
  153. DISPID dispidMember,
  154. REFIID riid,
  155. LCID lcid,
  156. WORD wFlags,
  157. DISPPARAMS FAR* pdispparams,
  158. VARIANT FAR* pvarResult,
  159. EXCEPINFO FAR* pexcepinfo,
  160. UINT FAR* puArgErr) PURE;
  161. #endif
  162. /* IConfigurations methods */
  163. STDMETHOD(get_Application)(THIS_ IDispatch * FAR* Application) PURE;
  164. STDMETHOD(get_Count)(THIS_ long FAR* Count) PURE;
  165. STDMETHOD(get_Parent)(THIS_ IBuildProject FAR* FAR* Parent) PURE;
  166. STDMETHOD(get__NewEnum)(THIS_ IUnknown * FAR* _NewEnum) PURE;
  167. STDMETHOD(Item)(THIS_ VARIANT Index, IConfiguration FAR* FAR* Item) PURE;
  168. };
  169. #endif //__BLDAUTO_H__