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.

292 lines
6.0 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1997.
  5. //
  6. // File: srvhndlr.idl
  7. //
  8. //--------------------------------------------------------------------------
  9. [
  10. object,
  11. uuid(F4F569D0-593B-101A-B569-08002B2DBF7A),
  12. pointer_default(unique)
  13. ]
  14. interface IServerHandler : IUnknown
  15. {
  16. #ifndef DO_NO_IMPORTS
  17. import "oleidl.idl";
  18. import "unknwn.idl";
  19. import "iface.idl";
  20. import "objidl.idl";
  21. import "obase.idl";
  22. #endif
  23. cpp_quote("//+-------------------------------------------------------------------------")
  24. cpp_quote("//")
  25. cpp_quote("// Microsoft Windows")
  26. cpp_quote("// Copyright (C) Microsoft Corporation, 1992 - 1997.")
  27. cpp_quote("//")
  28. cpp_quote("//--------------------------------------------------------------------------")
  29. typedef [unique] IServerHandler *LPSERVERHANDLER;
  30. HRESULT Run
  31. (
  32. [in] DWORD dwDHFlags,
  33. [in] REFIID riidClientInterface,
  34. [in, unique] MInterfacePointer* pIRDClientInterface,
  35. [in] BOOL fHasIPSite,
  36. [in, unique] LPOLESTR szContainerApp,
  37. [in, unique] LPOLESTR szContainerObj,
  38. [in, unique] IStorage * pStg,
  39. [in, unique] IAdviseSink* pAdvSink,
  40. [out] DWORD *pdwConnection,
  41. [out] HRESULT *hresultClsidUser,
  42. [out] CLSID *pContClassID,
  43. [out] HRESULT *hresultContentMiscStatus,
  44. [out] DWORD *pdwMiscStatus
  45. );
  46. HRESULT DoVerb
  47. (
  48. [in] LONG iVerb,
  49. [in, unique] LPMSG lpmsg,
  50. [in] BOOL fRunClientSite,
  51. [in, unique] IOleClientSite *pClientSite,
  52. [in] LONG lindex,
  53. [in] HWND hwndParent,
  54. [in, unique] LPCRECT lprcPosRect
  55. );
  56. HRESULT SetClientSite
  57. (
  58. [in, unique] IOleClientSite *pClientSite
  59. );
  60. // IDataObject Methods
  61. HRESULT GetData(
  62. [in, unique] FORMATETC *pformatetcIn,
  63. [out] STGMEDIUM *pmedium);
  64. HRESULT GetDataHere(
  65. [in, unique] FORMATETC *pformatetc,
  66. [in, out] STGMEDIUM *pmedium);
  67. HRESULT QueryGetData(
  68. [in, unique] FORMATETC *pformatetc);
  69. HRESULT GetCanonicalFormatEtc(
  70. [in, unique] FORMATETC *pformatectIn,
  71. [out] FORMATETC *pformatetcOut);
  72. HRESULT SetData(
  73. [in, unique] FORMATETC *pformatetc,
  74. [in, unique] STGMEDIUM *pmedium,
  75. [in] BOOL fRelease);
  76. HRESULT EnumFormatEtc(
  77. [in] DWORD dwDirection,
  78. [out] IEnumFORMATETC **ppenumFormatEtc);
  79. HRESULT DAdvise(
  80. [in] FORMATETC *pformatetc,
  81. [in] DWORD advf,
  82. [in, unique] IAdviseSink *pAdvSink,
  83. [out] DWORD *pdwConnection);
  84. HRESULT DUnadvise(
  85. [in] DWORD dwConnection);
  86. HRESULT EnumDAdvise(
  87. [out] IEnumSTATDATA **ppenumAdvise);
  88. }
  89. [
  90. object,
  91. uuid(F4F569D1-593B-101A-B569-08002B2DBF7A),
  92. pointer_default(unique)
  93. ]
  94. //interface IClientSiteHandler : IOleClientSite
  95. interface IClientSiteHandler : IUnknown
  96. {
  97. cpp_quote("//+-------------------------------------------------------------------------")
  98. cpp_quote("//")
  99. cpp_quote("// Microsoft Windows")
  100. cpp_quote("// Copyright (C) Microsoft Corporation, 1992 - 1995.")
  101. cpp_quote("//")
  102. cpp_quote("//--------------------------------------------------------------------------")
  103. typedef [unique] IClientSiteHandler *LPCLIENTSITEHANDLER;
  104. typedef struct tagInSrvInPlace
  105. {
  106. DWORD dwOperation;
  107. DWORD dwDelegateID;
  108. DWORD dwInFlags; // generic Flags
  109. DWORD dwInOptions;
  110. // IOleObject::GetExtend
  111. DWORD dwDrawAspect;
  112. SIZEL sizel;
  113. //
  114. IOleInPlaceObject *pOIPObj;
  115. } INSRVINPLACE, *PINSRVINPLACE;
  116. typedef struct tagOutSrvInPlace
  117. {
  118. DWORD dwOperation;
  119. DWORD dwOutFlags; // generic Flags
  120. DWORD dwOutOptions;
  121. HWND hwnd;
  122. IOleInPlaceFrame *pOIPFrame;
  123. IOleInPlaceUIWindow *pOIPUIWnd;
  124. LPRECT lprcPosRect;
  125. LPRECT lprcClipRect;
  126. LPOLEINPLACEFRAMEINFO lpFrameInfo;
  127. RECT rcPosRect;
  128. RECT rcClipRect;
  129. OLEINPLACEFRAMEINFO FrameInfo;
  130. // menu stuff
  131. HMENU hmenuShared;
  132. OLEMENUGROUPWIDTHS MenuWidths;
  133. //
  134. LPOLESTR pszStatusText;
  135. // IOleObject::SetExtend
  136. DWORD dwDrawAspect;
  137. SIZEL sizel;
  138. } OUTSRVINPLACE, *POUTSRVINPLACE;
  139. // IOleClientSite methods
  140. HRESULT SaveObject
  141. (
  142. );
  143. HRESULT GetMoniker
  144. (
  145. [in] DWORD dwAssign,
  146. [in] DWORD dwWhichMoniker,
  147. [out] IMoniker **ppmk
  148. );
  149. HRESULT GetContainer
  150. (
  151. [out] IOleContainer **ppContainer
  152. );
  153. HRESULT ShowObject
  154. (
  155. );
  156. HRESULT OnShowWindow
  157. (
  158. [in] BOOL fShow
  159. );
  160. HRESULT RequestNewObjectLayout
  161. (
  162. );
  163. // IOleInPlaceSite methods
  164. [input_sync]
  165. HRESULT GetWindow
  166. (
  167. [out] HWND *phwnd
  168. );
  169. HRESULT ContextSensitiveHelp
  170. (
  171. [in] BOOL fEnterMode
  172. );
  173. HRESULT CanInPlaceActivate
  174. (
  175. void
  176. );
  177. HRESULT OnInPlaceActivate
  178. (
  179. void
  180. );
  181. HRESULT OnUIActivate
  182. (
  183. void
  184. );
  185. HRESULT GetWindowContext
  186. (
  187. [out] IOleInPlaceFrame **ppFrame,
  188. [out] IOleInPlaceUIWindow **ppDoc,
  189. [out] LPRECT lprcPosRect,
  190. [out] LPRECT lprcClipRect,
  191. [in, out] LPOLEINPLACEFRAMEINFO lpFrameInfo
  192. );
  193. HRESULT Scroll
  194. (
  195. [in] SIZE scrollExtant
  196. );
  197. HRESULT OnUIDeactivate
  198. (
  199. [in] BOOL fUndoable
  200. );
  201. HRESULT OnInPlaceDeactivate
  202. (
  203. void
  204. );
  205. HRESULT DiscardUndoState
  206. (
  207. void
  208. );
  209. HRESULT DeactivateAndUndo
  210. (
  211. void
  212. );
  213. HRESULT OnPosRectChange
  214. (
  215. [in] LPCRECT lprcPosRect
  216. );
  217. HRESULT GoInPlaceActivate
  218. (
  219. [out] HWND *phwndOIPS
  220. );
  221. }