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.

820 lines
20 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Copyright (C) Microsoft Corporation, 1995 - 1996.
  4. //
  5. // Contents: Hyperlinking interfaces
  6. //
  7. // Author: Srinik (Srini Koppolu)
  8. //
  9. // History: 07/26/95. Original
  10. //
  11. //----------------------------------------------------------------------------
  12. import "objidl.idl";
  13. import "oleidl.idl";
  14. interface IBinding;
  15. interface IBindStatusCallback;
  16. interface IHlinkSite;
  17. interface IHlink;
  18. interface IHlinkSource;
  19. interface IHlinkFrame;
  20. interface IEnumHLITEM;
  21. interface IHlinkBrowseContext;
  22. interface IPersistMoniker;
  23. #ifdef LATER
  24. interface IFile;
  25. #endif
  26. cpp_quote("#ifndef _HLINK_ERRORS_DEFINED")
  27. cpp_quote("#define _HLINK_ERRORS_DEFINED")
  28. cpp_quote("#define HLINK_E_FIRST (OLE_E_LAST+1)")
  29. cpp_quote("#define HLINK_S_FIRST (OLE_S_LAST+1)")
  30. cpp_quote("#define HLINK_S_NAVIGATEDTOALEAFNODE (HLINK_S_FIRST)")
  31. cpp_quote("#define HLINK_S_DONTHIDEYOURWINDOW (HLINK_S_FIRST+1)")
  32. cpp_quote("#endif //_HLINK_ERRORS_DEFINED")
  33. //+---------------------------------------------------------------------------
  34. //
  35. // Copyright (C) Microsoft Corporation, 1995 - 1996.
  36. //
  37. // Contents: IBinding interface definition
  38. //
  39. //----------------------------------------------------------------------------
  40. cpp_quote("#ifndef _LPBINDING_DEFINED")
  41. cpp_quote("#define _LPBINDING_DEFINED")
  42. [
  43. #ifdef _MAC
  44. local,
  45. #endif
  46. object,
  47. uuid(79eac9c0-baf9-11ce-8c82-00aa004ba90b),
  48. pointer_default(unique)
  49. ]
  50. interface IBinding: IUnknown
  51. {
  52. typedef [unique] IBinding *LPBINDING;
  53. HRESULT Abort();
  54. HRESULT Suspend();
  55. HRESULT Resume();
  56. HRESULT SetPriority(
  57. [in] LONG nPriority);
  58. HRESULT GetPriority(
  59. [out] LONG * pnPriority);
  60. }
  61. cpp_quote("#endif")
  62. //+---------------------------------------------------------------------------
  63. //
  64. // Copyright (C) Microsoft Corporation, 1995 - 1996.
  65. //
  66. // Contents: IBindStatusCallback interface definition
  67. //
  68. //----------------------------------------------------------------------------
  69. cpp_quote("#ifndef _LPBINDSTATUSCALLBACK_DEFINED")
  70. cpp_quote("#define _LPBINDSTATUSCALLBACK_DEFINED")
  71. [
  72. //#ifdef _MAC
  73. local,
  74. //#endif
  75. object,
  76. uuid(79eac9c1-baf9-11ce-8c82-00aa004ba90b),
  77. pointer_default(unique)
  78. ]
  79. interface IBindStatusCallback: IUnknown
  80. {
  81. typedef [unique] IBindStatusCallback *LPBINDSTATUSCALLBACK;
  82. // flags that describe the type of transaction that caller wants
  83. typedef enum
  84. {
  85. BINDF_ASYNCHRONOUS = 0x00000001,
  86. BINDF_NOPROGRESSIVERENDERING = 0x00000002,
  87. BINDF_NOPROGRESSNOTIFICATIONS = 0x00000004,
  88. BINDF_DONTUSECACHE = 0x00000008,
  89. } BINDF;
  90. typedef struct _tagBINDINFO
  91. {
  92. ULONG cbSize;
  93. LPWSTR pwzUrlAppendString;
  94. // string that gets appended to the url
  95. STGMEDIUM stgmedPostData;
  96. // data sent using POST method
  97. } BINDINFO;
  98. // Data notification flags
  99. typedef enum
  100. {
  101. BSCF_FIRSTDATANOTIFICATION = 0x00000001,
  102. BSCF_LASTDATANOTIFICATION = 0x00000002,
  103. } BSCF;
  104. // status codes
  105. typedef enum
  106. {
  107. BINDSTATUS_CONNECTING = 1,
  108. BINDSTATUS_BEGIN_DOWNLOAD = 2,
  109. BINDSTATUS_DOWNLOADING = 3,
  110. BINDSTATUS_CLASSID_AVAILABLE = 4,
  111. BINDSTATUS_BEGIN_SYNCHRONOUS_OPERATIONS = 5,
  112. // the recipients may want to display hour glass on their windows
  113. BINDSTATUS_LAUNCHING_SERVER = 6,
  114. BINDSTATUS_OBJECT_AVAILABLE = 7,
  115. BINDSTATUS_ATTEMPTING_LOAD_WITH_PARTIAL_DATA = 8,
  116. BINDSTATUS_FAILED_LOAD_WITH_PARTIAL_DATA = 9,
  117. BINDSTATUS_END_SYNCHRONOUS_OPERATIONS = 10,
  118. // time to remove the hour glass
  119. // BEGIN/END_SYCNYRONOUS_OPERATIONS pair can be called multiple times
  120. // in a single transaction
  121. BINDSTATUS_END_DOWNLOAD = 11,
  122. BINDSTATUS_ATTEMPTING_LOAD_WITH_FULL_DATA = 12,
  123. BINDSTATUS_FAILED_LOAD_WITH_FULL_DATA = 13
  124. } BINDSTATUS;
  125. HRESULT GetBindInfo(
  126. [out] DWORD *pgrfBINDF,
  127. [in, out, unique] BINDINFO * pbindinfo);
  128. HRESULT OnStartBinding(
  129. [in] IBinding * pib,
  130. [in] DWORD grf);
  131. HRESULT GetPriority(
  132. [out] LONG * pnPriority);
  133. HRESULT OnProgress(
  134. [in] ULONG ulProgress,
  135. [in] ULONG ulProgressMax,
  136. [in] ULONG ulStatusCode,
  137. [in] LPCWSTR pwzStatusText);
  138. HRESULT OnDataAvailable(
  139. [in] DWORD grfBSCF,
  140. [in] DWORD dwSize,
  141. [in] FORMATETC * pFmtetc,
  142. [in] REFIID riid,
  143. [in, iid_is(riid)] IUnknown * piunk);
  144. HRESULT OnLowResource(
  145. [in] DWORD reserved);
  146. HRESULT OnStopBinding(
  147. [in] HRESULT hrError,
  148. [in, unique] LPCWSTR pwzError);
  149. }
  150. cpp_quote("#endif")
  151. //+---------------------------------------------------------------------------
  152. //
  153. // Copyright (C) Microsoft Corporation, 1995 - 1996.
  154. //
  155. // Contents: IHlinkSite interface definition
  156. //
  157. //----------------------------------------------------------------------------
  158. cpp_quote("#ifndef _LPHLINKSITE_DEFINED")
  159. cpp_quote("#define _LPHLINKSITE_DEFINED")
  160. [
  161. object,
  162. uuid(79eac9c2-baf9-11ce-8c82-00aa004ba90b),
  163. pointer_default(unique)
  164. ]
  165. interface IHlinkSite: IUnknown
  166. {
  167. typedef [unique] IHlinkSite *LPHLINKSITE;
  168. // values indicating the moniker to be retrieved
  169. typedef enum
  170. {
  171. HLINKWHICHMK_CONTAINER = 1,
  172. HLINKWHICHMK_BASE = 2,
  173. } HLINKWHICHMK;
  174. HRESULT GetMoniker(
  175. [in] DWORD dwSiteData,
  176. [in] DWORD dwAssign,
  177. [in] DWORD dwWhich,
  178. [out] IMoniker ** ppimk);
  179. HRESULT GetInterface(
  180. [in] DWORD dwSiteData,
  181. [in] DWORD dwReserved,
  182. [in] REFIID riid,
  183. [out, iid_is(riid)] IUnknown ** ppiunk);
  184. HRESULT OnReleaseNavigationState(
  185. [in] DWORD dwSiteData,
  186. [in] DWORD dwReserved);
  187. }
  188. cpp_quote("#endif")
  189. //+---------------------------------------------------------------------------
  190. //
  191. // Copyright (C) Microsoft Corporation, 1995 - 1996.
  192. //
  193. // Contents: IHlink interface definition
  194. //
  195. //----------------------------------------------------------------------------
  196. cpp_quote("#ifndef _LPHLINK_DEFINED")
  197. cpp_quote("#define _LPHLINK_DEFINED")
  198. [
  199. object,
  200. uuid(79eac9c3-baf9-11ce-8c82-00aa004ba90b),
  201. pointer_default(unique)
  202. ]
  203. interface IHlink: IUnknown
  204. {
  205. typedef [unique] IHlink *LPHLINK;
  206. // Hlink bind flags
  207. typedef enum
  208. {
  209. HLBF_USEBROWSECONTEXTCLONE = 0x00000001,
  210. HLBF_OPENINNEWWINDOW = 0x00000002
  211. } HLBF;
  212. // Navigation flags
  213. typedef enum
  214. {
  215. HLNF_INTERNALJUMP = 0x00000001,
  216. HLNF_NAVIGATINGBACK = 0x00000002,
  217. HLNF_NAVIGATINGFORWARD = 0x00000004,
  218. HLNF_NAVIGATINGTOSTACKITEM = 0x00000008,
  219. HLNF_OFFSETWINDOWORG = 0x00000010,
  220. HLNF_CREATENOHISTORY = 0x00000020,
  221. } HLNF;
  222. // Status flags
  223. typedef enum
  224. {
  225. HLINKMISC_RELATIVE = 0x00000001,
  226. } HLINKMISC;
  227. HRESULT SetHlinkSite(
  228. [in] IHlinkSite * pihlSite,
  229. [in] DWORD dwSiteData);
  230. HRESULT GetHlinkSite(
  231. [out] IHlinkSite ** ppihlSite,
  232. [out] DWORD * pdwSiteData);
  233. HRESULT GetMonikerReference(
  234. [in] DWORD dwReserved,
  235. [out] IMoniker ** ppimk,
  236. [in, out, unique] LPWSTR * ppwzLocation);
  237. HRESULT GetStringReference(
  238. [in] DWORD dwReserved,
  239. [out] LPWSTR * ppwzSource,
  240. [out] LPWSTR * ppwzLocation);
  241. HRESULT GetFriendlyName(
  242. [in] DWORD dwReserved,
  243. [out] LPWSTR * ppwzFriendlyName);
  244. HRESULT PrepareForNavigation(
  245. [in] IHlinkFrame * pihlFrame,
  246. [in] DWORD grfHLBF,
  247. [in] LPBC pibc,
  248. [in] IBindStatusCallback * pibsc,
  249. [in] IHlinkBrowseContext * pihlbc);
  250. HRESULT Navigate(
  251. [in] DWORD grfHLNF);
  252. HRESULT GetBoundSource(
  253. [out] IUnknown ** ppiunk);
  254. HRESULT ReleaseNavigationState();
  255. HRESULT GetMiscStatus(
  256. [out] DWORD *pdwStatus);
  257. }
  258. cpp_quote("#endif")
  259. //+---------------------------------------------------------------------------
  260. //
  261. // Copyright (C) Microsoft Corporation, 1995 - 1996.
  262. //
  263. // Contents: IHlinkSource interface definition
  264. //
  265. //----------------------------------------------------------------------------
  266. cpp_quote("#ifndef _LPHLINKSOURCE_DEFINED")
  267. cpp_quote("#define _LPHLINKSOURCE_DEFINED")
  268. [
  269. object,
  270. uuid(79eac9c4-baf9-11ce-8c82-00aa004ba90b),
  271. pointer_default(unique)
  272. ]
  273. interface IHlinkSource : IUnknown
  274. {
  275. typedef [unique] IHlinkSource *LPHLINKSOURCE;
  276. HRESULT SetBrowseContext(
  277. [in, unique] IHlinkBrowseContext * pihlbc);
  278. HRESULT GetBrowseContext(
  279. [out] IHlinkBrowseContext ** ppihlbc);
  280. HRESULT Navigate(
  281. [in] DWORD grfHLNF,
  282. [in, unique] LPCWSTR pwzJumpLocation);
  283. HRESULT GetMoniker(
  284. [in,unique] LPCWSTR pwzLocation,
  285. [in] DWORD dwAssign,
  286. [out] IMoniker ** ppimkLocation);
  287. HRESULT GetFriendlyName(
  288. [in,unique] LPCWSTR pwzLocation,
  289. [out] LPWSTR * ppwzFriendlyName);
  290. }
  291. cpp_quote("#endif")
  292. //+---------------------------------------------------------------------------
  293. //
  294. // Copyright (C) Microsoft Corporation, 1995 - 1996.
  295. //
  296. // Contents: IHlinkFrame interface definition
  297. //
  298. //----------------------------------------------------------------------------
  299. cpp_quote("#ifndef _LPHLINKFRAME_DEFINED")
  300. cpp_quote("#define _LPHLINKFRAME_DEFINED")
  301. [
  302. object,
  303. uuid(79eac9c5-baf9-11ce-8c82-00aa004ba90b),
  304. pointer_default(unique)
  305. ]
  306. interface IHlinkFrame : IUnknown
  307. {
  308. typedef [unique] IHlinkFrame *LPHLINKFRAME;
  309. HRESULT GetBrowseContext(
  310. [out] IHlinkBrowseContext ** ppihlbc);
  311. HRESULT PrepareForNavigation(
  312. [in] DWORD grfHLBF,
  313. [in] LPBC pbc,
  314. [in] IBindStatusCallback * pibsc,
  315. [in] IHlink * pihlNavigate);
  316. HRESULT Navigate(
  317. [in] DWORD grfHLNF,
  318. [in] IHlink * pihlNavigate);
  319. HRESULT OnReleaseNavigationState(
  320. [in] IHlink * pihlNavigate,
  321. [in] DWORD dwReserved);
  322. HRESULT OnNavigate(
  323. [in] DWORD grfHLNF);
  324. }
  325. cpp_quote("#endif")
  326. //+---------------------------------------------------------------------------
  327. //
  328. // Copyright (C) Microsoft Corporation, 1995 - 1996.
  329. //
  330. // Contents: IEnumHLITEM interface definition
  331. //
  332. //----------------------------------------------------------------------------
  333. cpp_quote("#ifndef _LPENUMHLITEM_DEFINED")
  334. cpp_quote("#define _LPENUMHLITEM_DEFINED")
  335. [
  336. local,
  337. object,
  338. uuid(79eac9c6-baf9-11ce-8c82-00aa004ba90b),
  339. pointer_default(unique)
  340. ]
  341. interface IEnumHLITEM : IUnknown
  342. {
  343. typedef [unique] IEnumHLITEM *LPENUMHLITEM;
  344. typedef struct tagHLITEM
  345. {
  346. ULONG uHLID;
  347. LPWSTR pwzFriendlyName;
  348. } HLITEM;
  349. typedef [unique] HLITEM *LPHLITEM;
  350. //[local]
  351. HRESULT __stdcall Next(
  352. [in] ULONG celt,
  353. [out] HLITEM * rgelt,
  354. [out] ULONG * pceltFetched);
  355. #ifdef NOTUSED
  356. [call_as(Next)]
  357. HRESULT __stdcall RemoteNext(
  358. [in] ULONG celt,
  359. [out, size_is(celt), length_is(*pceltFetched)]
  360. HLITEM * rgelt,
  361. [out] ULONG *pceltFetched);
  362. #endif
  363. HRESULT Skip(
  364. [in] ULONG celt);
  365. HRESULT Reset();
  366. HRESULT Clone(
  367. [out] IEnumHLITEM ** ppienumhlitem);
  368. }
  369. cpp_quote("#endif")
  370. //+---------------------------------------------------------------------------
  371. //
  372. // Copyright (C) Microsoft Corporation, 1995 - 1996.
  373. //
  374. // Contents: IHlinkBrowseContext interface definition
  375. //
  376. //----------------------------------------------------------------------------
  377. cpp_quote("#ifndef _LPHLINKBROWSECONTEXT_DEFINED")
  378. cpp_quote("#define _LPHLINKBROWSECONTEXT_DEFINED")
  379. [
  380. local,
  381. object,
  382. uuid(79eac9c7-baf9-11ce-8c82-00aa004ba90b),
  383. pointer_default(unique)
  384. ]
  385. interface IHlinkBrowseContext : IUnknown
  386. {
  387. typedef [unique] IHlinkBrowseContext *LPHLINKBROWSECONTEXT;
  388. enum
  389. {
  390. HLBWIF_HASFRAMEWNDINFO = 0x00000001,
  391. HLBWIF_HASDOCWNDINFO = 0x00000002,
  392. HLBWIF_FRAMEWNDMAXIMIZED = 0x00000004,
  393. HLBWIF_DOCWNDMAXIMIZED = 0x00000008
  394. };
  395. typedef struct _tagHLBWINFO
  396. {
  397. ULONG cbSize;
  398. DWORD grfHLBWIF;
  399. RECT rcFramePos;
  400. RECT rcDocPos;
  401. } HLBWINFO;
  402. typedef [unique] HLBWINFO *LPHLBWINFO;
  403. enum
  404. {
  405. HLID_PREVIOUS = 0L,
  406. HLID_NEXT = 0xFFFFFFFF,
  407. HLID_CURRENT = 0xFFFFFFFE,
  408. HLID_STACKBOTTOM = 0xFFFFFFFD,
  409. HLID_STACKTOP = 0xFFFFFFFC
  410. };
  411. enum
  412. {
  413. HLQF_ISVALID = 0x00000001,
  414. HLQF_ISCURRENT = 0x00000002
  415. };
  416. HRESULT Register(
  417. [in] DWORD reserved,
  418. [in, unique] IUnknown * piunk,
  419. [in, unique] IMoniker * pimk,
  420. [out] DWORD * pdwRegister);
  421. HRESULT GetObject(
  422. [in, unique] IMoniker * pimk,
  423. [out] IUnknown ** ppiunk);
  424. HRESULT Revoke(
  425. [in] DWORD dwRegister);
  426. HRESULT SetBrowseWindowInfo(
  427. [in, unique] HLBWINFO * phlbwi);
  428. HRESULT GetBrowseWindowInfo(
  429. [out] HLBWINFO * phlbwi);
  430. HRESULT EnumNavigationStack(
  431. [out] IEnumHLITEM ** ppienumhlitem);
  432. HRESULT QueryHlink(
  433. [in] DWORD grfHLQF,
  434. [in] ULONG uHLID);
  435. HRESULT GetHlink(
  436. [in] ULONG uHLID,
  437. [out] IHlink ** ppihl);
  438. HRESULT SetCurrentHlink(
  439. [in] ULONG uHLID);
  440. HRESULT OnNavigateHlink(
  441. [in] DWORD grfHLNF,
  442. [in] IMoniker * pimkSource,
  443. [in] LPCWSTR pwzLocation,
  444. [in] LPCWSTR pwzFriendlyName);
  445. HRESULT UpdateCurrentHlink(
  446. [in] IMoniker * pimkSource,
  447. [in] LPCWSTR pwzLocation,
  448. [in] LPCWSTR pwzFriendlyName);
  449. HRESULT Clone(
  450. [in] IUnknown * piunkOuter,
  451. [in] REFIID riid,
  452. [out, iid_is(riid)] IUnknown ** ppiunkObj);
  453. HRESULT Close(
  454. [in] DWORD reserved);
  455. }
  456. cpp_quote("#endif")
  457. //+---------------------------------------------------------------------------
  458. //
  459. // Copyright (C) Microsoft Corporation, 1995 - 1996.
  460. //
  461. // Contents: IPersistMoniker interface definition
  462. //
  463. //----------------------------------------------------------------------------
  464. cpp_quote("#ifndef _LPPERSISTMONIKER_DEFINED")
  465. cpp_quote("#define _LPPERSISTMONIKER_DEFINED")
  466. // Because of a limitation in PPCMAC MIDL, we can't derive from an
  467. // interface other than IUnknown, unless we define it ourselves.
  468. // Hence, we derive IPersistMoniker from IUnknown instead of IPersist, and
  469. // we add GetClassID to it. We later use a SED script to make it look like
  470. // it's derived from IPersist in the header file.
  471. [
  472. object,
  473. uuid(79eac9c9-baf9-11ce-8c82-00aa004ba90b),
  474. pointer_default(unique)
  475. ]
  476. #ifndef _MAC
  477. interface IPersistMoniker : IPersist
  478. {
  479. typedef [unique] IPersistMoniker *LPPERSISTMONIKER;
  480. #else
  481. interface IPersistMoniker : IUnknown
  482. {
  483. typedef [unique] IPersistMoniker *LPPERSISTMONIKER;
  484. HRESULT GetClassID(
  485. [out] CLSID *pClassID);
  486. #endif
  487. HRESULT IsDirty(void);
  488. HRESULT InitNew(
  489. [in] IMoniker * pimkName,
  490. [in] LPBC pibc);
  491. HRESULT Load(
  492. [in] BOOL fFullyAvailable,
  493. [in] IMoniker * pimkName,
  494. [in] LPBC pibc,
  495. [in] DWORD grfMode);
  496. HRESULT Save(
  497. [in] IMoniker * pimkName,
  498. [in] LPBC pibc,
  499. [in] BOOL fRemember);
  500. HRESULT SaveCompleted(
  501. [in] IMoniker * pimkName,
  502. [in] LPBC pibc);
  503. HRESULT GetCurMoniker(
  504. [out] IMoniker ** ppimkName);
  505. }
  506. cpp_quote("#endif")
  507. #ifdef LATER
  508. //+---------------------------------------------------------------------------
  509. //
  510. // Copyright (C) Microsoft Corporation, 1995 - 1996.
  511. //
  512. // Contents: IFile interface definition
  513. //
  514. //----------------------------------------------------------------------------
  515. cpp_quote("#ifndef _LPFILE_DEFINED")
  516. cpp_quote("#define _LPFILE_DEFINED")
  517. [
  518. local,
  519. object,
  520. uuid(79eac9ca-baf9-11ce-8c82-00aa004ba90b),
  521. pointer_default(unique)
  522. ]
  523. interface IFile : IUnknown
  524. {
  525. typedef [unique] IFile *LPFILE;
  526. // Navigation flags
  527. typedef enum
  528. {
  529. FILEGETF_ONLYIFTHERE = 0x00000001,
  530. FILEGETF_FORCEASSIGN = 0x00000002,
  531. } FILEGETF;
  532. HRESULT GetFileName(
  533. [in] DWORD grf,
  534. [in] DWORD cbBuf,
  535. [in, out] WCHAR wzFilePathBuf[],
  536. [out] DWORD * pcbActual);
  537. HRESULT GetDisplayName(
  538. [in] DWORD cbBuf,
  539. [in, out] WCHAR wzDisplayNameBuf[],
  540. [out] DWORD * pcbActual);
  541. HRESULT BindToStorage(
  542. [in] DWORD grfMode,
  543. [in] REFIID riid,
  544. [out] void ** ppv);
  545. HRESULT Save(
  546. [in] STGMEDIUM * pstgmed,
  547. [in] BOOL (__stdcall *pfnContinue)(void));
  548. }
  549. cpp_quote("#endif")
  550. #endif
  551. #ifdef _MAC
  552. cpp_quote("/****************************************************************************")
  553. cpp_quote(" tbframe.h")
  554. cpp_quote("")
  555. cpp_quote(" GENERATED FILE!!! DO NOT EDIT!!!")
  556. cpp_quote(" ")
  557. cpp_quote(" Owner: WahhabB")
  558. cpp_quote(" Copyright (c) 1995 Microsoft Corporation")
  559. cpp_quote(" ")
  560. cpp_quote(" This file contains the exported interfaces for the Toolbars' IMsoTbFrame")
  561. cpp_quote(" class. It is generated by midl.exe from tbframe.idl")
  562. cpp_quote("****************************************************************************/")
  563. cpp_quote("#ifndef TBFRAME_H")
  564. cpp_quote("#define TBFRAME_H")
  565. cpp_quote("/*****************************************************************************")
  566. cpp_quote(" Defines the IMsoTbFrame interface.")
  567. cpp_quote(" An OLE container app implements IMsoTbFrame in order to receive calls to")
  568. cpp_quote(" the various toolbar users. It should simply pass them through to its")
  569. cpp_quote(" user objects and return the results.")
  570. cpp_quote("***************************************************************** WAHHABB ***/")
  571. [
  572. object,
  573. uuid(000c0114-0000-0000-c000-000000000046)
  574. ]
  575. interface IMsoTbFrame : IUnknown
  576. {
  577. import "unknwn.idl";
  578. /* Prepare to serialize the app's toolbar set. Generate an ID to use for
  579. shared memory and return it in pdwShMem. */
  580. [input_sync]
  581. HRESULT HrPrepareToMerge ([out] DWORD *pdwShrMem);
  582. /* Serialize a toolbar (or more) from the client corresponding to the server's
  583. toolbar with group tbid */
  584. [input_sync]
  585. HRESULT HrSerializeToolbar([in] int tbid, [in] BOOL fAlreadyMerged);
  586. /* A pass-thru method for toolbars */
  587. /* A pass-thru method for toolbars */
  588. [input_sync]
  589. HRESULT HrAutoVisibleToolbar([in] long ptb);
  590. /* A pass-thru call to the frame to have it call the Click method
  591. on the button the bits of whose address are in pctl */
  592. HRESULT HrClickButton([in] long pctl, [out] int *ptbbs, [in] int grf);
  593. /* A pass-thru call to the frame to have it call the Pick method on
  594. the Dropdown the bits of whose address are in pctl.
  595. Item i was just selected, and the user exited via mdExit. If the
  596. dropdown is a split-btn variety, Pick will be called with i == -2
  597. when the push button was pressed. */
  598. HRESULT HrPickDropdown([in] long pctl, [in] int i, [in] int mdExit);
  599. /* A pass-thru call to the frame to have it call the EnterText method on
  600. the Dropdown the bits of whose address are in pctl.
  601. Returns the text typed in the edit (limited to 255 chars),
  602. mdExit says how the user left the dropdown. */
  603. HRESULT HrEnterTextDropdown([in] long pctl, [out] WCHAR *wtz, [in] int mdExit);
  604. /* Another pass-thru call to the frame to have it call the ToolbarSetUser
  605. NotifySelect method for the control the bits of whose address are
  606. in pctl, passing thru fSelect. */
  607. HRESULT HrNotifyActionControl([in] long pctl, [in] int tba);
  608. /* Request the container to update cache values for its controls in the
  609. stream pistm using dwShMem to access shared memory */
  610. [input_sync]
  611. HRESULT HrLoadOleCache(void);
  612. /* When the server's ToolbarSet FUpdate is called, it queries the client
  613. whether to request a cache update. */
  614. [input_sync]
  615. HRESULT HrCacheUpdateNeeded(void);
  616. /* Request the container to free session data */
  617. [input_sync]
  618. HRESULT HrDeactivateOleSession(void);
  619. /* Request the container to reactivate session data */
  620. [input_sync]
  621. HRESULT HrReactivateOleSession(void);
  622. /* Find out the quick tip information for this control */
  623. [input_sync]
  624. HRESULT HrGetQuickTip([in] long pctl, [out] WCHAR *wtzHelpFile,
  625. [out] int *piHelpContext);
  626. }
  627. cpp_quote("/*****************************************************************************")
  628. cpp_quote(" Defines the IMsoOfficeAsst interface.")
  629. cpp_quote(" An OLE container app implements IMsoOfficeAsst in order to supply filenames")
  630. cpp_quote(" of Intellisearch database files for use by the Answer Wizard.")
  631. cpp_quote("***************************************************************** BillBle ***/")
  632. [
  633. object,
  634. uuid(000c0305-0000-0000-c000-000000000046)
  635. ]
  636. interface IMsoOfficeAsst : IUnknown
  637. {
  638. import "unknwn.idl";
  639. HRESULT HrGetAWDbCount([out] int * pcFilenames );
  640. HRESULT HrGetAWDbFilename([in] int iFilename, [in] int cbFilename,
  641. [out, string, size_is(cbFilename)] WCHAR * pwzFilename);
  642. }
  643. cpp_quote("#endif // TBFRAME_H")
  644. #endif // _MAC