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.

400 lines
20 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1997 - 1998
  6. //
  7. // File: oleint.h
  8. //
  9. //--------------------------------------------------------------------------
  10. /*---------------------------------------------------------------------
  11. OLEINT.H
  12. Helpful Macros to declare ole interfaces
  13. Authors:
  14. MFH Matthew F. Hillman
  15. Contents:
  16. Definitions for various Ren interfaces
  17. History:
  18. 02/21/93 mfh Created.
  19. 10/24/95 v-ronaar DBCS_FILE_CHECK
  20. ---------------------------------------------------------------------*/
  21. #ifdef _OLEINT_H
  22. #error oleint.h included twice!
  23. #else
  24. #define _OLEINT_H
  25. #if _MSC_VER >= 1000 // VC 5.0 or later
  26. #pragma once
  27. #endif
  28. #ifndef WIN16
  29. #define INITGUID
  30. #endif
  31. #ifndef _OLE2_H_
  32. #include <ole2.h>
  33. #endif
  34. #undef IMPL
  35. #define IMPL
  36. #undef DeclareIUnknownMembers
  37. #define DeclareIUnknownMembers(IPURE) \
  38. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) IPURE; \
  39. STDMETHOD_(ULONG,AddRef) (THIS) IPURE; \
  40. STDMETHOD_(ULONG,Release) (THIS) IPURE; \
  41. // Server Interfaces...
  42. #define DeclareIOleObjectMembers(IPURE) \
  43. STDMETHOD(SetClientSite) (THIS_ LPOLECLIENTSITE pClientSite) IPURE;\
  44. STDMETHOD(GetClientSite) (THIS_ LPOLECLIENTSITE FAR* ppClientSite) IPURE;\
  45. STDMETHOD(SetHostNames) (THIS_ LPCOLESTR szContainerApp, LPCOLESTR szContainerObj) IPURE;\
  46. STDMETHOD(Close) (THIS_ DWORD dwSaveOption) IPURE;\
  47. STDMETHOD(SetMoniker) (THIS_ DWORD dwWhichMoniker, LPMONIKER pmk) IPURE;\
  48. STDMETHOD(GetMoniker) (THIS_ DWORD dwAssign, DWORD dwWhichMoniker, \
  49. LPMONIKER FAR* ppmk) IPURE;\
  50. STDMETHOD(InitFromData) (THIS_ LPDATAOBJECT pDataObject,\
  51. BOOL fCreation,\
  52. DWORD dwReserved) IPURE;\
  53. STDMETHOD(GetClipboardData) (THIS_ DWORD dwReserved, \
  54. LPDATAOBJECT FAR* ppDataObject) IPURE;\
  55. STDMETHOD(DoVerb) (THIS_ LONG iVerb,\
  56. LPMSG lpmsg, \
  57. LPOLECLIENTSITE pActiveSite, \
  58. LONG lindex,\
  59. HWND hwndParent,\
  60. LPCRECT lprcPosRect) IPURE;\
  61. STDMETHOD(EnumVerbs) (THIS_ LPENUMOLEVERB FAR* ppenumOleVerb) IPURE;\
  62. STDMETHOD(Update) (THIS) IPURE;\
  63. STDMETHOD(IsUpToDate) (THIS) IPURE;\
  64. STDMETHOD(GetUserClassID) (THIS_ CLSID FAR* pClsid) IPURE;\
  65. STDMETHOD(GetUserType) (THIS_ DWORD dwFormOfType, LPOLESTR FAR* pszUserType) IPURE;\
  66. STDMETHOD(SetExtent) (THIS_ DWORD dwDrawAspect, LPSIZEL lpsizel) IPURE;\
  67. STDMETHOD(GetExtent) (THIS_ DWORD dwDrawAspect, LPSIZEL lpsizel) IPURE;\
  68. STDMETHOD(Advise)(THIS_ LPADVISESINK pAdvSink, DWORD FAR* pdwConnection) IPURE;\
  69. STDMETHOD(Unadvise)(THIS_ DWORD dwConnection) IPURE;\
  70. STDMETHOD(EnumAdvise) (THIS_ LPENUMSTATDATA FAR* ppenumAdvise) IPURE;\
  71. STDMETHOD(GetMiscStatus) (THIS_ DWORD dwAspect, DWORD FAR* pdwStatus) IPURE;\
  72. STDMETHOD(SetColorScheme) (THIS_ LPLOGPALETTE lpLogpal) IPURE;\
  73. #define DeclareIViewObjectMembers(IPURE)\
  74. STDMETHOD(Draw) (THIS_ DWORD dwDrawAspect, LONG lindex,\
  75. void FAR* pvAspect, DVTARGETDEVICE FAR * ptd,\
  76. HDC hicTargetDev,\
  77. HDC hdcDraw, \
  78. LPCRECTL lprcBounds, \
  79. LPCRECTL lprcWBounds,\
  80. BOOL (CALLBACK * pfnContinue) (DWORD), \
  81. DWORD dwContinue) IPURE;\
  82. STDMETHOD(GetColorSet) (THIS_ DWORD dwDrawAspect, LONG lindex,\
  83. void FAR* pvAspect, DVTARGETDEVICE FAR * ptd,\
  84. HDC hicTargetDev,\
  85. LPLOGPALETTE FAR* ppColorSet) IPURE;\
  86. STDMETHOD(Freeze)(THIS_ DWORD dwDrawAspect, LONG lindex, \
  87. void FAR* pvAspect,\
  88. DWORD FAR* pdwFreeze) IPURE;\
  89. STDMETHOD(Unfreeze) (THIS_ DWORD dwFreeze) IPURE;\
  90. STDMETHOD(SetAdvise) (THIS_ DWORD aspects, DWORD advf, \
  91. LPADVISESINK pAdvSink) IPURE;\
  92. STDMETHOD(GetAdvise) (THIS_ DWORD FAR* pAspects, DWORD FAR* pAdvf, \
  93. LPADVISESINK FAR* ppAdvSink) IPURE;\
  94. #define DeclareIViewObject2Members(IPURE)\
  95. STDMETHOD(Draw) (THIS_ DWORD dwDrawAspect, LONG lindex,\
  96. void FAR* pvAspect, DVTARGETDEVICE FAR * ptd,\
  97. HDC hicTargetDev,\
  98. HDC hdcDraw, \
  99. LPCRECTL lprcBounds, \
  100. LPCRECTL lprcWBounds,\
  101. BOOL (CALLBACK * pfnContinue) (DWORD), \
  102. DWORD dwContinue) IPURE;\
  103. STDMETHOD(GetColorSet) (THIS_ DWORD dwDrawAspect, LONG lindex,\
  104. void FAR* pvAspect, DVTARGETDEVICE FAR * ptd,\
  105. HDC hicTargetDev,\
  106. LPLOGPALETTE FAR* ppColorSet) IPURE;\
  107. STDMETHOD(Freeze)(THIS_ DWORD dwDrawAspect, LONG lindex, \
  108. void FAR* pvAspect,\
  109. DWORD FAR* pdwFreeze) IPURE;\
  110. STDMETHOD(Unfreeze) (THIS_ DWORD dwFreeze) IPURE;\
  111. STDMETHOD(SetAdvise) (THIS_ DWORD aspects, DWORD advf, \
  112. LPADVISESINK pAdvSink) IPURE;\
  113. STDMETHOD(GetAdvise) (THIS_ DWORD FAR* pAspects, DWORD FAR* pAdvf, \
  114. LPADVISESINK FAR* ppAdvSink) IPURE;\
  115. STDMETHOD(GetExtent) (THIS_ DWORD dwAspect, LONG lindex, \
  116. DVTARGETDEVICE *ptd, LPSIZEL lpsizel) IPURE;\
  117. #define DeclareIDataObjectMembers(IPURE) \
  118. STDMETHOD(GetData) (THIS_ LPFORMATETC pformatetcIn,\
  119. LPSTGMEDIUM pmedium ) IPURE;\
  120. STDMETHOD(GetDataHere) (THIS_ LPFORMATETC pformatetc,\
  121. LPSTGMEDIUM pmedium ) IPURE;\
  122. STDMETHOD(QueryGetData) (THIS_ LPFORMATETC pformatetc ) IPURE;\
  123. STDMETHOD(GetCanonicalFormatEtc) (THIS_ LPFORMATETC pformatetc,\
  124. LPFORMATETC pformatetcOut) IPURE;\
  125. STDMETHOD(SetData) (THIS_ LPFORMATETC pformatetc, STGMEDIUM FAR * pmedium,\
  126. BOOL fRelease) IPURE;\
  127. STDMETHOD(EnumFormatEtc) (THIS_ DWORD dwDirection,\
  128. LPENUMFORMATETC FAR* ppenumFormatEtc) IPURE;\
  129. STDMETHOD(DAdvise) (THIS_ FORMATETC FAR* pFormatetc, DWORD advf, \
  130. LPADVISESINK pAdvSink, DWORD FAR* pdwConnection) IPURE;\
  131. STDMETHOD(DUnadvise) (THIS_ DWORD dwConnection) IPURE;\
  132. STDMETHOD(EnumDAdvise) (THIS_ LPENUMSTATDATA FAR* ppenumAdvise) IPURE;\
  133. #define DeclareIEnumFORMATETCMembers(IPURE) \
  134. STDMETHOD(Next) (THIS_ ULONG celt, FORMATETC FAR * rgelt, ULONG FAR* pceltFetched) IPURE; \
  135. STDMETHOD(Skip) (THIS_ ULONG celt) IPURE; \
  136. STDMETHOD(Reset) (THIS) IPURE; \
  137. STDMETHOD(Clone) (THIS_ IEnumFORMATETC FAR* FAR* ppenum) IPURE; \
  138. #define DeclareIDropSourceMembers(IPURE) \
  139. STDMETHOD(QueryContinueDrag) (THIS_ BOOL fEscapePressed, DWORD grfKeyState) IPURE;\
  140. STDMETHOD(GiveFeedback) (THIS_ DWORD dwEffect) IPURE;\
  141. #define DeclareIDropTargetMembers(IPURE) \
  142. STDMETHOD(DragEnter) (THIS_ LPDATAOBJECT pDataObj, DWORD grfKeyState, POINTL pt, LPDWORD pdwEffect) IPURE;\
  143. STDMETHOD(DragOver) (THIS_ DWORD grfKeyState, POINTL pt, LPDWORD pdwEffect) IPURE;\
  144. STDMETHOD(DragLeave) (THIS) IPURE;\
  145. STDMETHOD(Drop) (THIS_ LPDATAOBJECT pDataObj, DWORD grfKeyState, POINTL pt, LPDWORD pdwEffect) IPURE;\
  146. #define DeclareIPersistStorageMembers(IPURE) \
  147. STDMETHOD(GetClassID) (THIS_ LPCLSID lpClassID) IPURE;\
  148. STDMETHOD(IsDirty) (THIS) IPURE;\
  149. STDMETHOD(InitNew) (THIS_ LPSTORAGE pStg) IPURE;\
  150. STDMETHOD(Load) (THIS_ LPSTORAGE pStg) IPURE;\
  151. STDMETHOD(Save) (THIS_ LPSTORAGE pStgSave, BOOL fSameAsLoad) IPURE;\
  152. STDMETHOD(SaveCompleted) (THIS_ LPSTORAGE pStgNew) IPURE;\
  153. STDMETHOD(HandsOffStorage) (THIS) IPURE;\
  154. #define DeclareIPersistFileMembers(IPURE) \
  155. STDMETHOD(GetClassID) (THIS_ LPCLSID lpClassID) IPURE;\
  156. STDMETHOD(IsDirty) (THIS) IPURE;\
  157. STDMETHOD(Load) (THIS_ LPCOLESTR lpszFileName, DWORD grfMode) IPURE;\
  158. STDMETHOD(Save) (THIS_ LPCOLESTR lpszFileName, BOOL fRemember) IPURE;\
  159. STDMETHOD(SaveCompleted) (THIS_ LPCOLESTR lpszFileName) IPURE;\
  160. STDMETHOD(GetCurFile) (THIS_ LPOLESTR FAR * lplpszFileName) IPURE;\
  161. #define DeclareIPersistStreamMembers(IPURE) \
  162. STDMETHOD(GetClassID) (THIS_ LPCLSID lpClassID) IPURE;\
  163. STDMETHOD(IsDirty) (THIS) IPURE;\
  164. STDMETHOD(Load) (THIS_ LPSTREAM pStm) IPURE;\
  165. STDMETHOD(Save) (THIS_ LPSTREAM pStm,\
  166. BOOL fClearDirty) IPURE;\
  167. STDMETHOD(GetSizeMax) (THIS_ ULARGE_INTEGER FAR * pcbSize) IPURE;\
  168. #define DeclareIPersistStreamInitMembers(IPURE) \
  169. STDMETHOD(GetClassID) (THIS_ LPCLSID lpClassID) IPURE;\
  170. STDMETHOD(IsDirty) (THIS) IPURE;\
  171. STDMETHOD(Load) (THIS_ LPSTREAM pStm) IPURE;\
  172. STDMETHOD(Save) (THIS_ LPSTREAM pStm,\
  173. BOOL fClearDirty) IPURE;\
  174. STDMETHOD(GetSizeMax) (THIS_ ULARGE_INTEGER FAR * pcbSize) IPURE;\
  175. STDMETHOD(InitNew) (THIS) IPURE; \
  176. #define DeclareIOleInPlaceObjectMembers(IPURE)\
  177. STDMETHOD(GetWindow) (THIS_ HWND FAR* lphwnd) IPURE;\
  178. STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL fEnterMode) IPURE;\
  179. \
  180. STDMETHOD(InPlaceDeactivate) (THIS) IPURE;\
  181. STDMETHOD(UIDeactivate) (THIS) IPURE;\
  182. STDMETHOD(SetObjectRects) (THIS_ LPCRECT lprcPosRect, \
  183. LPCRECT lprcClipRect) IPURE;\
  184. STDMETHOD(ReactivateAndUndo) (THIS) IPURE;\
  185. #define DeclareIOleInPlaceActiveObjectMembers(IPURE)\
  186. STDMETHOD(GetWindow) (THIS_ HWND FAR* lphwnd) IPURE;\
  187. STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL fEnterMode) IPURE;\
  188. \
  189. STDMETHOD(TranslateAccelerator) (THIS_ LPMSG lpmsg) IPURE;\
  190. STDMETHOD(OnFrameWindowActivate) (THIS_ BOOL fActivate) IPURE;\
  191. STDMETHOD(OnDocWindowActivate) (THIS_ BOOL fActivate) IPURE;\
  192. STDMETHOD(ResizeBorder) (THIS_ LPCRECT lprectBorder, LPOLEINPLACEUIWINDOW lpUIWindow, BOOL fFrameWindow) IPURE;\
  193. STDMETHOD(EnableModeless) (THIS_ BOOL fEnable) IPURE;\
  194. // Client Stuff....
  195. #define DeclareIOleContainerMembers(IPURE)\
  196. STDMETHOD(ParseDisplayName) (THIS_ LPBC pbc, LPOLESTR lpszDisplayName,\
  197. ULONG FAR* pchEaten, LPMONIKER FAR* ppmkOut) IPURE;\
  198. \
  199. STDMETHOD(EnumObjects) ( DWORD grfFlags, LPENUMUNKNOWN FAR* ppenumUnknown) IPURE;\
  200. STDMETHOD(LockContainer) (THIS_ BOOL fLock) IPURE;\
  201. #define DeclareIOleClientSiteMembers(IPURE)\
  202. STDMETHOD(SaveObject) (THIS) IPURE;\
  203. STDMETHOD(GetMoniker) (THIS_ DWORD dwAssign, DWORD dwWhichMoniker,\
  204. LPMONIKER FAR* ppmk) IPURE;\
  205. STDMETHOD(GetContainer) (THIS_ LPOLECONTAINER FAR* ppContainer) IPURE;\
  206. STDMETHOD(ShowObject) (THIS) IPURE;\
  207. STDMETHOD(OnShowWindow) (THIS_ BOOL fShow) IPURE;\
  208. STDMETHOD(RequestNewObjectLayout) (THIS) IPURE;\
  209. #define DeclareIOleInPlaceSiteMembers(IPURE)\
  210. STDMETHOD(GetWindow) (THIS_ HWND FAR* lphwnd) IPURE;\
  211. STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL fEnterMode) IPURE;\
  212. \
  213. STDMETHOD(CanInPlaceActivate) (THIS) IPURE;\
  214. STDMETHOD(OnInPlaceActivate) (THIS) IPURE;\
  215. STDMETHOD(OnUIActivate) (THIS) IPURE;\
  216. STDMETHOD(GetWindowContext) (THIS_ LPOLEINPLACEFRAME FAR *lplpFrame,\
  217. LPOLEINPLACEUIWINDOW FAR* lplpDoc,\
  218. LPRECT lprcPosRect,\
  219. LPRECT lprcClipRect,\
  220. LPOLEINPLACEFRAMEINFO lpFrameInfo) IPURE;\
  221. STDMETHOD(Scroll) (THIS_ SIZE scrollExtent) IPURE;\
  222. STDMETHOD(OnUIDeactivate) (THIS_ BOOL fUndoable) IPURE;\
  223. STDMETHOD(OnInPlaceDeactivate) (THIS) IPURE;\
  224. STDMETHOD(DiscardUndoState) (THIS) IPURE;\
  225. STDMETHOD(DeactivateAndUndo) (THIS) IPURE;\
  226. STDMETHOD(OnPosRectChange) (THIS_ LPCRECT lprcPosRect) IPURE;\
  227. #define DeclareIOleInPlaceUIWindowMembers(IPURE)\
  228. STDMETHOD(GetWindow) (THIS_ HWND FAR* lphwnd) IPURE;\
  229. STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL fEnterMode) IPURE;\
  230. STDMETHOD(GetBorder) (THIS_ LPRECT lprectBorder) IPURE;\
  231. STDMETHOD(RequestBorderSpace) (THIS_ LPCBORDERWIDTHS lpborderwidths) IPURE;\
  232. STDMETHOD(SetBorderSpace) (THIS_ LPCBORDERWIDTHS lpborderwidths) IPURE;\
  233. STDMETHOD(SetActiveObject) (THIS_ LPOLEINPLACEACTIVEOBJECT lpActiveObject,\
  234. LPCOLESTR lpszObjName) IPURE;\
  235. #define DeclareIOleInPlaceFrameMembers(IPURE)\
  236. STDMETHOD(GetWindow) (THIS_ HWND FAR* lphwnd) IPURE;\
  237. STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL fEnterMode) IPURE;\
  238. STDMETHOD(GetBorder) (THIS_ LPRECT lprectBorder) IPURE;\
  239. STDMETHOD(RequestBorderSpace) (THIS_ LPCBORDERWIDTHS lpborderwidths) IPURE;\
  240. STDMETHOD(SetBorderSpace) (THIS_ LPCBORDERWIDTHS lpborderwidths) IPURE;\
  241. STDMETHOD(SetActiveObject) (THIS_ LPOLEINPLACEACTIVEOBJECT lpActiveObject,\
  242. LPCOLESTR lpszObjName) IPURE;\
  243. STDMETHOD(InsertMenus) (THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) IPURE;\
  244. STDMETHOD(SetMenu) (THIS_ HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject) IPURE;\
  245. STDMETHOD(RemoveMenus) (THIS_ HMENU hmenuShared) IPURE;\
  246. STDMETHOD(SetStatusText) (THIS_ LPCOLESTR lpszStatusText) IPURE;\
  247. STDMETHOD(EnableModeless) (THIS_ BOOL fEnable) IPURE;\
  248. STDMETHOD(TranslateAccelerator) (THIS_ LPMSG lpmsg, WORD wID) IPURE;\
  249. #define DeclareIStreamMembers(IPURE)\
  250. STDMETHOD(Read) (THIS_ VOID HUGEP *pv, ULONG cb, ULONG FAR *pcbRead) IPURE;\
  251. STDMETHOD(Write) (THIS_ VOID const HUGEP *pv,ULONG cb,ULONG FAR *pcbWritten) IPURE;\
  252. STDMETHOD(Seek) (THIS_ LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER FAR *plibNewPosition) IPURE;\
  253. STDMETHOD(SetSize) (THIS_ ULARGE_INTEGER libNewSize) IPURE;\
  254. STDMETHOD(CopyTo) (THIS_ IStream FAR *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER FAR *pcbRead,ULARGE_INTEGER FAR *pcbWritten) IPURE;\
  255. STDMETHOD(Commit) (THIS_ DWORD grfCommitFlags) IPURE;\
  256. STDMETHOD(Revert) (THIS) IPURE;\
  257. STDMETHOD(LockRegion) (THIS_ ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) IPURE;\
  258. STDMETHOD(UnlockRegion) (THIS_ ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) IPURE;\
  259. STDMETHOD(Stat) (THIS_ STATSTG FAR *pstatstg, DWORD grfStatFlag) IPURE;\
  260. STDMETHOD(Clone)(THIS_ IStream FAR * FAR *ppstm) IPURE;\
  261. #define DeclareIStorageMembers(IPURE)\
  262. STDMETHOD(CreateStream) (THIS_ const OLECHAR FAR *pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream FAR * FAR *ppstm) IPURE; \
  263. STDMETHOD(OpenStream) (THIS_ const OLECHAR FAR *pwcsName, void FAR *reserved1, DWORD grfMode, DWORD reserved2, IStream FAR * FAR *ppstm) IPURE; \
  264. STDMETHOD(CreateStorage)(THIS_ const OLECHAR FAR *pwcsName, DWORD grfMode, DWORD dwStgFmt, DWORD reserved2, IStorage FAR * FAR *ppstg) IPURE; \
  265. STDMETHOD(OpenStorage) (THIS_ const OLECHAR FAR *pwcsName, IStorage FAR *pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage FAR * FAR *ppstg) IPURE;\
  266. STDMETHOD(CopyTo) (THIS_ DWORD ciidExclude, const IID FAR *rgiidExclude, SNB snbExclude, IStorage FAR *pstgDest) IPURE;\
  267. STDMETHOD(MoveElementTo)(THIS_ const OLECHAR FAR *pwcsName, IStorage FAR *pstgDest, const OLECHAR FAR *pwcsNewName, DWORD grfFlags) IPURE;\
  268. STDMETHOD(Commit) (THIS_ DWORD grfCommitFlags) IPURE;\
  269. STDMETHOD(Revert) (THIS_) IPURE;\
  270. STDMETHOD(EnumElements) (THIS_ DWORD reserved1, void FAR *reserved2, DWORD reserved3, IEnumSTATSTG FAR * FAR *ppenum) IPURE;\
  271. STDMETHOD(DestroyElement)(THIS_ const OLECHAR FAR *pwcsName) IPURE;\
  272. STDMETHOD(RenameElement)(THIS_ const OLECHAR FAR *pwcsOldName, const OLECHAR FAR *pwcsNewName) IPURE;\
  273. STDMETHOD(SetElementTimes)(THIS_ const OLECHAR FAR *pwcsName, const FILETIME FAR *pctime, const FILETIME FAR *patime, const FILETIME FAR *pmtime) IPURE;\
  274. STDMETHOD(SetClass) (THIS_ REFCLSID clsid) IPURE;\
  275. STDMETHOD(SetStateBits) (THIS_ DWORD grfStateBits, DWORD grfMask) IPURE;\
  276. STDMETHOD(Stat) (THIS_ STATSTG FAR *pstatstg, DWORD grfStatFlag) IPURE;\
  277. #define DeclareIClassFactoryMembers(IPURE) \
  278. STDMETHOD(CreateInstance)(THIS_ IUnknown *punkOuter, REFIID riid,\
  279. void **ppvObj) IPURE;\
  280. STDMETHOD(LockServer)(THIS_ BOOL fLock) IPURE;\
  281. // Moniker stuff....
  282. #define DeclareIMonikerMembers(IPURE)\
  283. STDMETHOD(GetClassID) (THIS_ LPCLSID lpClassID) IPURE;\
  284. STDMETHOD(IsDirty) (THIS) IPURE;\
  285. STDMETHOD(Load) (THIS_ LPSTREAM pStm) IPURE;\
  286. STDMETHOD(Save) (THIS_ LPSTREAM pStm,\
  287. BOOL fClearDirty) IPURE;\
  288. STDMETHOD(GetSizeMax) (THIS_ ULARGE_INTEGER FAR * pcbSize) IPURE;\
  289. STDMETHOD(BindToObject) (THIS_ LPBC pbc, LPMONIKER pmkToLeft,\
  290. REFIID riidResult, LPVOID FAR* ppvResult) IPURE;\
  291. STDMETHOD(BindToStorage) (THIS_ LPBC pbc, LPMONIKER pmkToLeft,\
  292. REFIID riid, LPVOID FAR* ppvObj) IPURE;\
  293. STDMETHOD(Reduce) (THIS_ LPBC pbc, DWORD dwReduceHowFar, LPMONIKER FAR*\
  294. ppmkToLeft, LPMONIKER FAR * ppmkReduced) IPURE;\
  295. STDMETHOD(ComposeWith) (THIS_ LPMONIKER pmkRight, BOOL fOnlyIfNotGeneric,\
  296. LPMONIKER FAR* ppmkComposite) IPURE;\
  297. STDMETHOD(Enum) (THIS_ BOOL fForward, LPENUMMONIKER FAR* ppenumMoniker)\
  298. IPURE;\
  299. STDMETHOD(IsEqual) (THIS_ LPMONIKER pmkOtherMoniker) IPURE;\
  300. STDMETHOD(Hash) (THIS_ LPDWORD pdwHash) IPURE;\
  301. STDMETHOD(IsRunning) (THIS_ LPBC pbc, LPMONIKER pmkToLeft, LPMONIKER\
  302. pmkNewlyRunning) IPURE;\
  303. STDMETHOD(GetTimeOfLastChange) (THIS_ LPBC pbc, LPMONIKER pmkToLeft,\
  304. FILETIME FAR* pfiletime) IPURE;\
  305. STDMETHOD(Inverse) (THIS_ LPMONIKER FAR* ppmk) IPURE;\
  306. STDMETHOD(CommonPrefixWith) (THIS_ LPMONIKER pmkOther, LPMONIKER FAR*\
  307. ppmkPrefix) IPURE;\
  308. STDMETHOD(RelativePathTo) (THIS_ LPMONIKER pmkOther, LPMONIKER FAR*\
  309. ppmkRelPath) IPURE;\
  310. STDMETHOD(GetDisplayName) (THIS_ LPBC pbc, LPMONIKER pmkToLeft,\
  311. LPOLESTR FAR* lplpszDisplayName) IPURE;\
  312. STDMETHOD(ParseDisplayName) (THIS_ LPBC pbc, LPMONIKER pmkToLeft,\
  313. LPOLESTR lpszDisplayName, ULONG FAR* pchEaten,\
  314. LPMONIKER FAR* ppmkOut) IPURE;\
  315. STDMETHOD(IsSystemMoniker) (THIS_ LPDWORD pdwMksys) IPURE;\
  316. #define DeclareILockBytesMembers(IPURE)\
  317. STDMETHOD(ReadAt) (THIS_ ULARGE_INTEGER ulOffset, VOID HUGEP *pv,\
  318. ULONG cb, ULONG *pcbRead) IPURE;\
  319. STDMETHOD(WriteAt) (THIS_ ULARGE_INTEGER ulOffset, VOID const HUGEP *pv,\
  320. ULONG cb, ULONG *pcbWritten) IPURE;\
  321. STDMETHOD(Flush) (THIS) IPURE;\
  322. STDMETHOD(SetSize) (THIS_ ULARGE_INTEGER cb) IPURE;\
  323. STDMETHOD(LockRegion) (THIS_ ULARGE_INTEGER libOffset,\
  324. ULARGE_INTEGER cb, DWORD dwLockType) IPURE;\
  325. STDMETHOD(UnlockRegion) (THIS_ ULARGE_INTEGER libOffset,\
  326. ULARGE_INTEGER cb, DWORD dwLockType) IPURE;\
  327. STDMETHOD(Stat) (THIS_ STATSTG *pstatstg, DWORD grfStatFlag) IPURE;\
  328. #define DeclareIAdviseSinkMembers(IPURE) \
  329. STDMETHOD_(void,OnDataChange) (THIS_ FORMATETC FAR* pFormatetc, \
  330. STGMEDIUM FAR* pmedium) IPURE; \
  331. STDMETHOD_(void,OnViewChange) (THIS_ DWORD dwAspect, \
  332. LONG lindex) IPURE; \
  333. STDMETHOD_(void,OnRename) (THIS_ LPMONIKER pmk) IPURE; \
  334. STDMETHOD_(void,OnSave) (THIS) IPURE; \
  335. STDMETHOD_(void,OnClose) (THIS) IPURE; \
  336. #define DeclareIOleControlMembers(IPURE) \
  337. STDMETHOD(GetControlInfo)(THIS_ LPCONTROLINFO pCL) IPURE; \
  338. STDMETHOD(OnMnemonic)(THIS_ LPMSG pMsg) IPURE; \
  339. STDMETHOD(OnAmbientPropertyChange)(THIS_ DISPID dispid) IPURE; \
  340. STDMETHOD(FreezeEvents)(THIS_ BOOL fFreeze) IPURE; \
  341. #define DeclareIOleCacheMembers(IPURE) \
  342. STDMETHOD(Cache)(THIS_ FORMATETC *, DWORD, DWORD *) IPURE; \
  343. STDMETHOD(Uncache)(THIS_ DWORD) IPURE; \
  344. STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA **) IPURE; \
  345. STDMETHOD(InitCache)(THIS_ IDataObject *) IPURE; \
  346. STDMETHOD(SetData)(THIS_ FORMATETC *, STGMEDIUM *, BOOL) IPURE; \
  347. #define DeclareIExternalConnectionMembers(IPURE) \
  348. STDMETHOD_(DWORD,AddConnection) (THIS_ DWORD, DWORD) IPURE; \
  349. STDMETHOD_(DWORD,ReleaseConnection) (THIS_ DWORD, DWORD, BOOL) IPURE; \
  350. #define DeclareIMAPIViewAdviseSinkMembers(IPURE) \
  351. STDMETHOD(OnShutdown)(THIS) IPURE; \
  352. STDMETHOD(OnNewMessage)(THIS) IPURE; \
  353. STDMETHOD(OnPrint)(THIS_ ULONG dwPageNumber, HRESULT hrStatus) IPURE; \
  354. STDMETHOD(OnSubmitted)(THIS) IPURE; \
  355. STDMETHOD(OnSaved)(THIS) IPURE; \
  356. #endif /* _OLEINT_H */