home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / objmodel / bldauto.h < prev    next >
C/C++ Source or Header  |  1998-05-05  |  7KB  |  222 lines

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