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.

599 lines
19 KiB

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