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.

1803 lines
40 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1993.
  5. //
  6. // File: ole2dthk.cxx (16 bit target)
  7. //
  8. // Contents: OLE2 APIs that are directly thunked
  9. //
  10. // History: 17-Dec-93 Johann Posch (johannp) Created
  11. //
  12. //--------------------------------------------------------------------------
  13. #include <headers.cxx>
  14. #pragma hdrstop
  15. #include <ole2ver.h>
  16. #include <call32.hxx>
  17. #include <apilist.hxx>
  18. STDAPI_(HOLEMENU) OleCreateMenuDescriptor (HMENU hmenuCombined,
  19. LPOLEMENUGROUPWIDTHS lplMenuWidths)
  20. {
  21. return (HOLEMENU)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateMenuDescriptor),
  22. PASCAL_STACK_PTR(hmenuCombined));
  23. }
  24. STDAPI OleDestroyMenuDescriptor (HOLEMENU holemenu)
  25. {
  26. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleDestroyMenuDescriptor),
  27. PASCAL_STACK_PTR(holemenu));
  28. }
  29. //+---------------------------------------------------------------------------
  30. //
  31. // Function: DllGetClassObject, Remote
  32. //
  33. // Synopsis:
  34. //
  35. // Effects:
  36. //
  37. // Arguments: [clsid] --
  38. // [iid] --
  39. // [ppv] --
  40. //
  41. // Requires:
  42. //
  43. // Returns:
  44. //
  45. // Signals:
  46. //
  47. // Modifies:
  48. //
  49. // Algorithm:
  50. //
  51. // History: 2-28-94 kevinro Created
  52. //
  53. // Notes:
  54. //
  55. //----------------------------------------------------------------------------
  56. STDAPI DllGetClassObject(REFCLSID clsid, REFIID iid, void FAR* FAR* ppv)
  57. {
  58. /* Relies on the fact that storage and ole2.dll both use the
  59. same DllGetClassObject in ole32.dll */
  60. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_DllGetClassObject),
  61. PASCAL_STACK_PTR(clsid));
  62. }
  63. /* helper functions */
  64. //+---------------------------------------------------------------------------
  65. //
  66. // Function: ReadClassStg, Remote
  67. //
  68. // Synopsis:
  69. //
  70. // Effects:
  71. //
  72. // Arguments: [pStg] --
  73. // [pclsid] --
  74. //
  75. // Requires:
  76. //
  77. // Returns:
  78. //
  79. // Signals:
  80. //
  81. // Modifies:
  82. //
  83. // Algorithm:
  84. //
  85. // History: 2-28-94 kevinro Created
  86. //
  87. // Notes:
  88. //
  89. //----------------------------------------------------------------------------
  90. STDAPI ReadClassStg(LPSTORAGE pStg, CLSID FAR* pclsid)
  91. {
  92. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_ReadClassStg),
  93. PASCAL_STACK_PTR(pStg));
  94. }
  95. //+---------------------------------------------------------------------------
  96. //
  97. // Function: WriteClassStg, Remoted
  98. //
  99. // Synopsis:
  100. //
  101. // Effects:
  102. //
  103. // Arguments: [pStg] --
  104. // [rclsid] --
  105. //
  106. // Requires:
  107. //
  108. // Returns:
  109. //
  110. // Signals:
  111. //
  112. // Modifies:
  113. //
  114. // Algorithm:
  115. //
  116. // History: 2-28-94 kevinro Created
  117. //
  118. // Notes:
  119. //
  120. //----------------------------------------------------------------------------
  121. STDAPI WriteClassStg(LPSTORAGE pStg, REFCLSID rclsid)
  122. {
  123. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_WriteClassStg),
  124. PASCAL_STACK_PTR(pStg));
  125. }
  126. //+---------------------------------------------------------------------------
  127. //
  128. // Function: WriteFmtUserTypeStg, Remoted
  129. //
  130. // Synopsis:
  131. //
  132. // Effects:
  133. //
  134. // Arguments: [pstg] --
  135. // [cf] --
  136. // [lpszUserType] --
  137. //
  138. // Requires:
  139. //
  140. // Returns:
  141. //
  142. // Signals:
  143. //
  144. // Modifies:
  145. //
  146. // Algorithm:
  147. //
  148. // History: 2-28-94 kevinro Created
  149. //
  150. // Notes:
  151. //
  152. //----------------------------------------------------------------------------
  153. STDAPI WriteFmtUserTypeStg (LPSTORAGE pstg, CLIPFORMAT cf, LPSTR lpszUserType)
  154. {
  155. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_WriteFmtUserTypeStg),
  156. PASCAL_STACK_PTR(pstg));
  157. }
  158. //+---------------------------------------------------------------------------
  159. //
  160. // Function: ReadFmtUserTypeStg, Remoted
  161. //
  162. // Synopsis:
  163. //
  164. // Effects:
  165. //
  166. // Arguments: [pstg] --
  167. // [pcf] --
  168. // [lplpszUserType] --
  169. //
  170. // Requires:
  171. //
  172. // Returns:
  173. //
  174. // Signals:
  175. //
  176. // Modifies:
  177. //
  178. // Algorithm:
  179. //
  180. // History: 2-28-94 kevinro Created
  181. //
  182. // Notes:
  183. //
  184. //----------------------------------------------------------------------------
  185. STDAPI ReadFmtUserTypeStg (LPSTORAGE pstg, CLIPFORMAT FAR* pcf,
  186. LPSTR FAR* lplpszUserType)
  187. {
  188. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_ReadFmtUserTypeStg),
  189. PASCAL_STACK_PTR(pstg));
  190. }
  191. /* APIs to query whether (Embedded/Linked) object can be created from
  192. the data object */
  193. //+---------------------------------------------------------------------------
  194. //
  195. // Function: OleQueryLinkFromData, Unknown
  196. //
  197. // Synopsis:
  198. //
  199. // Effects:
  200. //
  201. // Arguments: [pSrcDataObject] --
  202. //
  203. // Requires:
  204. //
  205. // Returns:
  206. //
  207. // Signals:
  208. //
  209. // Modifies:
  210. //
  211. // Algorithm:
  212. //
  213. // History: 2-28-94 kevinro Created
  214. //
  215. // Notes:
  216. //
  217. //----------------------------------------------------------------------------
  218. STDAPI OleQueryLinkFromData(LPDATAOBJECT pSrcDataObject)
  219. {
  220. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleQueryLinkFromData),
  221. PASCAL_STACK_PTR(pSrcDataObject));
  222. }
  223. //+---------------------------------------------------------------------------
  224. //
  225. // Function: OleQueryCreateFromData, Unknown
  226. //
  227. // Synopsis:
  228. //
  229. // Effects:
  230. //
  231. // Arguments: [pSrcDataObject] --
  232. //
  233. // Requires:
  234. //
  235. // Returns:
  236. //
  237. // Signals:
  238. //
  239. // Modifies:
  240. //
  241. // Algorithm:
  242. //
  243. // History: 2-28-94 kevinro Created
  244. //
  245. // Notes:
  246. //
  247. //----------------------------------------------------------------------------
  248. STDAPI OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject)
  249. {
  250. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleQueryCreateFromData),
  251. PASCAL_STACK_PTR(pSrcDataObject) );
  252. }
  253. /* Object creation APIs */
  254. //+---------------------------------------------------------------------------
  255. //
  256. // Function: OleCreate, Remoted
  257. //
  258. // Synopsis:
  259. //
  260. // Effects:
  261. //
  262. // Arguments: [rclsid] --
  263. // [riid] --
  264. // [renderopt] --
  265. // [pFormatEtc] --
  266. // [pClientSite] --
  267. // [pStg] --
  268. // [ppvObj] --
  269. //
  270. // Requires:
  271. //
  272. // Returns:
  273. //
  274. // Signals:
  275. //
  276. // Modifies:
  277. //
  278. // Algorithm:
  279. //
  280. // History: 2-28-94 kevinro Created
  281. //
  282. // Notes:
  283. //
  284. //----------------------------------------------------------------------------
  285. STDAPI OleCreate(REFCLSID rclsid, REFIID riid, DWORD renderopt,
  286. LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite,
  287. LPSTORAGE pStg, LPVOID FAR* ppvObj)
  288. {
  289. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreate),
  290. PASCAL_STACK_PTR(rclsid));
  291. }
  292. //+---------------------------------------------------------------------------
  293. //
  294. // Function: OleCreateFromData, Remoted
  295. //
  296. // Synopsis:
  297. //
  298. // Effects:
  299. //
  300. // Arguments: [pSrcDataObj] --
  301. // [riid] --
  302. // [renderopt] --
  303. // [pFormatEtc] --
  304. // [pClientSite] --
  305. // [pStg] --
  306. // [ppvObj] --
  307. //
  308. // Requires:
  309. //
  310. // Returns:
  311. //
  312. // Signals:
  313. //
  314. // Modifies:
  315. //
  316. // Algorithm:
  317. //
  318. // History: 2-28-94 kevinro Created
  319. //
  320. // Notes:
  321. //
  322. //----------------------------------------------------------------------------
  323. STDAPI OleCreateFromData(LPDATAOBJECT pSrcDataObj, REFIID riid,
  324. DWORD renderopt, LPFORMATETC pFormatEtc,
  325. LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
  326. LPVOID FAR* ppvObj)
  327. {
  328. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateFromData),
  329. PASCAL_STACK_PTR(pSrcDataObj));
  330. }
  331. //+---------------------------------------------------------------------------
  332. //
  333. // Function: OleCreateLinkFromData, Remoted
  334. //
  335. // Synopsis:
  336. //
  337. // Effects:
  338. //
  339. // Arguments: [pSrcDataObj] --
  340. // [riid] --
  341. // [renderopt] --
  342. // [pFormatEtc] --
  343. // [pClientSite] --
  344. // [pStg] --
  345. // [ppvObj] --
  346. //
  347. // Requires:
  348. //
  349. // Returns:
  350. //
  351. // Signals:
  352. //
  353. // Modifies:
  354. //
  355. // Algorithm:
  356. //
  357. // History: 2-28-94 kevinro Created
  358. //
  359. // Notes:
  360. //
  361. //----------------------------------------------------------------------------
  362. STDAPI OleCreateLinkFromData(LPDATAOBJECT pSrcDataObj, REFIID riid,
  363. DWORD renderopt, LPFORMATETC pFormatEtc,
  364. LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
  365. LPVOID FAR* ppvObj)
  366. {
  367. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateLinkFromData),
  368. PASCAL_STACK_PTR(pSrcDataObj));
  369. }
  370. //+---------------------------------------------------------------------------
  371. //
  372. // Function: OleCreateStaticFromData, Remoted
  373. //
  374. // Synopsis:
  375. //
  376. // Effects:
  377. //
  378. // Arguments: [pSrcDataObj] --
  379. // [iid] --
  380. // [renderopt] --
  381. // [pFormatEtc] --
  382. // [pClientSite] --
  383. // [pStg] --
  384. // [ppvObj] --
  385. //
  386. // Requires:
  387. //
  388. // Returns:
  389. //
  390. // Signals:
  391. //
  392. // Modifies:
  393. //
  394. // Algorithm:
  395. //
  396. // History: 2-28-94 kevinro Created
  397. //
  398. // Notes:
  399. //
  400. //----------------------------------------------------------------------------
  401. STDAPI OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj, REFIID iid,
  402. DWORD renderopt, LPFORMATETC pFormatEtc,
  403. LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
  404. LPVOID FAR* ppvObj)
  405. {
  406. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateStaticFromData),
  407. PASCAL_STACK_PTR(pSrcDataObj));
  408. }
  409. //+---------------------------------------------------------------------------
  410. //
  411. // Function: OleCreateLink, Remoted
  412. //
  413. // Synopsis:
  414. //
  415. // Effects:
  416. //
  417. // Arguments: [pmkLinkSrc] --
  418. // [riid] --
  419. // [renderopt] --
  420. // [lpFormatEtc] --
  421. // [pClientSite] --
  422. // [pStg] --
  423. // [ppvObj] --
  424. //
  425. // Requires:
  426. //
  427. // Returns:
  428. //
  429. // Signals:
  430. //
  431. // Modifies:
  432. //
  433. // Algorithm:
  434. //
  435. // History: 2-28-94 kevinro Created
  436. //
  437. // Notes:
  438. //
  439. //----------------------------------------------------------------------------
  440. STDAPI OleCreateLink(LPMONIKER pmkLinkSrc, REFIID riid,
  441. DWORD renderopt, LPFORMATETC lpFormatEtc,
  442. LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
  443. LPVOID FAR* ppvObj)
  444. {
  445. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateLink),
  446. PASCAL_STACK_PTR(pmkLinkSrc));
  447. }
  448. //+---------------------------------------------------------------------------
  449. //
  450. // Function: OleCreateLinkToFile, Remoted
  451. //
  452. // Synopsis:
  453. //
  454. // Effects:
  455. //
  456. // Arguments: [lpszFileName] --
  457. // [riid] --
  458. // [renderopt] --
  459. // [lpFormatEtc] --
  460. // [pClientSite] --
  461. // [pStg] --
  462. // [ppvObj] --
  463. //
  464. // Requires:
  465. //
  466. // Returns:
  467. //
  468. // Signals:
  469. //
  470. // Modifies:
  471. //
  472. // Algorithm:
  473. //
  474. // History: 2-28-94 kevinro Created
  475. //
  476. // Notes:
  477. //
  478. //----------------------------------------------------------------------------
  479. STDAPI OleCreateLinkToFile(LPCSTR lpszFileName, REFIID riid,
  480. DWORD renderopt, LPFORMATETC lpFormatEtc,
  481. LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID FAR* ppvObj)
  482. {
  483. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateLinkToFile),
  484. PASCAL_STACK_PTR(lpszFileName));
  485. }
  486. //+---------------------------------------------------------------------------
  487. //
  488. // Function: OleCreateFromFile, Remoted
  489. //
  490. // Synopsis:
  491. //
  492. // Effects:
  493. //
  494. // Arguments: [rclsid] --
  495. // [lpszFileName] --
  496. // [riid] --
  497. // [renderopt] --
  498. // [lpFormatEtc] --
  499. // [pClientSite] --
  500. // [pStg] --
  501. // [ppvObj] --
  502. //
  503. // Requires:
  504. //
  505. // Returns:
  506. //
  507. // Signals:
  508. //
  509. // Modifies:
  510. //
  511. // Algorithm:
  512. //
  513. // History: 2-28-94 kevinro Created
  514. //
  515. // Notes:
  516. //
  517. //----------------------------------------------------------------------------
  518. STDAPI OleCreateFromFile(REFCLSID rclsid, LPCSTR lpszFileName, REFIID riid,
  519. DWORD renderopt, LPFORMATETC lpFormatEtc,
  520. LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
  521. LPVOID FAR* ppvObj)
  522. {
  523. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateFromFile),
  524. PASCAL_STACK_PTR(rclsid));
  525. }
  526. //+---------------------------------------------------------------------------
  527. //
  528. // Function: OleLoad, Remoted
  529. //
  530. // Synopsis:
  531. //
  532. // Effects:
  533. //
  534. // Arguments: [pStg] --
  535. // [riid] --
  536. // [pClientSite] --
  537. // [ppvObj] --
  538. //
  539. // Requires:
  540. //
  541. // Returns:
  542. //
  543. // Signals:
  544. //
  545. // Modifies:
  546. //
  547. // Algorithm:
  548. //
  549. // History: 2-28-94 kevinro Created
  550. //
  551. // Notes:
  552. //
  553. //----------------------------------------------------------------------------
  554. STDAPI OleLoad(LPSTORAGE pStg, REFIID riid, LPOLECLIENTSITE pClientSite,
  555. LPVOID FAR* ppvObj)
  556. {
  557. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleLoad),
  558. PASCAL_STACK_PTR(pStg));
  559. }
  560. //+---------------------------------------------------------------------------
  561. //
  562. // Function: OleSave, Remoted
  563. //
  564. // Synopsis:
  565. //
  566. // Effects:
  567. //
  568. // Arguments: [pPS] --
  569. // [pStg] --
  570. // [fSameAsLoad] --
  571. //
  572. // Requires:
  573. //
  574. // Returns:
  575. //
  576. // Signals:
  577. //
  578. // Modifies:
  579. //
  580. // Algorithm:
  581. //
  582. // History: 2-28-94 kevinro Created
  583. //
  584. // Notes:
  585. //
  586. //----------------------------------------------------------------------------
  587. STDAPI OleSave(LPPERSISTSTORAGE pPS, LPSTORAGE pStg, BOOL fSameAsLoad)
  588. {
  589. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleSave),
  590. PASCAL_STACK_PTR(pPS));
  591. }
  592. //+---------------------------------------------------------------------------
  593. //
  594. // Function: OleLoadFromStream, Remoted
  595. //
  596. // Synopsis:
  597. //
  598. // Effects:
  599. //
  600. // Arguments: [pStm] --
  601. // [iidInterface] --
  602. // [ppvObj] --
  603. //
  604. // Requires:
  605. //
  606. // Returns:
  607. //
  608. // Signals:
  609. //
  610. // Modifies:
  611. //
  612. // Algorithm:
  613. //
  614. // History: 2-28-94 kevinro Created
  615. //
  616. // Notes:
  617. //
  618. //----------------------------------------------------------------------------
  619. STDAPI OleLoadFromStream( LPSTREAM pStm, REFIID iidInterface,
  620. LPVOID FAR* ppvObj)
  621. {
  622. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleLoadFromStream),
  623. PASCAL_STACK_PTR(pStm));
  624. }
  625. //+---------------------------------------------------------------------------
  626. //
  627. // Function: OleSaveToStream, Remoted
  628. //
  629. // Synopsis:
  630. //
  631. // Effects:
  632. //
  633. // Arguments: [pPStm] --
  634. // [pStm] --
  635. //
  636. // Requires:
  637. //
  638. // Returns:
  639. //
  640. // Signals:
  641. //
  642. // Modifies:
  643. //
  644. // Algorithm:
  645. //
  646. // History: 2-28-94 kevinro Created
  647. //
  648. // Notes:
  649. //
  650. //----------------------------------------------------------------------------
  651. STDAPI OleSaveToStream( LPPERSISTSTREAM pPStm, LPSTREAM pStm )
  652. {
  653. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleSaveToStream),
  654. PASCAL_STACK_PTR(pPStm));
  655. }
  656. //+---------------------------------------------------------------------------
  657. //
  658. // Function: OleSetContainedObject, Remoted
  659. //
  660. // Synopsis:
  661. //
  662. // Effects:
  663. //
  664. // Arguments: [pUnknown] --
  665. // [fContained] --
  666. //
  667. // Requires:
  668. //
  669. // Returns:
  670. //
  671. // Signals:
  672. //
  673. // Modifies:
  674. //
  675. // Algorithm:
  676. //
  677. // History: 2-28-94 kevinro Created
  678. //
  679. // Notes:
  680. //
  681. //----------------------------------------------------------------------------
  682. STDAPI OleSetContainedObject(LPUNKNOWN pUnknown, BOOL fContained)
  683. {
  684. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleSetContainedObject),
  685. PASCAL_STACK_PTR(pUnknown));
  686. }
  687. //+---------------------------------------------------------------------------
  688. //
  689. // Function: OleNoteObjectVisible, Remoted
  690. //
  691. // Synopsis:
  692. //
  693. // Effects:
  694. //
  695. // Arguments: [pUnknown] --
  696. // [fVisible] --
  697. //
  698. // Requires:
  699. //
  700. // Returns:
  701. //
  702. // Signals:
  703. //
  704. // Modifies:
  705. //
  706. // Algorithm:
  707. //
  708. // History: 2-28-94 kevinro Created
  709. //
  710. // Notes:
  711. //
  712. //----------------------------------------------------------------------------
  713. STDAPI OleNoteObjectVisible(LPUNKNOWN pUnknown, BOOL fVisible)
  714. {
  715. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleNoteObjectVisible),
  716. PASCAL_STACK_PTR(pUnknown));
  717. }
  718. /* Drag/Drop APIs */
  719. //+---------------------------------------------------------------------------
  720. //
  721. // Function: RegisterDragDrop, Remoted
  722. //
  723. // Synopsis:
  724. //
  725. // Effects:
  726. //
  727. // Arguments: [hwnd] --
  728. // [pDropTarget] --
  729. //
  730. // Requires:
  731. //
  732. // Returns:
  733. //
  734. // Signals:
  735. //
  736. // Modifies:
  737. //
  738. // Algorithm:
  739. //
  740. // History: 2-28-94 kevinro Created
  741. //
  742. // Notes:
  743. //
  744. //----------------------------------------------------------------------------
  745. STDAPI RegisterDragDrop(HWND hwnd, LPDROPTARGET pDropTarget)
  746. {
  747. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_RegisterDragDrop),
  748. PASCAL_STACK_PTR(hwnd));
  749. }
  750. //+---------------------------------------------------------------------------
  751. //
  752. // Function: RevokeDragDrop, Remoted
  753. //
  754. // Synopsis:
  755. //
  756. // Effects:
  757. //
  758. // Arguments: [hwnd] --
  759. //
  760. // Requires:
  761. //
  762. // Returns:
  763. //
  764. // Signals:
  765. //
  766. // Modifies:
  767. //
  768. // Algorithm:
  769. //
  770. // History: 2-28-94 kevinro Created
  771. //
  772. // Notes:
  773. //
  774. //----------------------------------------------------------------------------
  775. STDAPI RevokeDragDrop(HWND hwnd)
  776. {
  777. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_RevokeDragDrop),
  778. PASCAL_STACK_PTR(hwnd));
  779. }
  780. //+---------------------------------------------------------------------------
  781. //
  782. // Function: DoDragDrop, Unknown
  783. //
  784. // Synopsis:
  785. //
  786. // Effects:
  787. //
  788. // Arguments: [pDataObj] --
  789. // [pDropSource] --
  790. // [dwOKEffects] --
  791. // [pdwEffect] --
  792. //
  793. // Requires:
  794. //
  795. // Returns:
  796. //
  797. // Signals:
  798. //
  799. // Modifies:
  800. //
  801. // Algorithm:
  802. //
  803. // History: 2-28-94 kevinro Created
  804. //
  805. // Notes:
  806. //
  807. //----------------------------------------------------------------------------
  808. STDAPI DoDragDrop(LPDATAOBJECT pDataObj, LPDROPSOURCE pDropSource,
  809. DWORD dwOKEffects, LPDWORD pdwEffect)
  810. {
  811. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_DoDragDrop),
  812. PASCAL_STACK_PTR(pDataObj));
  813. }
  814. /* Clipboard APIs */
  815. //+---------------------------------------------------------------------------
  816. //
  817. // Function: OleSetClipboard, Remoted
  818. //
  819. // Synopsis:
  820. //
  821. // Effects:
  822. //
  823. // Arguments: [pDataObj] --
  824. //
  825. // Requires:
  826. //
  827. // Returns:
  828. //
  829. // Signals:
  830. //
  831. // Modifies:
  832. //
  833. // Algorithm:
  834. //
  835. // History: 2-28-94 kevinro Created
  836. //
  837. // Notes:
  838. //
  839. //----------------------------------------------------------------------------
  840. STDAPI OleSetClipboard(LPDATAOBJECT pDataObj)
  841. {
  842. if (pDataObj != NULL)
  843. {
  844. HRESULT hr;
  845. IDataObject FAR *pdoNull = NULL;
  846. /* If we are setting the clipboard's data object we first force
  847. the clipboard to an empty state. This avoids a problem with
  848. Word where it always uses the same data object pointer in
  849. every clipboard call which results in the reference counts
  850. being too high since we reuse the proxy and addref it on
  851. the way in */
  852. hr = (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleSetClipboard),
  853. PASCAL_STACK_PTR(pdoNull));
  854. if (FAILED(GetScode(hr)))
  855. {
  856. return hr;
  857. }
  858. }
  859. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleSetClipboard),
  860. PASCAL_STACK_PTR(pDataObj));
  861. }
  862. //+---------------------------------------------------------------------------
  863. //
  864. // Function: OleGetClipboard, Remoted
  865. //
  866. // Synopsis:
  867. //
  868. // Effects:
  869. //
  870. // Arguments: [ppDataObj] --
  871. //
  872. // Requires:
  873. //
  874. // Returns:
  875. //
  876. // Signals:
  877. //
  878. // Modifies:
  879. //
  880. // Algorithm:
  881. //
  882. // History: 2-28-94 kevinro Created
  883. //
  884. // Notes:
  885. //
  886. //----------------------------------------------------------------------------
  887. STDAPI OleGetClipboard(LPDATAOBJECT FAR* ppDataObj)
  888. {
  889. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleGetClipboard),
  890. PASCAL_STACK_PTR(ppDataObj));
  891. }
  892. //+---------------------------------------------------------------------------
  893. //
  894. // Function: OleFlushClipboard, Remoted
  895. //
  896. // Synopsis:
  897. //
  898. // Effects:
  899. //
  900. // Arguments: [void] --
  901. //
  902. // Requires:
  903. //
  904. // Returns:
  905. //
  906. // Signals:
  907. //
  908. // Modifies:
  909. //
  910. // Algorithm:
  911. //
  912. // History: 2-28-94 kevinro Created
  913. //
  914. // Notes:
  915. //
  916. //----------------------------------------------------------------------------
  917. STDAPI OleFlushClipboard(void)
  918. {
  919. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleFlushClipboard),
  920. NULL);
  921. }
  922. //+---------------------------------------------------------------------------
  923. //
  924. // Function: OleIsCurrentClipboard, Remoted
  925. //
  926. // Synopsis:
  927. //
  928. // Effects:
  929. //
  930. // Arguments: [pDataObj] --
  931. //
  932. // Requires:
  933. //
  934. // Returns:
  935. //
  936. // Signals:
  937. //
  938. // Modifies:
  939. //
  940. // Algorithm:
  941. //
  942. // History: 2-28-94 kevinro Created
  943. //
  944. // Notes:
  945. //
  946. //----------------------------------------------------------------------------
  947. STDAPI OleIsCurrentClipboard(LPDATAOBJECT pDataObj)
  948. {
  949. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleIsCurrentClipboard),
  950. PASCAL_STACK_PTR(pDataObj));
  951. }
  952. /* InPlace Editing APIs */
  953. //+---------------------------------------------------------------------------
  954. //
  955. // Function: OleSetMenuDescriptor, Unknown
  956. //
  957. // Synopsis:
  958. //
  959. // Effects:
  960. //
  961. // Arguments: [holemenu] --
  962. // [hwndFrame] --
  963. // [hwndActiveObject] --
  964. // [lpFrame] --
  965. // [lpActiveObj] --
  966. //
  967. // Requires:
  968. //
  969. // Returns:
  970. //
  971. // Signals:
  972. //
  973. // Modifies:
  974. //
  975. // Algorithm:
  976. //
  977. // History: 2-28-94 kevinro Created
  978. //
  979. // Notes:
  980. //
  981. //----------------------------------------------------------------------------
  982. STDAPI OleSetMenuDescriptor (HOLEMENU holemenu, HWND hwndFrame,
  983. HWND hwndActiveObject,
  984. LPOLEINPLACEFRAME lpFrame,
  985. LPOLEINPLACEACTIVEOBJECT lpActiveObj)
  986. {
  987. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleSetMenuDescriptor),
  988. PASCAL_STACK_PTR(holemenu));
  989. }
  990. //+---------------------------------------------------------------------------
  991. //
  992. // Function: OleDraw, Remoted
  993. //
  994. // Synopsis:
  995. //
  996. // Effects:
  997. //
  998. // Arguments: [pUnknown] --
  999. // [dwAspect] --
  1000. // [hdcDraw] --
  1001. // [lprcBounds] --
  1002. //
  1003. // Requires:
  1004. //
  1005. // Returns:
  1006. //
  1007. // Signals:
  1008. //
  1009. // Modifies:
  1010. //
  1011. // Algorithm:
  1012. //
  1013. // History: 2-28-94 kevinro Created
  1014. //
  1015. // Notes:
  1016. //
  1017. //----------------------------------------------------------------------------
  1018. STDAPI OleDraw (LPUNKNOWN pUnknown, DWORD dwAspect, HDC hdcDraw,
  1019. LPCRECT lprcBounds)
  1020. {
  1021. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleDraw),
  1022. PASCAL_STACK_PTR(pUnknown));
  1023. }
  1024. //+---------------------------------------------------------------------------
  1025. //
  1026. // Function: OleRun, Remoted
  1027. //
  1028. // Synopsis:
  1029. //
  1030. // Effects:
  1031. //
  1032. // Arguments: [pUnknown] --
  1033. //
  1034. // Requires:
  1035. //
  1036. // Returns:
  1037. //
  1038. // Signals:
  1039. //
  1040. // Modifies:
  1041. //
  1042. // Algorithm:
  1043. //
  1044. // History: 2-28-94 kevinro Created
  1045. //
  1046. // Notes:
  1047. //
  1048. //----------------------------------------------------------------------------
  1049. STDAPI OleRun(LPUNKNOWN pUnknown)
  1050. {
  1051. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleRun),
  1052. PASCAL_STACK_PTR(pUnknown));
  1053. }
  1054. //+---------------------------------------------------------------------------
  1055. //
  1056. // Function: OleIsRunning
  1057. //
  1058. // Synopsis:
  1059. //
  1060. // Effects:
  1061. //
  1062. // Arguments: [pObject] --
  1063. //
  1064. // Requires:
  1065. //
  1066. // Returns:
  1067. //
  1068. // Signals:
  1069. //
  1070. // Modifies:
  1071. //
  1072. // Algorithm:
  1073. //
  1074. // History: 2-28-94 kevinro Created
  1075. //
  1076. // Notes:
  1077. //
  1078. //----------------------------------------------------------------------------
  1079. STDAPI_(BOOL) OleIsRunning(LPOLEOBJECT pObject)
  1080. {
  1081. return (BOOL)CallObjectInWOW(THK_API_METHOD(THK_API_OleIsRunning),
  1082. PASCAL_STACK_PTR(pObject));
  1083. }
  1084. //+---------------------------------------------------------------------------
  1085. //
  1086. // Function: OleLockRunning, Remoted
  1087. //
  1088. // Synopsis:
  1089. //
  1090. // Effects:
  1091. //
  1092. // Arguments: [pUnknown] --
  1093. // [fLock] --
  1094. // [fLastUnlockCloses] --
  1095. //
  1096. // Requires:
  1097. //
  1098. // Returns:
  1099. //
  1100. // Signals:
  1101. //
  1102. // Modifies:
  1103. //
  1104. // Algorithm:
  1105. //
  1106. // History: 2-28-94 kevinro Created
  1107. //
  1108. // Notes:
  1109. //
  1110. //----------------------------------------------------------------------------
  1111. STDAPI OleLockRunning(LPUNKNOWN pUnknown, BOOL fLock, BOOL fLastUnlockCloses)
  1112. {
  1113. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleLockRunning),
  1114. PASCAL_STACK_PTR(pUnknown));
  1115. }
  1116. //+---------------------------------------------------------------------------
  1117. //
  1118. // Function: CreateOleAdviseHolder, Remoted
  1119. //
  1120. // Synopsis:
  1121. //
  1122. // Effects:
  1123. //
  1124. // Arguments: [ppOAHolder] --
  1125. //
  1126. // Requires:
  1127. //
  1128. // Returns:
  1129. //
  1130. // Signals:
  1131. //
  1132. // Modifies:
  1133. //
  1134. // Algorithm:
  1135. //
  1136. // History: 2-28-94 kevinro Created
  1137. //
  1138. // Notes:
  1139. //
  1140. //----------------------------------------------------------------------------
  1141. STDAPI CreateOleAdviseHolder(LPOLEADVISEHOLDER FAR* ppOAHolder)
  1142. {
  1143. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_CreateOleAdviseHolder),
  1144. PASCAL_STACK_PTR(ppOAHolder));
  1145. }
  1146. //+---------------------------------------------------------------------------
  1147. //
  1148. // Function: OleCreateDefaultHandler, Unknown
  1149. //
  1150. // Synopsis:
  1151. //
  1152. // Effects:
  1153. //
  1154. // Arguments: [clsid] --
  1155. // [pUnkOuter] --
  1156. // [riid] --
  1157. // [lplpObj] --
  1158. //
  1159. // Requires:
  1160. //
  1161. // Returns:
  1162. //
  1163. // Signals:
  1164. //
  1165. // Modifies:
  1166. //
  1167. // Algorithm:
  1168. //
  1169. // History: 2-28-94 kevinro Created
  1170. //
  1171. // Notes:
  1172. //
  1173. //----------------------------------------------------------------------------
  1174. STDAPI OleCreateDefaultHandler(REFCLSID clsid, LPUNKNOWN pUnkOuter,
  1175. REFIID riid, LPVOID FAR* lplpObj)
  1176. {
  1177. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateDefaultHandler),
  1178. PASCAL_STACK_PTR(clsid));
  1179. }
  1180. //+---------------------------------------------------------------------------
  1181. //
  1182. // Function: OleCreateEmbeddingHelper, Unknown
  1183. //
  1184. // Synopsis:
  1185. //
  1186. // Effects:
  1187. //
  1188. // Arguments: [clsid] --
  1189. // [pUnkOuter] --
  1190. // [flags] --
  1191. // [pCF] --
  1192. // [riid] --
  1193. // [lplpObj] --
  1194. //
  1195. // Requires:
  1196. //
  1197. // Returns:
  1198. //
  1199. // Signals:
  1200. //
  1201. // Modifies:
  1202. //
  1203. // Algorithm:
  1204. //
  1205. // History: 2-28-94 kevinro Created
  1206. //
  1207. // Notes:
  1208. //
  1209. //----------------------------------------------------------------------------
  1210. STDAPI OleCreateEmbeddingHelper(REFCLSID clsid, LPUNKNOWN pUnkOuter,
  1211. DWORD flags, LPCLASSFACTORY pCF,
  1212. REFIID riid, LPVOID FAR* lplpObj)
  1213. {
  1214. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleCreateEmbeddingHelper),
  1215. PASCAL_STACK_PTR(clsid));
  1216. }
  1217. /* Registration Database Helper APIs */
  1218. //+---------------------------------------------------------------------------
  1219. //
  1220. // Function: OleRegGetUserType, Remoted
  1221. //
  1222. // Synopsis:
  1223. //
  1224. // Effects:
  1225. //
  1226. // Arguments: [clsid] --
  1227. // [dwFormOfType] --
  1228. // [pszUserType] --
  1229. //
  1230. // Requires:
  1231. //
  1232. // Returns:
  1233. //
  1234. // Signals:
  1235. //
  1236. // Modifies:
  1237. //
  1238. // Algorithm:
  1239. //
  1240. // History: 2-28-94 kevinro Created
  1241. //
  1242. // Notes:
  1243. //
  1244. //----------------------------------------------------------------------------
  1245. STDAPI OleRegGetUserType (REFCLSID clsid, DWORD dwFormOfType,
  1246. LPSTR FAR* pszUserType)
  1247. {
  1248. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleRegGetUserType),
  1249. PASCAL_STACK_PTR(clsid));
  1250. }
  1251. //+---------------------------------------------------------------------------
  1252. //
  1253. // Function: OleRegGetMiscStatus, Remoted
  1254. //
  1255. // Synopsis:
  1256. //
  1257. // Effects:
  1258. //
  1259. // Arguments: [clsid] --
  1260. // [dwAspect] --
  1261. // [pdwStatus] --
  1262. //
  1263. // Requires:
  1264. //
  1265. // Returns:
  1266. //
  1267. // Signals:
  1268. //
  1269. // Modifies:
  1270. //
  1271. // Algorithm:
  1272. //
  1273. // History: 2-28-94 kevinro Created
  1274. //
  1275. // Notes:
  1276. //
  1277. //----------------------------------------------------------------------------
  1278. STDAPI OleRegGetMiscStatus(REFCLSID clsid, DWORD dwAspect,
  1279. DWORD FAR* pdwStatus)
  1280. {
  1281. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleRegGetMiscStatus),
  1282. PASCAL_STACK_PTR(clsid));
  1283. }
  1284. //+---------------------------------------------------------------------------
  1285. //
  1286. // Function: OleRegEnumFormatEtc, Remoted
  1287. //
  1288. // Synopsis:
  1289. //
  1290. // Effects:
  1291. //
  1292. // Arguments: [clsid] --
  1293. // [dwDirection] --
  1294. // [ppenum] --
  1295. //
  1296. // Requires:
  1297. //
  1298. // Returns:
  1299. //
  1300. // Signals:
  1301. //
  1302. // Modifies:
  1303. //
  1304. // Algorithm:
  1305. //
  1306. // History: 2-28-94 kevinro Created
  1307. //
  1308. // Notes:
  1309. //
  1310. //----------------------------------------------------------------------------
  1311. STDAPI OleRegEnumFormatEtc(REFCLSID clsid, DWORD dwDirection,
  1312. LPENUMFORMATETC FAR* ppenum)
  1313. {
  1314. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleRegEnumFormatEtc),
  1315. PASCAL_STACK_PTR(clsid));
  1316. }
  1317. //+---------------------------------------------------------------------------
  1318. //
  1319. // Function: OleRegEnumVerbs, Remoted
  1320. //
  1321. // Synopsis:
  1322. //
  1323. // Effects:
  1324. //
  1325. // Arguments: [clsid] --
  1326. // [ppenum] --
  1327. //
  1328. // Requires:
  1329. //
  1330. // Returns:
  1331. //
  1332. // Signals:
  1333. //
  1334. // Modifies:
  1335. //
  1336. // Algorithm:
  1337. //
  1338. // History: 2-28-94 kevinro Created
  1339. //
  1340. // Notes:
  1341. //
  1342. //----------------------------------------------------------------------------
  1343. STDAPI OleRegEnumVerbs(REFCLSID clsid, LPENUMOLEVERB FAR* ppenum)
  1344. {
  1345. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleRegEnumVerbs),
  1346. PASCAL_STACK_PTR(clsid));
  1347. }
  1348. /* OLE 1.0 conversion APIS */
  1349. //+---------------------------------------------------------------------------
  1350. //
  1351. // Function: OleConvertIStorageToOLESTREAM, Unknown
  1352. //
  1353. // Synopsis:
  1354. //
  1355. // Effects:
  1356. //
  1357. // Arguments: [pstg] --
  1358. // [polestm] --
  1359. //
  1360. // Requires:
  1361. //
  1362. // Returns:
  1363. //
  1364. // Signals:
  1365. //
  1366. // Modifies:
  1367. //
  1368. // Algorithm:
  1369. //
  1370. // History: 2-28-94 kevinro Created
  1371. //
  1372. // Notes:
  1373. //
  1374. //----------------------------------------------------------------------------
  1375. STDAPI OleConvertIStorageToOLESTREAM(LPSTORAGE pstg,
  1376. LPOLESTREAM polestm)
  1377. {
  1378. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleConvertIStorageToOLESTREAM),
  1379. PASCAL_STACK_PTR(pstg));
  1380. }
  1381. //+---------------------------------------------------------------------------
  1382. //
  1383. // Function: OleConvertOLESTREAMToIStorage, Unknown
  1384. //
  1385. // Synopsis:
  1386. //
  1387. // Effects:
  1388. //
  1389. // Arguments: [polestm] --
  1390. // [pstg] --
  1391. // [ptd] --
  1392. //
  1393. // Requires:
  1394. //
  1395. // Returns:
  1396. //
  1397. // Signals:
  1398. //
  1399. // Modifies:
  1400. //
  1401. // Algorithm:
  1402. //
  1403. // History: 2-28-94 kevinro Created
  1404. //
  1405. // Notes:
  1406. //
  1407. //----------------------------------------------------------------------------
  1408. STDAPI OleConvertOLESTREAMToIStorage(LPOLESTREAM polestm,
  1409. LPSTORAGE pstg,
  1410. const DVTARGETDEVICE FAR* ptd)
  1411. {
  1412. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleConvertOLESTREAMToIStorage),
  1413. PASCAL_STACK_PTR(polestm));
  1414. }
  1415. //+---------------------------------------------------------------------------
  1416. //
  1417. // Function: OleConvertIStorageToOLESTREAMEx, Unknown
  1418. //
  1419. // Synopsis:
  1420. //
  1421. // Effects:
  1422. //
  1423. // Arguments: [pstg] --
  1424. // [cfFormat] --
  1425. // [lWidth] --
  1426. // [lHeight] --
  1427. // [dwSize] --
  1428. // [pmedium] --
  1429. // [polestm] --
  1430. //
  1431. // Requires:
  1432. //
  1433. // Returns:
  1434. //
  1435. // Signals:
  1436. //
  1437. // Modifies:
  1438. //
  1439. // Algorithm:
  1440. //
  1441. // History: 2-28-94 kevinro Created
  1442. //
  1443. // Notes:
  1444. //
  1445. //----------------------------------------------------------------------------
  1446. STDAPI OleConvertIStorageToOLESTREAMEx(
  1447. LPSTORAGE pstg, // Presentation data to OLESTREAM
  1448. CLIPFORMAT cfFormat, // format
  1449. LONG lWidth, // width
  1450. LONG lHeight, // height
  1451. DWORD dwSize, // size in bytes
  1452. LPSTGMEDIUM pmedium, // bits
  1453. LPOLESTREAM polestm)
  1454. {
  1455. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleConvertIStorageToOLESTREAMEx),
  1456. PASCAL_STACK_PTR(pstg));
  1457. }
  1458. //+---------------------------------------------------------------------------
  1459. //
  1460. // Function: OleConvertOLESTREAMToIStorageEx, Unknown
  1461. //
  1462. // Synopsis:
  1463. //
  1464. // Effects:
  1465. //
  1466. // Arguments: [polestm] --
  1467. // [pstg] --
  1468. // [pcfFormat] --
  1469. // [plwWidth] --
  1470. // [plHeight] --
  1471. // [pdwSize] --
  1472. // [pmedium] --
  1473. //
  1474. // Requires:
  1475. //
  1476. // Returns:
  1477. //
  1478. // Signals:
  1479. //
  1480. // Modifies:
  1481. //
  1482. // Algorithm:
  1483. //
  1484. // History: 2-28-94 kevinro Created
  1485. //
  1486. // Notes:
  1487. //
  1488. //----------------------------------------------------------------------------
  1489. STDAPI OleConvertOLESTREAMToIStorageEx(
  1490. LPOLESTREAM polestm,
  1491. LPSTORAGE pstg, // Presentation data from OLESTREAM
  1492. CLIPFORMAT FAR* pcfFormat, // format
  1493. LONG FAR* plwWidth, // width
  1494. LONG FAR* plHeight, // height
  1495. DWORD FAR* pdwSize, // size in bytes
  1496. LPSTGMEDIUM pmedium)
  1497. {
  1498. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleConvertOLESTREAMToIStorageEx),
  1499. PASCAL_STACK_PTR(polestm));
  1500. }
  1501. /* ConvertTo APIS */
  1502. //+---------------------------------------------------------------------------
  1503. //
  1504. // Function: OleGetAutoConvert, Remoted
  1505. //
  1506. // Synopsis:
  1507. //
  1508. // Effects:
  1509. //
  1510. // Arguments: [clsidOld] --
  1511. // [pClsidNew] --
  1512. //
  1513. // Requires:
  1514. //
  1515. // Returns:
  1516. //
  1517. // Signals:
  1518. //
  1519. // Modifies:
  1520. //
  1521. // Algorithm:
  1522. //
  1523. // History: 2-28-94 kevinro Created
  1524. //
  1525. // Notes:
  1526. //
  1527. //----------------------------------------------------------------------------
  1528. STDAPI OleGetAutoConvert(REFCLSID clsidOld, LPCLSID pClsidNew)
  1529. {
  1530. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleGetAutoConvert),
  1531. PASCAL_STACK_PTR(clsidOld));
  1532. }
  1533. //+---------------------------------------------------------------------------
  1534. //
  1535. // Function: OleSetAutoConvert, Remoted
  1536. //
  1537. // Synopsis:
  1538. //
  1539. // Effects:
  1540. //
  1541. // Arguments: [clsidOld] --
  1542. // [clsidNew] --
  1543. //
  1544. // Requires:
  1545. //
  1546. // Returns:
  1547. //
  1548. // Signals:
  1549. //
  1550. // Modifies:
  1551. //
  1552. // Algorithm:
  1553. //
  1554. // History: 2-28-94 kevinro Created
  1555. //
  1556. // Notes:
  1557. //
  1558. //----------------------------------------------------------------------------
  1559. STDAPI OleSetAutoConvert(REFCLSID clsidOld, REFCLSID clsidNew)
  1560. {
  1561. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_OleSetAutoConvert),
  1562. PASCAL_STACK_PTR(clsidOld));
  1563. }
  1564. //+---------------------------------------------------------------------------
  1565. //
  1566. // Function: GetConvertStg, Remoted
  1567. //
  1568. // Synopsis:
  1569. //
  1570. // Effects:
  1571. //
  1572. // Arguments: [pStg] --
  1573. //
  1574. // Requires:
  1575. //
  1576. // Returns:
  1577. //
  1578. // Signals:
  1579. //
  1580. // Modifies:
  1581. //
  1582. // Algorithm:
  1583. //
  1584. // History: 2-28-94 kevinro Created
  1585. //
  1586. // Notes:
  1587. //
  1588. //----------------------------------------------------------------------------
  1589. STDAPI GetConvertStg(LPSTORAGE pStg)
  1590. {
  1591. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_GetConvertStg),
  1592. PASCAL_STACK_PTR(pStg));
  1593. }
  1594. //+---------------------------------------------------------------------------
  1595. //
  1596. // Function: SetConvertStg, Remoted
  1597. //
  1598. // Synopsis:
  1599. //
  1600. // Effects:
  1601. //
  1602. // Arguments: [pStg] --
  1603. // [fConvert] --
  1604. //
  1605. // Requires:
  1606. //
  1607. // Returns:
  1608. //
  1609. // Signals:
  1610. //
  1611. // Modifies:
  1612. //
  1613. // Algorithm:
  1614. //
  1615. // History: 2-28-94 kevinro Created
  1616. //
  1617. // Notes:
  1618. //
  1619. //----------------------------------------------------------------------------
  1620. STDAPI SetConvertStg(LPSTORAGE pStg, BOOL fConvert)
  1621. {
  1622. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_SetConvertStg),
  1623. PASCAL_STACK_PTR(pStg));
  1624. }
  1625. //+---------------------------------------------------------------------------
  1626. //
  1627. // Function: CreateDataAdviseHolder, Remoted
  1628. //
  1629. // Synopsis:
  1630. //
  1631. // Effects:
  1632. //
  1633. // Arguments: [ppDAHolder] --
  1634. //
  1635. // Requires:
  1636. //
  1637. // Returns:
  1638. //
  1639. // Signals:
  1640. //
  1641. // Modifies:
  1642. //
  1643. // Algorithm:
  1644. //
  1645. // History: 2-28-94 kevinro Created
  1646. //
  1647. // Notes:
  1648. //
  1649. //----------------------------------------------------------------------------
  1650. STDAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER FAR* ppDAHolder)
  1651. {
  1652. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_CreateDataAdviseHolder),
  1653. PASCAL_STACK_PTR(ppDAHolder));
  1654. }
  1655. //+---------------------------------------------------------------------------
  1656. //
  1657. // Function: CreateDataCache, Unknown
  1658. //
  1659. // Synopsis:
  1660. //
  1661. // Effects:
  1662. //
  1663. // Arguments: [pUnkOuter] --
  1664. // [rclsid] --
  1665. // [iid] --
  1666. // [ppv] --
  1667. //
  1668. // Requires:
  1669. //
  1670. // Returns:
  1671. //
  1672. // Signals:
  1673. //
  1674. // Modifies:
  1675. //
  1676. // Algorithm:
  1677. //
  1678. // History: 2-28-94 kevinro Created
  1679. //
  1680. // Notes:
  1681. //
  1682. //----------------------------------------------------------------------------
  1683. STDAPI CreateDataCache(LPUNKNOWN pUnkOuter, REFCLSID rclsid,
  1684. REFIID iid, LPVOID FAR* ppv)
  1685. {
  1686. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_CreateDataCache),
  1687. PASCAL_STACK_PTR(pUnkOuter));
  1688. }
  1689. //+---------------------------------------------------------------------------
  1690. //
  1691. // Function: Utility functions not in the spec; in ole2.dll.
  1692. //
  1693. // History: 20-Apr-94 DrewB Taken from OLE2 sources
  1694. //
  1695. //----------------------------------------------------------------------------
  1696. STDAPI ReadOleStg
  1697. (LPSTORAGE pstg, DWORD FAR* pdwFlags, DWORD FAR* pdwOptUpdate,
  1698. DWORD FAR* pdwReserved, LPMONIKER FAR* ppmk, LPSTREAM FAR* ppstmOut)
  1699. {
  1700. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_ReadOleStg),
  1701. PASCAL_STACK_PTR(pstg));
  1702. }
  1703. STDAPI WriteOleStg
  1704. (LPSTORAGE pstg, IOleObject FAR* pOleObj,
  1705. DWORD dwReserved, LPSTREAM FAR* ppstmOut)
  1706. {
  1707. return (HRESULT)CallObjectInWOW(THK_API_METHOD(THK_API_WriteOleStg),
  1708. PASCAL_STACK_PTR(pstg));
  1709. }