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

  1. // Microsoft Visual Studio Object Model
  2. // Copyright (C) 1996-1997 Microsoft Corporation
  3. // All rights reserved.
  4.  
  5. /////////////////////////////////////////////////////////////////////////////
  6. // appauto.h
  7.  
  8. // Declaration of dual interfaces to objects found in the type library
  9. //  VISUAL STUDIO 97 SHARED OBJECTS (SharedIDE\bin\devshl.dll)
  10.  
  11. #ifndef __APPAUTO_H_
  12. #define __APPAUTO_H_
  13.  
  14. #include "appdefs.h"
  15.  
  16. #ifndef BEGIN_INTERFACE
  17. #define BEGIN_INTERFACE
  18. #endif
  19.  
  20. /////////////////////////////////////////////////////////////////////////////
  21. // Interfaces declared in this file:
  22.  
  23. interface IApplication;
  24. interface IApplicationEvents;
  25.  
  26. interface IGenericDocument;
  27. interface IDocuments;
  28.  
  29. interface IGenericWindow;
  30. interface IWindows;
  31.  
  32. interface IGenericProject;
  33. interface IProjects;
  34.  
  35.  
  36. /////////////////////////////////////////////////////////////////////////////
  37. // Application object
  38.  
  39. // IApplication interface
  40.  
  41. #undef INTERFACE
  42. #define INTERFACE IApplication
  43.  
  44. DECLARE_INTERFACE_(IApplication, IDispatch)
  45. {
  46. BEGIN_INTERFACE
  47. #ifndef NO_BASEINTERFACE_FUNCS
  48.  
  49.     /* IUnknown methods */
  50.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  51.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  52.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  53.  
  54.     /* IDispatch methods */
  55.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  56.  
  57.     STDMETHOD(GetTypeInfo)(
  58.       THIS_
  59.       UINT itinfo,
  60.       LCID lcid,
  61.       ITypeInfo FAR* FAR* pptinfo) PURE;
  62.  
  63.     STDMETHOD(GetIDsOfNames)(
  64.       THIS_
  65.       REFIID riid,
  66.       OLECHAR FAR* FAR* rgszNames,
  67.       UINT cNames,
  68.       LCID lcid,
  69.       DISPID FAR* rgdispid) PURE;
  70.  
  71.     STDMETHOD(Invoke)(
  72.       THIS_
  73.       DISPID dispidMember,
  74.       REFIID riid,
  75.       LCID lcid,
  76.       WORD wFlags,
  77.       DISPPARAMS FAR* pdispparams,
  78.       VARIANT FAR* pvarResult,
  79.       EXCEPINFO FAR* pexcepinfo,
  80.       UINT FAR* puArgErr) PURE;
  81. #endif
  82.  
  83.     /* IApplication methods */
  84.     STDMETHOD(get_Height)(THIS_ long FAR* Height) PURE;
  85.     STDMETHOD(put_Height)(THIS_ long Height) PURE;
  86.     STDMETHOD(get_Width)(THIS_ long FAR* Width) PURE;
  87.     STDMETHOD(put_Width)(THIS_ long Width) PURE;
  88.     STDMETHOD(get_Top)(THIS_ long FAR* Top) PURE;
  89.     STDMETHOD(put_Top)(THIS_ long Top) PURE;
  90.     STDMETHOD(get_Left)(THIS_ long FAR* Left) PURE;
  91.     STDMETHOD(put_Left)(THIS_ long Left) PURE;
  92.     STDMETHOD(get_Name)(THIS_ BSTR FAR* Name) PURE;
  93.     STDMETHOD(get_TextEditor)(THIS_ IDispatch * FAR* texteditor) PURE;
  94.     STDMETHOD(get_Version)(THIS_ BSTR FAR* Version) PURE;
  95.     STDMETHOD(get_Path)(THIS_ BSTR FAR* Path) PURE;
  96.     STDMETHOD(get_CurrentDirectory)(THIS_ BSTR FAR* CurrentDirectory) PURE;
  97.     STDMETHOD(put_CurrentDirectory)(THIS_ BSTR CurrentDirectory) PURE;
  98.     STDMETHOD(get_FullName)(THIS_ BSTR FAR* FullName) PURE;
  99.     STDMETHOD(get_Application)(THIS_ IDispatch * FAR* Application) PURE;
  100.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* Parent) PURE;
  101.     STDMETHOD(get_ActiveDocument)(THIS_ IDispatch * FAR* ActiveDocument) PURE;
  102.     STDMETHOD(get_Windows)(THIS_ IDispatch * FAR* Windows) PURE;
  103.     STDMETHOD(get_Documents)(THIS_ IDispatch * FAR* Documents) PURE;
  104.     STDMETHOD(get_ActiveWindow)(THIS_ IDispatch * FAR* ActiveWindow) PURE;
  105.     STDMETHOD(get_WindowState)(THIS_ DsWindowState FAR* windowstate) PURE;
  106.     STDMETHOD(put_WindowState)(THIS_ DsWindowState windowstate) PURE;
  107.     STDMETHOD(get_Debugger)(THIS_ IDispatch * FAR* ppDebugger) PURE;
  108.     STDMETHOD(get_Projects)(THIS_ IDispatch * FAR* Projects) PURE;
  109.     STDMETHOD(get_ActiveConfiguration)(THIS_ IDispatch * FAR* ActiveConfiguration) PURE;
  110.     STDMETHOD(put_ActiveConfiguration)(THIS_ IDispatch * ActiveConfiguration) PURE;
  111.     STDMETHOD(get_Visible)(THIS_ VARIANT_BOOL FAR* Visible) PURE;
  112.     STDMETHOD(put_Visible)(THIS_ VARIANT_BOOL Visible) PURE;
  113.     STDMETHOD(get_ActiveProject)(THIS_ IDispatch * FAR* ActiveProject) PURE;
  114.     STDMETHOD(put_ActiveProject)(THIS_ IDispatch * ActiveProject) PURE;
  115.     STDMETHOD(put_Active)(THIS_ VARIANT_BOOL bActive) PURE;
  116.     STDMETHOD(get_Active)(THIS_ VARIANT_BOOL FAR* pbActive) PURE;
  117.     STDMETHOD(GetPackageExtension)(THIS_ BSTR szExtensionName, IDispatch * FAR* pExt) PURE;
  118.     STDMETHOD(Quit)(THIS) PURE;
  119.     STDMETHOD(PrintToOutputWindow)(THIS_ BSTR Message) PURE;
  120.     STDMETHOD(ExecuteCommand)(THIS_ BSTR szCommandName) PURE;
  121.     STDMETHOD(AddCommandBarButton)(THIS_ long nButtonType, BSTR szCmdName, long dwCookie) PURE;
  122.     STDMETHOD(AddKeyBinding)(THIS_ BSTR szKey, BSTR szCommandName, BSTR szEditor) PURE;
  123.     STDMETHOD(Build)(THIS_ VARIANT Configuration) PURE;
  124.     STDMETHOD(RebuildAll)(THIS_ VARIANT configuration) PURE;
  125.     STDMETHOD(ExecuteConfiguration)(THIS_ VARIANT Reserved) PURE;
  126.     STDMETHOD(SetAddInInfo)(THIS_ long nInstanceHandle, IDispatch * pCmdDispatch, long nIDBitmapResourceMedium, long nIDBitmapResourceLarge, long dwCookie) PURE;
  127.     STDMETHOD(AddCommand)(THIS_ BSTR szCmdName, BSTR szMethodName, long nBitmapOffset, long dwCookie, VARIANT_BOOL FAR* pbResult) PURE;
  128.     STDMETHOD(EnableModeless)(THIS_ VARIANT_BOOL bEnable) PURE;
  129.     STDMETHOD(Clean)(THIS_ VARIANT configuration) PURE;
  130.     STDMETHOD(get_Errors)(THIS_ long FAR* nErrors) PURE;
  131.     STDMETHOD(get_Warnings)(THIS_ long FAR* nWarnings) PURE;
  132.     STDMETHOD(AddProject)(THIS_ BSTR szName, BSTR szPath, BSTR szType, VARIANT_BOOL bAddDefaultFolders) PURE;
  133. };
  134.  
  135. // IApplicationEvents interface
  136.  
  137. #undef INTERFACE
  138. #define INTERFACE IApplicationEvents
  139.  
  140. DECLARE_INTERFACE_(IApplicationEvents, IDispatch)
  141. {
  142. BEGIN_INTERFACE
  143. #ifndef NO_BASEINTERFACE_FUNCS
  144.  
  145.     /* IUnknown methods */
  146.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  147.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  148.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  149.  
  150.     /* IDispatch methods */
  151.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  152.  
  153.     STDMETHOD(GetTypeInfo)(
  154.       THIS_
  155.       UINT itinfo,
  156.       LCID lcid,
  157.       ITypeInfo FAR* FAR* pptinfo) PURE;
  158.  
  159.     STDMETHOD(GetIDsOfNames)(
  160.       THIS_
  161.       REFIID riid,
  162.       OLECHAR FAR* FAR* rgszNames,
  163.       UINT cNames,
  164.       LCID lcid,
  165.       DISPID FAR* rgdispid) PURE;
  166.  
  167.     STDMETHOD(Invoke)(
  168.       THIS_
  169.       DISPID dispidMember,
  170.       REFIID riid,
  171.       LCID lcid,
  172.       WORD wFlags,
  173.       DISPPARAMS FAR* pdispparams,
  174.       VARIANT FAR* pvarResult,
  175.       EXCEPINFO FAR* pexcepinfo,
  176.       UINT FAR* puArgErr) PURE;
  177. #endif
  178.  
  179.     /* IApplicationEvents methods */
  180.     STDMETHOD(BeforeBuildStart)(THIS) PURE;
  181.     STDMETHOD(BuildFinish)(THIS_ long nNumErrors, long nNumWarnings) PURE;
  182.     STDMETHOD(BeforeApplicationShutDown)(THIS) PURE;
  183.     STDMETHOD(DocumentOpen)(THIS_ IDispatch * theDocument) PURE;
  184.     STDMETHOD(BeforeDocumentClose)(THIS_ IDispatch * theDocument) PURE;
  185.     STDMETHOD(DocumentSave)(THIS_ IDispatch * theDocument) PURE;
  186.     STDMETHOD(NewDocument)(THIS_ IDispatch * theDocument) PURE;
  187.     STDMETHOD(WindowActivate)(THIS_ IDispatch * theWindow) PURE;
  188.     STDMETHOD(WindowDeactivate)(THIS_ IDispatch * theWindow) PURE;
  189.     STDMETHOD(WorkspaceOpen)(THIS) PURE;
  190.     STDMETHOD(WorkspaceClose)(THIS) PURE;
  191.     STDMETHOD(NewWorkspace)(THIS) PURE;
  192. };
  193.  
  194.  
  195. /////////////////////////////////////////////////////////////////////////////
  196. // Document object
  197.  
  198. // IGenericDocument interface
  199.  
  200. #undef INTERFACE
  201. #ifndef __IGenericDocument_INTERFACE_DEFINED__
  202. #define __IGenericDocument_INTERFACE_DEFINED__
  203. #define INTERFACE IGenericDocument
  204.  
  205. DECLARE_INTERFACE_(IGenericDocument, IDispatch)
  206. {
  207. BEGIN_INTERFACE
  208. #ifndef NO_BASEINTERFACE_FUNCS
  209.  
  210.     /* IUnknown methods */
  211.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  212.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  213.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  214.  
  215.     /* IDispatch methods */
  216.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  217.  
  218.     STDMETHOD(GetTypeInfo)(
  219.       THIS_
  220.       UINT itinfo,
  221.       LCID lcid,
  222.       ITypeInfo FAR* FAR* pptinfo) PURE;
  223.  
  224.     STDMETHOD(GetIDsOfNames)(
  225.       THIS_
  226.       REFIID riid,
  227.       OLECHAR FAR* FAR* rgszNames,
  228.       UINT cNames,
  229.       LCID lcid,
  230.       DISPID FAR* rgdispid) PURE;
  231.  
  232.     STDMETHOD(Invoke)(
  233.       THIS_
  234.       DISPID dispidMember,
  235.       REFIID riid,
  236.       LCID lcid,
  237.       WORD wFlags,
  238.       DISPPARAMS FAR* pdispparams,
  239.       VARIANT FAR* pvarResult,
  240.       EXCEPINFO FAR* pexcepinfo,
  241.       UINT FAR* puArgErr) PURE;
  242. #endif
  243.  
  244.     /* IGenericDocument methods */
  245.     STDMETHOD(get_Name)(THIS_ BSTR FAR* pName) PURE;
  246.     STDMETHOD(get_FullName)(THIS_ BSTR FAR* pName) PURE;
  247.     STDMETHOD(get_Application)(THIS_ IDispatch * FAR* ppApplication) PURE;
  248.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppParent) PURE;
  249.     STDMETHOD(get_Path)(THIS_ BSTR FAR* pPath) PURE;
  250.     STDMETHOD(get_Saved)(THIS_ VARIANT_BOOL FAR* pSaved) PURE;
  251.     STDMETHOD(get_ActiveWindow)(THIS_ IDispatch * FAR* ppWindow) PURE;
  252.     STDMETHOD(get_ReadOnly)(THIS_ VARIANT_BOOL FAR* pReadOnly) PURE;
  253.     STDMETHOD(put_ReadOnly)(THIS_ VARIANT_BOOL ReadOnly) PURE;
  254.     STDMETHOD(get_Type)(THIS_ BSTR FAR* pType) PURE;
  255.     STDMETHOD(get_Windows)(THIS_ IDispatch * FAR* ppWindows) PURE;
  256.     STDMETHOD(put_Active)(THIS_ VARIANT_BOOL bActive) PURE;
  257.     STDMETHOD(get_Active)(THIS_ VARIANT_BOOL FAR* pbActive) PURE;
  258.     STDMETHOD(NewWindow)(THIS_ IDispatch * FAR* ppWindow) PURE;
  259.     STDMETHOD(Save)(THIS_ VARIANT vFilename, VARIANT vBoolPrompt, DsSaveStatus FAR* pSaved) PURE;
  260.     STDMETHOD(Undo)(THIS_ VARIANT_BOOL FAR* pSuccess) PURE;
  261.     STDMETHOD(Redo)(THIS_ VARIANT_BOOL FAR* pSuccess) PURE;
  262.     STDMETHOD(PrintOut)(THIS_ VARIANT_BOOL FAR* pSuccess) PURE;
  263.     STDMETHOD(Close)(THIS_ VARIANT vSaveChanges, DsSaveStatus FAR* pSaved) PURE;
  264.     STDMETHOD(Reserved1)(THIS) PURE;
  265.     STDMETHOD(Reserved2)(THIS) PURE;
  266.     STDMETHOD(Reserved3)(THIS) PURE;
  267.     STDMETHOD(Reserved4)(THIS) PURE;
  268.     STDMETHOD(Reserved5)(THIS) PURE;
  269.     STDMETHOD(Reserved6)(THIS) PURE;
  270.     STDMETHOD(Reserved7)(THIS) PURE;
  271.     STDMETHOD(Reserved8)(THIS) PURE;
  272.     STDMETHOD(Reserved9)(THIS) PURE;
  273.     STDMETHOD(Reserved10)(THIS) PURE;
  274. };
  275.  
  276. #endif // __IGenericDocument_INTERFACE_DEFINED__
  277.  
  278.  
  279. /////////////////////////////////////////////////////////////////////////////
  280. // Documents collection object
  281.  
  282. // IDocuments interface
  283.  
  284. #undef INTERFACE
  285. #define INTERFACE IDocuments
  286.  
  287. DECLARE_INTERFACE_(IDocuments, IDispatch)
  288. {
  289. BEGIN_INTERFACE
  290. #ifndef NO_BASEINTERFACE_FUNCS
  291.  
  292.     /* IUnknown methods */
  293.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  294.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  295.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  296.  
  297.     /* IDispatch methods */
  298.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  299.  
  300.     STDMETHOD(GetTypeInfo)(
  301.       THIS_
  302.       UINT itinfo,
  303.       LCID lcid,
  304.       ITypeInfo FAR* FAR* pptinfo) PURE;
  305.  
  306.     STDMETHOD(GetIDsOfNames)(
  307.       THIS_
  308.       REFIID riid,
  309.       OLECHAR FAR* FAR* rgszNames,
  310.       UINT cNames,
  311.       LCID lcid,
  312.       DISPID FAR* rgdispid) PURE;
  313.  
  314.     STDMETHOD(Invoke)(
  315.       THIS_
  316.       DISPID dispidMember,
  317.       REFIID riid,
  318.       LCID lcid,
  319.       WORD wFlags,
  320.       DISPPARAMS FAR* pdispparams,
  321.       VARIANT FAR* pvarResult,
  322.       EXCEPINFO FAR* pexcepinfo,
  323.       UINT FAR* puArgErr) PURE;
  324. #endif
  325.  
  326.     /* IDocuments methods */
  327.     STDMETHOD(get_Count)(THIS_ long FAR* Count) PURE;
  328.     STDMETHOD(get_Application)(THIS_ IDispatch * FAR* ppApplication) PURE;
  329.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppParent) PURE;
  330.     STDMETHOD(get__NewEnum)(THIS_ IUnknown * FAR* _NewEnum) PURE;
  331.     STDMETHOD(Item)(THIS_ VARIANT index, IDispatch * FAR* Item) PURE;
  332.     STDMETHOD(SaveAll)(THIS_ VARIANT vtBoolPrompt, DsSaveStatus FAR* pSaved) PURE;
  333.     STDMETHOD(CloseAll)(THIS_ VARIANT vtSaveChanges, DsSaveStatus FAR* pSaved) PURE;
  334.     STDMETHOD(Add)(THIS_ BSTR docType, VARIANT vtReserved, IDispatch * FAR* ppDocument) PURE;
  335.     STDMETHOD(Open)(THIS_ BSTR filename, VARIANT vtDocType, VARIANT vtBoolReadOnly, IDispatch * FAR* ppDocument) PURE;
  336. };
  337.  
  338.  
  339. /////////////////////////////////////////////////////////////////////////////
  340. // Window object
  341.  
  342. // IGenericWindow interface
  343.  
  344. #undef INTERFACE
  345. #ifndef __IGenericWindow_INTERFACE_DEFINED__
  346. #define __IGenericWindow_INTERFACE_DEFINED__
  347. #define INTERFACE IGenericWindow
  348.  
  349. DECLARE_INTERFACE_(IGenericWindow, IDispatch)
  350. {
  351. BEGIN_INTERFACE
  352. #ifndef NO_BASEINTERFACE_FUNCS
  353.  
  354.     /* IUnknown methods */
  355.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  356.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  357.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  358.  
  359.     /* IDispatch methods */
  360.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  361.  
  362.     STDMETHOD(GetTypeInfo)(
  363.       THIS_
  364.       UINT itinfo,
  365.       LCID lcid,
  366.       ITypeInfo FAR* FAR* pptinfo) PURE;
  367.  
  368.     STDMETHOD(GetIDsOfNames)(
  369.       THIS_
  370.       REFIID riid,
  371.       OLECHAR FAR* FAR* rgszNames,
  372.       UINT cNames,
  373.       LCID lcid,
  374.       DISPID FAR* rgdispid) PURE;
  375.  
  376.     STDMETHOD(Invoke)(
  377.       THIS_
  378.       DISPID dispidMember,
  379.       REFIID riid,
  380.       LCID lcid,
  381.       WORD wFlags,
  382.       DISPPARAMS FAR* pdispparams,
  383.       VARIANT FAR* pvarResult,
  384.       EXCEPINFO FAR* pexcepinfo,
  385.       UINT FAR* puArgErr) PURE;
  386. #endif
  387.  
  388.     /* IGenericWindow methods */
  389.     STDMETHOD(get_Caption)(THIS_ BSTR FAR* pbstrCaption) PURE;
  390.     STDMETHOD(get_Type)(THIS_ BSTR FAR* pbstrCaption) PURE;
  391.     STDMETHOD(put_Active)(THIS_ VARIANT_BOOL bActive) PURE;
  392.     STDMETHOD(get_Active)(THIS_ VARIANT_BOOL FAR* pbActive) PURE;
  393.     STDMETHOD(put_Left)(THIS_ long lVal) PURE;
  394.     STDMETHOD(get_Left)(THIS_ long FAR* plVal) PURE;
  395.     STDMETHOD(put_Top)(THIS_ long lVal) PURE;
  396.     STDMETHOD(get_Top)(THIS_ long FAR* plVal) PURE;
  397.     STDMETHOD(put_Height)(THIS_ long lVal) PURE;
  398.     STDMETHOD(get_Height)(THIS_ long FAR* plVal) PURE;
  399.     STDMETHOD(put_Width)(THIS_ long lVal) PURE;
  400.     STDMETHOD(get_Width)(THIS_ long FAR* plVal) PURE;
  401.     STDMETHOD(get_Index)(THIS_ long FAR* plVal) PURE;
  402.     STDMETHOD(get_Next)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  403.     STDMETHOD(get_Previous)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  404.     STDMETHOD(put_WindowState)(THIS_ DsWindowState lVal) PURE;
  405.     STDMETHOD(get_WindowState)(THIS_ DsWindowState FAR* plVal) PURE;
  406.     STDMETHOD(get_Application)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  407.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  408.     STDMETHOD(Close)(THIS_ VARIANT vtSaveChanges, DsSaveStatus FAR* pSaved) PURE;
  409.     STDMETHOD(Reserved1)(THIS) PURE;
  410.     STDMETHOD(Reserved2)(THIS) PURE;
  411.     STDMETHOD(Reserved3)(THIS) PURE;
  412.     STDMETHOD(Reserved4)(THIS) PURE;
  413.     STDMETHOD(Reserved5)(THIS) PURE;
  414.     STDMETHOD(Reserved6)(THIS) PURE;
  415.     STDMETHOD(Reserved7)(THIS) PURE;
  416.     STDMETHOD(Reserved8)(THIS) PURE;
  417.     STDMETHOD(Reserved9)(THIS) PURE;
  418.     STDMETHOD(Reserved10)(THIS) PURE;
  419. };
  420.  
  421. #endif // __IGenericWindow_INTERFACE_DEFINED__
  422.  
  423.  
  424. /////////////////////////////////////////////////////////////////////////////
  425. // Windows collection object
  426.  
  427. // IWindows interface
  428.  
  429. #undef INTERFACE
  430. #define INTERFACE IWindows
  431.  
  432. DECLARE_INTERFACE_(IWindows, IDispatch)
  433. {
  434. BEGIN_INTERFACE
  435. #ifndef NO_BASEINTERFACE_FUNCS
  436.  
  437.     /* IUnknown methods */
  438.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  439.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  440.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  441.  
  442.     /* IDispatch methods */
  443.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  444.  
  445.     STDMETHOD(GetTypeInfo)(
  446.       THIS_
  447.       UINT itinfo,
  448.       LCID lcid,
  449.       ITypeInfo FAR* FAR* pptinfo) PURE;
  450.  
  451.     STDMETHOD(GetIDsOfNames)(
  452.       THIS_
  453.       REFIID riid,
  454.       OLECHAR FAR* FAR* rgszNames,
  455.       UINT cNames,
  456.       LCID lcid,
  457.       DISPID FAR* rgdispid) PURE;
  458.  
  459.     STDMETHOD(Invoke)(
  460.       THIS_
  461.       DISPID dispidMember,
  462.       REFIID riid,
  463.       LCID lcid,
  464.       WORD wFlags,
  465.       DISPPARAMS FAR* pdispparams,
  466.       VARIANT FAR* pvarResult,
  467.       EXCEPINFO FAR* pexcepinfo,
  468.       UINT FAR* puArgErr) PURE;
  469. #endif
  470.  
  471.     /* IWindows methods */
  472.     STDMETHOD(get_Count)(THIS_ long FAR* Count) PURE;
  473.     STDMETHOD(get_Application)(THIS_ IDispatch * FAR* ppApplication) PURE;
  474.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppParent) PURE;
  475.     STDMETHOD(get__NewEnum)(THIS_ IUnknown * FAR* _NewEnum) PURE;
  476.     STDMETHOD(Item)(THIS_ VARIANT index, IDispatch * FAR* Item) PURE;
  477.     STDMETHOD(Arrange)(THIS_ VARIANT vtArrangeStyle) PURE;
  478.     STDMETHOD(CloseAll)(THIS_ VARIANT vtSaveChanges, DsSaveStatus FAR* pSaved) PURE;
  479. };
  480.  
  481.  
  482. /////////////////////////////////////////////////////////////////////////////
  483. // Project object
  484.  
  485. // IGenericProject interface
  486.  
  487. #undef INTERFACE
  488. #ifndef __IGenericProject_INTERFACE_DEFINED__
  489. #define __IGenericProject_INTERFACE_DEFINED__
  490. #define INTERFACE IGenericProject
  491.  
  492. DECLARE_INTERFACE_(IGenericProject, IDispatch)
  493. {
  494. BEGIN_INTERFACE
  495. #ifndef NO_BASEINTERFACE_FUNCS
  496.  
  497.     /* IUnknown methods */
  498.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  499.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  500.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  501.  
  502.     /* IDispatch methods */
  503.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  504.  
  505.     STDMETHOD(GetTypeInfo)(
  506.       THIS_
  507.       UINT itinfo,
  508.       LCID lcid,
  509.       ITypeInfo FAR* FAR* pptinfo) PURE;
  510.  
  511.     STDMETHOD(GetIDsOfNames)(
  512.       THIS_
  513.       REFIID riid,
  514.       OLECHAR FAR* FAR* rgszNames,
  515.       UINT cNames,
  516.       LCID lcid,
  517.       DISPID FAR* rgdispid) PURE;
  518.  
  519.     STDMETHOD(Invoke)(
  520.       THIS_
  521.       DISPID dispidMember,
  522.       REFIID riid,
  523.       LCID lcid,
  524.       WORD wFlags,
  525.       DISPPARAMS FAR* pdispparams,
  526.       VARIANT FAR* pvarResult,
  527.       EXCEPINFO FAR* pexcepinfo,
  528.       UINT FAR* puArgErr) PURE;
  529. #endif
  530.  
  531.     /* IGenericProject methods */
  532.     STDMETHOD(get_Name)(THIS_ BSTR FAR* Name) PURE;
  533.     STDMETHOD(get_FullName)(THIS_ BSTR FAR* Name) PURE;
  534.     STDMETHOD(get_Application)(THIS_ IDispatch * FAR* Application) PURE;
  535.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* Parent) PURE;
  536.     STDMETHOD(get_Type)(THIS_ BSTR FAR* pType) PURE;
  537.     STDMETHOD(Reserved1)(THIS) PURE;
  538.     STDMETHOD(Reserved2)(THIS) PURE;
  539.     STDMETHOD(Reserved3)(THIS) PURE;
  540.     STDMETHOD(Reserved4)(THIS) PURE;
  541.     STDMETHOD(Reserved5)(THIS) PURE;
  542.     STDMETHOD(Reserved6)(THIS) PURE;
  543.     STDMETHOD(Reserved7)(THIS) PURE;
  544.     STDMETHOD(Reserved8)(THIS) PURE;
  545.     STDMETHOD(Reserved9)(THIS) PURE;
  546.     STDMETHOD(Reserved10)(THIS) PURE;
  547. };
  548.  
  549. #endif // __IGenericProject_INTERFACE_DEFINED__
  550.  
  551.  
  552. /////////////////////////////////////////////////////////////////////////
  553. // Projects collection object
  554.  
  555. // IProjects interface
  556.  
  557. DECLARE_INTERFACE_(IProjects, IDispatch)
  558. {
  559. #ifndef NO_BASEINTERFACE_FUNCS
  560.  
  561.     /* IUnknown methods */
  562.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  563.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  564.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  565.  
  566.     /* IDispatch methods */
  567.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  568.  
  569.     STDMETHOD(GetTypeInfo)(
  570.       THIS_
  571.       UINT itinfo,
  572.       LCID lcid,
  573.       ITypeInfo FAR* FAR* pptinfo) PURE;
  574.  
  575.     STDMETHOD(GetIDsOfNames)(
  576.       THIS_
  577.       REFIID riid,
  578.       OLECHAR FAR* FAR* rgszNames,
  579.       UINT cNames,
  580.       LCID lcid,
  581.       DISPID FAR* rgdispid) PURE;
  582.  
  583.     STDMETHOD(Invoke)(
  584.       THIS_
  585.       DISPID dispidMember,
  586.       REFIID riid,
  587.       LCID lcid,
  588.       WORD wFlags,
  589.       DISPPARAMS FAR* pdispparams,
  590.       VARIANT FAR* pvarResult,
  591.       EXCEPINFO FAR* pexcepinfo,
  592.       UINT FAR* puArgErr) PURE;
  593. #endif
  594.  
  595.     /* IProjects methods */
  596.     STDMETHOD(get_Application)(THIS_ IDispatch * FAR* Application) PURE;
  597.     STDMETHOD(get_Count)(THIS_ long FAR* Count) PURE;
  598.     STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* Parent) PURE;
  599.     STDMETHOD(get__NewEnum)(THIS_ IUnknown * FAR* _NewEnum) PURE;
  600.     STDMETHOD(Item)(THIS_ VARIANT Index, IGenericProject FAR* FAR* Item) PURE;
  601. };
  602.  
  603. #endif //__APPAUTO_H_
  604.