home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 April / Chip_1997-04_cd.bin / prezent / cb / data.z / OLE2.HPP < prev    next >
C/C++ Source or Header  |  1997-01-16  |  59KB  |  1,619 lines

  1. //----------------------------------------------------------------------------
  2. // OLE2.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: OLE2.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef OLE2HPP
  6. #define OLE2HPP
  7. #ifndef WindowsHPP
  8. #include <windows.hpp>
  9. #endif
  10. #include <ole2.h>
  11. #include <oleauto.h>
  12. #include <olectl.h>
  13. #include <oledlg.h>
  14. #define OLE2HPP
  15. //----------------------------------------------------------------------------
  16. #include <Windows.hpp>
  17. #include <System.hpp>
  18. #pragma warn -par
  19. #pragma warn -hid 
  20. #pragma warn -inl
  21.  
  22. namespace Ole2
  23. {
  24. //-- type declarations -------------------------------------------------------
  25. typedef long HResult;
  26.  
  27. typedef long TResultList[65536];
  28.  
  29. typedef TResultList *PResultList;
  30.  
  31. typedef wchar_t TOleChar;
  32.  
  33. typedef wchar_t *POleStr;
  34.  
  35. typedef wchar_t *TOleStrList[65536];
  36.  
  37. typedef TOleStrList *POleStrList;
  38.  
  39. typedef System::Comp Largeint;
  40.  
  41. typedef _GUID *PGUID;
  42.  
  43. typedef _GUID  TGUID;
  44.  
  45. typedef _GUID *PIID;
  46.  
  47. typedef _GUID  TIID;
  48.  
  49. typedef _GUID *PCLSID;
  50.  
  51. typedef _GUID  TCLSID;
  52.  
  53. typedef _OBJECTID *PObjectID;
  54.  
  55. typedef _OBJECTID  TObjectID;
  56.  
  57. typedef long TLCID;
  58.  
  59. class __declspec(delphiclass) IUnknown;
  60. class __declspec(pascalimplementation) IUnknown : public System::TObject
  61. {
  62.     typedef System::TObject inherited;
  63.     
  64. public:
  65.     virtual long __stdcall QueryInterface(const GUID &iid, void *obj) = 0;
  66.     virtual long __stdcall AddRef(void) = 0;
  67.     virtual long __stdcall Release(void) = 0;
  68. public:
  69.     /* TObject.Create */ __fastcall IUnknown(void) : System::TObject() { }
  70.     /* TObject.Destroy */ __fastcall virtual ~IUnknown(void) { }
  71.     
  72. };
  73.  
  74. class __declspec(delphiclass) IClassFactory;
  75. class __declspec(pascalimplementation) IClassFactory : public IUnknown
  76. {
  77.     typedef IUnknown inherited;
  78.     
  79. public:
  80.     virtual long __stdcall CreateInstance(IUnknown* unkOuter, const GUID &iid, void *obj) = 0;
  81.     virtual long __stdcall LockServer(DWord fLock) = 0;
  82. public:
  83.     /* TObject.Create */ __fastcall IClassFactory(void) : Ole2::IUnknown() { }
  84.     /* TObject.Destroy */ __fastcall virtual ~IClassFactory(void) { }
  85.     
  86. };
  87.  
  88. class __declspec(delphiclass) IMarshal;
  89. class __declspec(delphiclass) IStream;
  90. class __declspec(pascalimplementation) IMarshal : public IUnknown
  91. {
  92.     typedef IUnknown inherited;
  93.     
  94. public:
  95.     virtual long __stdcall GetUnmarshalClass(const GUID &iid, void * pv, long dwDestContext, void * pvDestContext
  96.         , long mshlflags, GUID &cid) = 0;
  97.     virtual long __stdcall GetMarshalSizeMax(const GUID &iid, void * pv, long dwDestContext, void * pvDestContext
  98.         , long mshlflags, long &size) = 0;
  99.     virtual long __stdcall MarshalInterface(IStream* stm, const GUID &iid, void * pv, long dwDestContext
  100.         , void * pvDestContext, long mshlflags) = 0;
  101.     virtual long __stdcall UnmarshalInterface(IStream* stm, const GUID &iid, void *pv) = 0;
  102.     virtual long __stdcall ReleaseMarshalData(IStream* stm) = 0;
  103.     virtual long __stdcall DisconnectObject(long dwReserved) = 0;
  104. public:
  105.     /* TObject.Create */ __fastcall IMarshal(void) : Ole2::IUnknown() { }
  106.     /* TObject.Destroy */ __fastcall virtual ~IMarshal(void) { }
  107.     
  108. };
  109.  
  110. class __declspec(delphiclass) IMalloc;
  111. class __declspec(pascalimplementation) IMalloc : public IUnknown
  112. {
  113.     typedef IUnknown inherited;
  114.     
  115. public:
  116.     virtual void * __stdcall Alloc(long cb) = 0;
  117.     virtual void * __stdcall Realloc(void * pv, long cb) = 0;
  118.     HIDESBASE virtual void __stdcall Free(void * pv) = 0;
  119.     virtual long __stdcall GetSize(void * pv) = 0;
  120.     virtual int __stdcall DidAlloc(void * pv) = 0;
  121.     virtual void __stdcall HeapMinimize(void) = 0;
  122. public:
  123.     /* TObject.Create */ __fastcall IMalloc(void) : Ole2::IUnknown() { }
  124.     /* TObject.Destroy */ __fastcall virtual ~IMalloc(void) { }
  125.     
  126. };
  127.  
  128. class __declspec(delphiclass) IMallocSpy;
  129. class __declspec(pascalimplementation) IMallocSpy : public IUnknown
  130. {
  131.     typedef IUnknown inherited;
  132.     
  133. public:
  134.     virtual long __stdcall PreAlloc(long cbRequest) = 0;
  135.     virtual void * __stdcall PostAlloc(void * pActual) = 0;
  136.     virtual void * __stdcall PreFree(void * pRequest, DWord fSpyed) = 0;
  137.     virtual void __stdcall PostFree(DWord fSpyed) = 0;
  138.     virtual long __stdcall PreRealloc(void * pRequest, long cbRequest, void * &ppNewRequest, DWord fSpyed
  139.         ) = 0;
  140.     virtual void * __stdcall PostRealloc(void * pActual, DWord fSpyed) = 0;
  141.     virtual void * __stdcall PreGetSize(void * pRequest, DWord fSpyed) = 0;
  142.     virtual long __stdcall PostGetSize(void * pActual, DWord fSpyed) = 0;
  143.     virtual int __stdcall PostDidAlloc(void * pRequest, DWord fSpyed, int fActual) = 0;
  144.     virtual void __stdcall PreHeapMinimize(void) = 0;
  145.     virtual void __stdcall PostHeapMinimize(void) = 0;
  146. public:
  147.     /* TObject.Create */ __fastcall IMallocSpy(void) : Ole2::IUnknown() { }
  148.     /* TObject.Destroy */ __fastcall virtual ~IMallocSpy(void) { }
  149.     
  150. };
  151.  
  152. class __declspec(delphiclass) IStdMarshalInfo;
  153. class __declspec(pascalimplementation) IStdMarshalInfo : public IUnknown
  154. {
  155.     typedef IUnknown inherited;
  156.     
  157. public:
  158.     virtual long __stdcall GetClassForHandler(long dwDestContext, void * pvDestContext, GUID &clsid) = 0
  159.         ;
  160. public:
  161.     /* TObject.Create */ __fastcall IStdMarshalInfo(void) : Ole2::IUnknown() { }
  162.     /* TObject.Destroy */ __fastcall virtual ~IStdMarshalInfo(void) { }
  163.     
  164. };
  165.  
  166. class __declspec(delphiclass) IExternalConnection;
  167. class __declspec(pascalimplementation) IExternalConnection : public IUnknown
  168. {
  169.     typedef IUnknown inherited;
  170.     
  171. public:
  172.     virtual long __stdcall AddConnection(long extconn, long reserved) = 0;
  173.     virtual long __stdcall ReleaseConnection(long extconn, long reserved, DWord fLastReleaseCloses) = 0
  174.         ;
  175. public:
  176.     /* TObject.Create */ __fastcall IExternalConnection(void) : Ole2::IUnknown() { }
  177.     /* TObject.Destroy */ __fastcall virtual ~IExternalConnection(void) { }
  178.     
  179. };
  180.  
  181. class __declspec(delphiclass) IWeakRef;
  182. class __declspec(pascalimplementation) IWeakRef : public IUnknown
  183. {
  184.     typedef IUnknown inherited;
  185.     
  186. public:
  187.     virtual long __stdcall ChangeWeakCount(long delta) = 0;
  188.     virtual long __stdcall ReleaseKeepAlive(IUnknown* unkReleased, long reserved) = 0;
  189. public:
  190.     /* TObject.Create */ __fastcall IWeakRef(void) : Ole2::IUnknown() { }
  191.     /* TObject.Destroy */ __fastcall virtual ~IWeakRef(void) { }
  192.     
  193. };
  194.  
  195. class __declspec(delphiclass) IEnumUnknown;
  196. class __declspec(pascalimplementation) IEnumUnknown : public IUnknown
  197. {
  198.     typedef IUnknown inherited;
  199.     
  200. public:
  201.     virtual long __stdcall Next(long celt, void *elt, Windows::PLongint pceltFetched) = 0;
  202.     virtual long __stdcall Skip(long celt) = 0;
  203.     virtual long __stdcall Reset(void) = 0;
  204.     virtual long __stdcall Clone(IEnumUnknown* &enm) = 0;
  205. public:
  206.     /* TObject.Create */ __fastcall IEnumUnknown(void) : Ole2::IUnknown() { }
  207.     /* TObject.Destroy */ __fastcall virtual ~IEnumUnknown(void) { }
  208.     
  209. };
  210.  
  211. typedef tagBIND_OPTS *PBindOpts;
  212.  
  213. typedef tagBIND_OPTS  TBindOpts;
  214.  
  215. class __declspec(delphiclass) IBindCtx;
  216. class __declspec(delphiclass) IRunningObjectTable;
  217. class __declspec(delphiclass) IEnumString;
  218. class __declspec(pascalimplementation) IBindCtx : public IUnknown
  219. {
  220.     typedef IUnknown inherited;
  221.     
  222. public:
  223.     virtual long __stdcall RegisterObjectBound(IUnknown* unk) = 0;
  224.     virtual long __stdcall RevokeObjectBound(IUnknown* unk) = 0;
  225.     virtual long __stdcall ReleaseBoundObjects(void) = 0;
  226.     virtual long __stdcall SetBindOptions(BIND_OPTS &bindopts) = 0;
  227.     virtual long __stdcall GetBindOptions(BIND_OPTS &bindopts) = 0;
  228.     virtual long __stdcall GetRunningObjectTable(IRunningObjectTable* &rot) = 0;
  229.     virtual long __stdcall RegisterObjectParam(wchar_t * pszKey, IUnknown* unk) = 0;
  230.     virtual long __stdcall GetObjectParam(wchar_t * pszKey, IUnknown* &unk) = 0;
  231.     virtual long __stdcall EnumObjectParam(IEnumString* &Enum) = 0;
  232.     virtual long __stdcall RevokeObjectParam(wchar_t * pszKey) = 0;
  233. public:
  234.     /* TObject.Create */ __fastcall IBindCtx(void) : Ole2::IUnknown() { }
  235.     /* TObject.Destroy */ __fastcall virtual ~IBindCtx(void) { }
  236.     
  237. };
  238.  
  239. class __declspec(delphiclass) IEnumMoniker;
  240. class __declspec(pascalimplementation) IEnumMoniker : public IUnknown
  241. {
  242.     typedef IUnknown inherited;
  243.     
  244. public:
  245.     virtual long __stdcall Next(long celt, void *elt, Windows::PLongint pceltFetched) = 0;
  246.     virtual long __stdcall Skip(long celt) = 0;
  247.     virtual long __stdcall Reset(void) = 0;
  248.     virtual long __stdcall Clone(IEnumMoniker* &enm) = 0;
  249. public:
  250.     /* TObject.Create */ __fastcall IEnumMoniker(void) : Ole2::IUnknown() { }
  251.     /* TObject.Destroy */ __fastcall virtual ~IEnumMoniker(void) { }
  252.     
  253. };
  254.  
  255. class __declspec(delphiclass) IRunnableObject;
  256. class __declspec(pascalimplementation) IRunnableObject : public IUnknown
  257. {
  258.     typedef IUnknown inherited;
  259.     
  260. public:
  261.     virtual long __stdcall GetRunningClass(GUID &clsid) = 0;
  262.     virtual long __stdcall Run(IBindCtx* bc) = 0;
  263.     virtual DWord __stdcall IsRunning(void) = 0;
  264.     virtual long __stdcall LockRunning(DWord fLock, DWord fLastUnlockCloses) = 0;
  265.     virtual long __stdcall SetContainedObject(DWord fContained) = 0;
  266. public:
  267.     /* TObject.Create */ __fastcall IRunnableObject(void) : Ole2::IUnknown() { }
  268.     /* TObject.Destroy */ __fastcall virtual ~IRunnableObject(void) { }
  269.     
  270. };
  271.  
  272. class __declspec(delphiclass) IMoniker;
  273. class __declspec(pascalimplementation) IRunningObjectTable : public IUnknown
  274. {
  275.     typedef IUnknown inherited;
  276.     
  277. public:
  278.     virtual long __stdcall Register(long grfFlags, IUnknown* &unkObject, IMoniker* mkObjectName, long &
  279.         dwRegister) = 0;
  280.     virtual long __stdcall Revoke(long dwRegister) = 0;
  281.     virtual long __stdcall IsRunning(IMoniker* mkObjectName) = 0;
  282.     virtual long __stdcall GetObject(IMoniker* mkObjectName, IUnknown* &unkObject) = 0;
  283.     virtual long __stdcall NoteChangeTime(long dwRegister, FILETIME &filetime) = 0;
  284.     virtual long __stdcall GetTimeOfLastChange(IMoniker* mkObjectName, FILETIME &filetime) = 0;
  285.     virtual long __stdcall EnumRunning(IEnumMoniker* &enumMoniker) = 0;
  286. public:
  287.     /* TObject.Create */ __fastcall IRunningObjectTable(void) : Ole2::IUnknown() { }
  288.     /* TObject.Destroy */ __fastcall virtual ~IRunningObjectTable(void) { }
  289.     
  290. };
  291.  
  292. class __declspec(delphiclass) IPersist;
  293. class __declspec(pascalimplementation) IPersist : public IUnknown
  294. {
  295.     typedef IUnknown inherited;
  296.     
  297. public:
  298.     virtual long __stdcall GetClassID(GUID &classID) = 0;
  299. public:
  300.     /* TObject.Create */ __fastcall IPersist(void) : Ole2::IUnknown() { }
  301.     /* TObject.Destroy */ __fastcall virtual ~IPersist(void) { }
  302.     
  303. };
  304.  
  305. class __declspec(delphiclass) IPersistStream;
  306. class __declspec(pascalimplementation) IPersistStream : public IPersist
  307. {
  308.     typedef IPersist inherited;
  309.     
  310. public:
  311.     virtual long __stdcall IsDirty(void) = 0;
  312.     virtual long __stdcall Load(IStream* stm) = 0;
  313.     virtual long __stdcall Save(IStream* stm, DWord fClearDirty) = 0;
  314.     virtual long __stdcall GetSizeMax(System::Comp &cbSize) = 0;
  315. public:
  316.     /* TObject.Create */ __fastcall IPersistStream(void) : Ole2::IPersist() { }
  317.     /* TObject.Destroy */ __fastcall virtual ~IPersistStream(void) { }
  318.     
  319. };
  320.  
  321. class __declspec(pascalimplementation) IMoniker : public IPersistStream
  322. {
  323.     typedef IPersistStream inherited;
  324.     
  325. public:
  326.     virtual long __stdcall BindToObject(IBindCtx* bc, IMoniker* mkToLeft, const GUID &iidResult, void 
  327.         *vResult) = 0;
  328.     virtual long __stdcall BindToStorage(IBindCtx* bc, IMoniker* mkToLeft, const GUID &iid, void *vObj
  329.         ) = 0;
  330.     virtual long __stdcall Reduce(IBindCtx* bc, long dwReduceHowFar, IMoniker* &mkToLeft, IMoniker* &mkReduced
  331.         ) = 0;
  332.     virtual long __stdcall ComposeWith(IMoniker* mkRight, DWord fOnlyIfNotGeneric, IMoniker* &mkComposite
  333.         ) = 0;
  334.     virtual long __stdcall Enum(DWord fForward, IEnumMoniker* &enumMoniker) = 0;
  335.     virtual long __stdcall IsEqual(IMoniker* mkOtherMoniker) = 0;
  336.     virtual long __stdcall Hash(long &dwHash) = 0;
  337.     virtual long __stdcall IsRunning(IBindCtx* bc, IMoniker* mkToLeft, IMoniker* mkNewlyRunning) = 0;
  338.     virtual long __stdcall GetTimeOfLastChange(IBindCtx* bc, IMoniker* mkToLeft, FILETIME &filetime) = 0
  339.         ;
  340.     virtual long __stdcall Inverse(IMoniker* &mk) = 0;
  341.     virtual long __stdcall CommonPrefixWith(IMoniker* mkOther, IMoniker* &mkPrefix) = 0;
  342.     virtual long __stdcall RelativePathTo(IMoniker* mkOther, IMoniker* &mkRelPath) = 0;
  343.     virtual long __stdcall GetDisplayName(IBindCtx* bc, IMoniker* mkToLeft, wchar_t * &pszDisplayName) = 0
  344.         ;
  345.     virtual long __stdcall ParseDisplayName(IBindCtx* bc, IMoniker* mkToLeft, wchar_t * pszDisplayName, 
  346.         long &chEaten, IMoniker* &mkOut) = 0;
  347.     virtual long __stdcall IsSystemMoniker(long &dwMksys) = 0;
  348. public:
  349.     /* TObject.Create */ __fastcall IMoniker(void) : Ole2::IPersistStream() { }
  350.     /* TObject.Destroy */ __fastcall virtual ~IMoniker(void) { }
  351.     
  352. };
  353.  
  354. class __declspec(pascalimplementation) IEnumString : public IUnknown
  355. {
  356.     typedef IUnknown inherited;
  357.     
  358. public:
  359.     virtual long __stdcall Next(long celt, void *elt, Windows::PLongint pceltFetched) = 0;
  360.     virtual long __stdcall Skip(long celt) = 0;
  361.     virtual long __stdcall Reset(void) = 0;
  362.     virtual long __stdcall Clone(IEnumString* &enm) = 0;
  363. public:
  364.     /* TObject.Create */ __fastcall IEnumString(void) : Ole2::IUnknown() { }
  365.     /* TObject.Destroy */ __fastcall virtual ~IEnumString(void) { }
  366.     
  367. };
  368.  
  369. typedef tagSTATSTG *PStatStg;
  370.  
  371. typedef tagSTATSTG  TStatStg;
  372.  
  373. class __declspec(pascalimplementation) IStream : public IUnknown
  374. {
  375.     typedef IUnknown inherited;
  376.     
  377. public:
  378.     virtual long __stdcall Read(void * pv, long cb, Windows::PLongint pcbRead) = 0;
  379.     virtual long __stdcall Write(void * pv, long cb, Windows::PLongint pcbWritten) = 0;
  380.     virtual long __stdcall Seek(System::Comp dlibMove, long dwOrigin, System::Comp &libNewPosition) = 0
  381.         ;
  382.     virtual long __stdcall SetSize(System::Comp libNewSize) = 0;
  383.     virtual long __stdcall CopyTo(IStream* stm, System::Comp cb, System::Comp &cbRead, System::Comp &cbWritten
  384.         ) = 0;
  385.     virtual long __stdcall Commit(long grfCommitFlags) = 0;
  386.     virtual long __stdcall Revert(void) = 0;
  387.     virtual long __stdcall LockRegion(System::Comp libOffset, System::Comp cb, long dwLockType) = 0;
  388.     virtual long __stdcall UnlockRegion(System::Comp libOffset, System::Comp cb, long dwLockType) = 0;
  389.     virtual long __stdcall Stat(STATSTG &statstg, long grfStatFlag) = 0;
  390.     virtual long __stdcall Clone(IStream* &stm) = 0;
  391. public:
  392.     /* TObject.Create */ __fastcall IStream(void) : Ole2::IUnknown() { }
  393.     /* TObject.Destroy */ __fastcall virtual ~IStream(void) { }
  394.     
  395. };
  396.  
  397. class __declspec(delphiclass) IEnumStatStg;
  398. class __declspec(pascalimplementation) IEnumStatStg : public IUnknown
  399. {
  400.     typedef IUnknown inherited;
  401.     
  402. public:
  403.     virtual long __stdcall Next(long celt, void *elt, Windows::PLongint pceltFetched) = 0;
  404.     virtual long __stdcall Skip(long celt) = 0;
  405.     virtual long __stdcall Reset(void) = 0;
  406.     virtual long __stdcall Clone(IEnumStatStg* &enm) = 0;
  407. public:
  408.     /* TObject.Create */ __fastcall IEnumStatStg(void) : Ole2::IUnknown() { }
  409.     /* TObject.Destroy */ __fastcall virtual ~IEnumStatStg(void) { }
  410.     
  411. };
  412.  
  413. typedef wchar_t * *TSNB;
  414.  
  415. class __declspec(delphiclass) IStorage;
  416. class __declspec(pascalimplementation) IStorage : public IUnknown
  417. {
  418.     typedef IUnknown inherited;
  419.     
  420. public:
  421.     virtual long __stdcall CreateStream(wchar_t * pwcsName, long grfMode, long reserved1, long reserved2
  422.         , IStream* &stm) = 0;
  423.     virtual long __stdcall OpenStream(wchar_t * pwcsName, void * reserved1, long grfMode, long reserved2
  424.         , IStream* &stm) = 0;
  425.     virtual long __stdcall CreateStorage(wchar_t * pwcsName, long grfMode, long dwStgFmt, long reserved2
  426.         , IStorage* &stg) = 0;
  427.     virtual long __stdcall OpenStorage(wchar_t * pwcsName, IStorage* stgPriority, long grfMode, TSNB snbExclude
  428.         , long reserved, IStorage* &stg) = 0;
  429.     virtual long __stdcall CopyTo(long ciidExclude, PGUID rgiidExclude, TSNB snbExclude, IStorage* stgDest
  430.         ) = 0;
  431.     virtual long __stdcall MoveElementTo(wchar_t * pwcsName, IStorage* stgDest, wchar_t * pwcsNewName, 
  432.         long grfFlags) = 0;
  433.     virtual long __stdcall Commit(long grfCommitFlags) = 0;
  434.     virtual long __stdcall Revert(void) = 0;
  435.     virtual long __stdcall EnumElements(long reserved1, void * reserved2, long reserved3, IEnumStatStg* 
  436.         &enm) = 0;
  437.     virtual long __stdcall DestroyElement(wchar_t * pwcsName) = 0;
  438.     virtual long __stdcall RenameElement(wchar_t * pwcsOldName, wchar_t * pwcsNewName) = 0;
  439.     virtual long __stdcall SetElementTimes(wchar_t * pwcsName, const FILETIME &ctime, const FILETIME 
  440.         &atime, const FILETIME &mtime) = 0;
  441.     virtual long __stdcall SetClass(const GUID &clsid) = 0;
  442.     virtual long __stdcall SetStateBits(long grfStateBits, long grfMask) = 0;
  443.     virtual long __stdcall Stat(STATSTG &statstg, long grfStatFlag) = 0;
  444. public:
  445.     /* TObject.Create */ __fastcall IStorage(void) : Ole2::IUnknown() { }
  446.     /* TObject.Destroy */ __fastcall virtual ~IStorage(void) { }
  447.     
  448. };
  449.  
  450. class __declspec(delphiclass) IPersistFile;
  451. class __declspec(pascalimplementation) IPersistFile : public IPersist
  452. {
  453.     typedef IPersist inherited;
  454.     
  455. public:
  456.     virtual long __stdcall IsDirty(void) = 0;
  457.     virtual long __stdcall Load(wchar_t * pszFileName, long dwMode) = 0;
  458.     virtual long __stdcall Save(wchar_t * pszFileName, DWord fRemember) = 0;
  459.     virtual long __stdcall SaveCompleted(wchar_t * pszFileName) = 0;
  460.     virtual long __stdcall GetCurFile(wchar_t * &pszFileName) = 0;
  461. public:
  462.     /* TObject.Create */ __fastcall IPersistFile(void) : Ole2::IPersist() { }
  463.     /* TObject.Destroy */ __fastcall virtual ~IPersistFile(void) { }
  464.     
  465. };
  466.  
  467. class __declspec(delphiclass) IPersistStorage;
  468. class __declspec(pascalimplementation) IPersistStorage : public IPersist
  469. {
  470.     typedef IPersist inherited;
  471.     
  472. public:
  473.     virtual long __stdcall IsDirty(void) = 0;
  474.     virtual long __stdcall InitNew(IStorage* stg) = 0;
  475.     virtual long __stdcall Load(IStorage* stg) = 0;
  476.     virtual long __stdcall Save(IStorage* stgSave, DWord fSameAsLoad) = 0;
  477.     virtual long __stdcall SaveCompleted(IStorage* stgNew) = 0;
  478.     virtual long __stdcall HandsOffStorage(void) = 0;
  479. public:
  480.     /* TObject.Create */ __fastcall IPersistStorage(void) : Ole2::IPersist() { }
  481.     /* TObject.Destroy */ __fastcall virtual ~IPersistStorage(void) { }
  482.     
  483. };
  484.  
  485. class __declspec(delphiclass) ILockBytes;
  486. class __declspec(pascalimplementation) ILockBytes : public IUnknown
  487. {
  488.     typedef IUnknown inherited;
  489.     
  490. public:
  491.     virtual long __stdcall ReadAt(System::Comp ulOffset, void * pv, long cb, Windows::PLongint pcbRead)
  492.          = 0;
  493.     virtual long __stdcall WriteAt(System::Comp ulOffset, void * pv, long cb, Windows::PLongint pcbWritten
  494.         ) = 0;
  495.     virtual long __stdcall Flush(void) = 0;
  496.     virtual long __stdcall SetSize(System::Comp cb) = 0;
  497.     virtual long __stdcall LockRegion(System::Comp libOffset, System::Comp cb, long dwLockType) = 0;
  498.     virtual long __stdcall UnlockRegion(System::Comp libOffset, System::Comp cb, long dwLockType) = 0;
  499.     virtual long __stdcall Stat(STATSTG &statstg, long grfStatFlag) = 0;
  500. public:
  501.     /* TObject.Create */ __fastcall ILockBytes(void) : Ole2::IUnknown() { }
  502.     /* TObject.Destroy */ __fastcall virtual ~ILockBytes(void) { }
  503.     
  504. };
  505.  
  506. typedef tagDVTARGETDEVICE *PDVTargetDevice;
  507.  
  508. #pragma pack(push, 1)
  509. struct OLE2_42
  510. {
  511.     
  512. } ;
  513. #pragma pack(pop)
  514.  
  515.  
  516. typedef tagDVTARGETDEVICE  TDVTargetDevice;
  517.  
  518. typedef Word *PClipFormat;
  519.  
  520. typedef Word TClipFormat;
  521.  
  522. typedef tagFORMATETC *PFormatEtc;
  523.  
  524. typedef tagFORMATETC  TFormatEtc;
  525.  
  526. class __declspec(delphiclass) IEnumFormatEtc;
  527. class __declspec(pascalimplementation) IEnumFormatEtc : public IUnknown
  528. {
  529.     typedef IUnknown inherited;
  530.     
  531. public:
  532.     virtual long __stdcall Next(long celt, void *elt, Windows::PLongint pceltFetched) = 0;
  533.     virtual long __stdcall Skip(long celt) = 0;
  534.     virtual long __stdcall Reset(void) = 0;
  535.     virtual long __stdcall Clone(IEnumFormatEtc* &Enum) = 0;
  536. public:
  537.     /* TObject.Create */ __fastcall IEnumFormatEtc(void) : Ole2::IUnknown() { }
  538.     /* TObject.Destroy */ __fastcall virtual ~IEnumFormatEtc(void) { }
  539.     
  540. };
  541.  
  542. typedef tagSTATDATA *PStatData;
  543.  
  544. class __declspec(delphiclass) IAdviseSink;
  545. class __declspec(pascalimplementation) IAdviseSink : public IUnknown
  546. {
  547.     typedef IUnknown inherited;
  548.     
  549. public:
  550.     virtual void __stdcall OnDataChange(FORMATETC &formatetc, STGMEDIUM &stgmed) = 0;
  551.     virtual void __stdcall OnViewChange(long dwAspect, long lindex) = 0;
  552.     virtual void __stdcall OnRename(IMoniker* mk) = 0;
  553.     virtual void __stdcall OnSave(void) = 0;
  554.     virtual void __stdcall OnClose(void) = 0;
  555. public:
  556.     /* TObject.Create */ __fastcall IAdviseSink(void) : Ole2::IUnknown() { }
  557.     /* TObject.Destroy */ __fastcall virtual ~IAdviseSink(void) { }
  558.     
  559. };
  560.  
  561. typedef tagSTATDATA  TStatData;
  562.  
  563. class __declspec(delphiclass) IEnumStatData;
  564. class __declspec(pascalimplementation) IEnumStatData : public IUnknown
  565. {
  566.     typedef IUnknown inherited;
  567.     
  568. public:
  569.     virtual long __stdcall Next(long celt, void *elt, Windows::PLongint pceltFetched) = 0;
  570.     virtual long __stdcall Skip(long celt) = 0;
  571.     virtual long __stdcall Reset(void) = 0;
  572.     virtual long __stdcall Clone(IEnumStatData* &Enum) = 0;
  573. public:
  574.     /* TObject.Create */ __fastcall IEnumStatData(void) : Ole2::IUnknown() { }
  575.     /* TObject.Destroy */ __fastcall virtual ~IEnumStatData(void) { }
  576.     
  577. };
  578.  
  579. class __declspec(delphiclass) IRootStorage;
  580. class __declspec(pascalimplementation) IRootStorage : public IUnknown
  581. {
  582.     typedef IUnknown inherited;
  583.     
  584. public:
  585.     virtual long __stdcall SwitchToFile(wchar_t * pszFile) = 0;
  586. public:
  587.     /* TObject.Create */ __fastcall IRootStorage(void) : Ole2::IUnknown() { }
  588.     /* TObject.Destroy */ __fastcall virtual ~IRootStorage(void) { }
  589.     
  590. };
  591.  
  592. typedef tagRemSTGMEDIUM *PRemStgMedium;
  593.  
  594. #pragma pack(push, 1)
  595. struct OLE2_82
  596. {
  597.     
  598. } ;
  599. #pragma pack(pop)
  600.  
  601.  
  602. typedef tagRemSTGMEDIUM  TRemStgMedium;
  603.  
  604. typedef tagSTGMEDIUM *PStgMedium;
  605.  
  606. typedef tagSTGMEDIUM  TStgMedium;
  607.  
  608. class __declspec(delphiclass) IAdviseSink2;
  609. class __declspec(pascalimplementation) IAdviseSink2 : public IAdviseSink
  610. {
  611.     typedef IAdviseSink inherited;
  612.     
  613. public:
  614.     virtual void __stdcall OnLinkSrcChange(IMoniker* mk) = 0;
  615. public:
  616.     /* TObject.Create */ __fastcall IAdviseSink2(void) : Ole2::IAdviseSink() { }
  617.     /* TObject.Destroy */ __fastcall virtual ~IAdviseSink2(void) { }
  618.     
  619. };
  620.  
  621. class __declspec(delphiclass) IDataObject;
  622. class __declspec(pascalimplementation) IDataObject : public IUnknown
  623. {
  624.     typedef IUnknown inherited;
  625.     
  626. public:
  627.     virtual long __stdcall GetData(FORMATETC &formatetcIn, STGMEDIUM &medium) = 0;
  628.     virtual long __stdcall GetDataHere(FORMATETC &formatetc, STGMEDIUM &medium) = 0;
  629.     virtual long __stdcall QueryGetData(FORMATETC &formatetc) = 0;
  630.     virtual long __stdcall GetCanonicalFormatEtc(FORMATETC &formatetc, FORMATETC &formatetcOut) = 0
  631.         ;
  632.     virtual long __stdcall SetData(FORMATETC &formatetc, STGMEDIUM &medium, DWord fRelease) = 0;
  633.     virtual long __stdcall EnumFormatEtc(long dwDirection, IEnumFormatEtc* &enumFormatEtc) = 0;
  634.     virtual long __stdcall DAdvise(FORMATETC &formatetc, long advf, IAdviseSink* advSink, long &dwConnection
  635.         ) = 0;
  636.     virtual long __stdcall DUnadvise(long dwConnection) = 0;
  637.     virtual long __stdcall EnumDAdvise(IEnumStatData* &enumAdvise) = 0;
  638. public:
  639.     /* TObject.Create */ __fastcall IDataObject(void) : Ole2::IUnknown() { }
  640.     /* TObject.Destroy */ __fastcall virtual ~IDataObject(void) { }
  641.     
  642. };
  643.  
  644. class __declspec(delphiclass) IDataAdviseHolder;
  645. class __declspec(pascalimplementation) IDataAdviseHolder : public IUnknown
  646. {
  647.     typedef IUnknown inherited;
  648.     
  649. public:
  650.     virtual long __stdcall Advise(IDataObject* dataObject, FORMATETC &fetc, long advf, IAdviseSink* 
  651.         advise, long &pdwConnection) = 0;
  652.     virtual long __stdcall Unadvise(long dwConnection) = 0;
  653.     virtual long __stdcall EnumAdvise(IEnumStatData* &enumAdvise) = 0;
  654.     virtual long __stdcall SendOnDataChange(IDataObject* dataObject, long dwReserved, long advf) = 0;
  655. public:
  656.         
  657.     /* TObject.Create */ __fastcall IDataAdviseHolder(void) : Ole2::IUnknown() { }
  658.     /* TObject.Destroy */ __fastcall virtual ~IDataAdviseHolder(void) { }
  659.     
  660. };
  661.  
  662. typedef tagINTERFACEINFO *PInterfaceInfo;
  663.  
  664. typedef tagINTERFACEINFO  TInterfaceInfo;
  665.  
  666. class __declspec(delphiclass) IMessageFilter;
  667. class __declspec(pascalimplementation) IMessageFilter : public IUnknown
  668. {
  669.     typedef IUnknown inherited;
  670.     
  671. public:
  672.     virtual long __stdcall HandleInComingCall(long dwCallType, HTASK htaskCaller, long dwTickCount, PInterfaceInfo 
  673.         lpInterfaceInfo) = 0;
  674.     virtual long __stdcall RetryRejectedCall(HTASK htaskCallee, long dwTickCount, long dwRejectType) = 0
  675.         ;
  676.     virtual long __stdcall MessagePending(HTASK htaskCallee, long dwTickCount, long dwPendingType) = 0;
  677.         
  678. public:
  679.     /* TObject.Create */ __fastcall IMessageFilter(void) : Ole2::IUnknown() { }
  680.     /* TObject.Destroy */ __fastcall virtual ~IMessageFilter(void) { }
  681.     
  682. };
  683.  
  684. typedef long TRpcOleDataRep;
  685.  
  686. typedef tagRPCOLEMESSAGE *PRpcOleMessage;
  687.  
  688. typedef tagRPCOLEMESSAGE  TRpcOleMessage;
  689.  
  690. class __declspec(delphiclass) IRpcChannelBuffer;
  691. class __declspec(pascalimplementation) IRpcChannelBuffer : public IUnknown
  692. {
  693.     typedef IUnknown inherited;
  694.     
  695. public:
  696.     virtual long __stdcall GetBuffer(RPCOLEMESSAGE &message, const GUID &iid) = 0;
  697.     virtual long __stdcall SendReceive(RPCOLEMESSAGE &message, long &status) = 0;
  698.     virtual long __stdcall FreeBuffer(RPCOLEMESSAGE &message) = 0;
  699.     virtual long __stdcall GetDestCtx(long &dwDestContext, void *pvDestContext) = 0;
  700.     virtual long __stdcall IsConnected(void) = 0;
  701. public:
  702.     /* TObject.Create */ __fastcall IRpcChannelBuffer(void) : Ole2::IUnknown() { }
  703.     /* TObject.Destroy */ __fastcall virtual ~IRpcChannelBuffer(void) { }
  704.     
  705. };
  706.  
  707. class __declspec(delphiclass) IRpcProxyBuffer;
  708. class __declspec(pascalimplementation) IRpcProxyBuffer : public IUnknown
  709. {
  710.     typedef IUnknown inherited;
  711.     
  712. public:
  713.     virtual long __stdcall Connect(IRpcChannelBuffer* rpcChannelBuffer) = 0;
  714.     virtual void __stdcall Disconnect(void) = 0;
  715. public:
  716.     /* TObject.Create */ __fastcall IRpcProxyBuffer(void) : Ole2::IUnknown() { }
  717.     /* TObject.Destroy */ __fastcall virtual ~IRpcProxyBuffer(void) { }
  718.     
  719. };
  720.  
  721. class __declspec(delphiclass) IRpcStubBuffer;
  722. class __declspec(pascalimplementation) IRpcStubBuffer : public IUnknown
  723. {
  724.     typedef IUnknown inherited;
  725.     
  726. public:
  727.     virtual long __stdcall Connect(IUnknown* unkServer) = 0;
  728.     virtual void __stdcall Disconnect(void) = 0;
  729.     virtual long __stdcall Invoke(RPCOLEMESSAGE &rpcmsg, IRpcChannelBuffer* rpcChannelBuffer) = 0;
  730.     virtual IRpcStubBuffer* __stdcall IsIIDSupported(const GUID &iid) = 0;
  731.     virtual long __stdcall CountRefs(void) = 0;
  732.     virtual long __stdcall DebugServerQueryInterface(void *pv) = 0;
  733.     virtual void __stdcall DebugServerRelease(void * pv) = 0;
  734. public:
  735.     /* TObject.Create */ __fastcall IRpcStubBuffer(void) : Ole2::IUnknown() { }
  736.     /* TObject.Destroy */ __fastcall virtual ~IRpcStubBuffer(void) { }
  737.     
  738. };
  739.  
  740. class __declspec(delphiclass) IPSFactoryBuffer;
  741. class __declspec(pascalimplementation) IPSFactoryBuffer : public IUnknown
  742. {
  743.     typedef IUnknown inherited;
  744.     
  745. public:
  746.     virtual long __stdcall CreateProxy(IUnknown* unkOuter, const GUID &iid, IRpcProxyBuffer* &proxy, void 
  747.         *pv) = 0;
  748.     virtual long __stdcall CreateStub(const GUID &iid, IUnknown* unkServer, IRpcStubBuffer* &stub) = 0
  749.         ;
  750. public:
  751.     /* TObject.Create */ __fastcall IPSFactoryBuffer(void) : Ole2::IUnknown() { }
  752.     /* TObject.Destroy */ __fastcall virtual ~IPSFactoryBuffer(void) { }
  753.     
  754. };
  755.  
  756. typedef wchar_t * *PBStr;
  757.  
  758. typedef wchar_t *TBStr;
  759.  
  760. typedef wchar_t *TBStrList[65536];
  761.  
  762. typedef TBStrList *PBStrList;
  763.  
  764. typedef tagBLOB *PBlob;
  765.  
  766. typedef tagBLOB  TBlob;
  767.  
  768. typedef tagCLIPDATA *PClipData;
  769.  
  770. typedef tagCLIPDATA  TClipData;
  771.  
  772. typedef tagSAFEARRAYBOUND *PSafeArrayBound;
  773.  
  774. typedef tagSAFEARRAYBOUND  TSafeArrayBound;
  775.  
  776. typedef tagSAFEARRAY *PSafeArray;
  777.  
  778. typedef tagSAFEARRAY  TSafeArray;
  779.  
  780. typedef double TOleDate;
  781.  
  782. typedef System::Comp TCurrency;
  783.  
  784. typedef Word TOleBool;
  785.  
  786. typedef Word TVarType;
  787.  
  788. typedef tagVARIANT *PVariantArg;
  789.  
  790. class __declspec(delphiclass) IDispatch;
  791. class __declspec(delphiclass) ITypeInfo;
  792. typedef long TDispIDList[65536];
  793.  
  794. typedef TDispIDList *PDispIDList;
  795.  
  796. typedef tagEXCEPINFO *PExcepInfo;
  797.  
  798. class __declspec(pascalimplementation) IDispatch : public IUnknown
  799. {
  800.     typedef IUnknown inherited;
  801.     
  802. public:
  803.     virtual long __stdcall GetTypeInfoCount(int &ctinfo) = 0;
  804.     virtual long __stdcall GetTypeInfo(int itinfo, long lcid, ITypeInfo* &tinfo) = 0;
  805.     virtual long __stdcall GetIDsOfNames(const GUID &iid, POleStrList rgszNames, int cNames, long lcid
  806.         , PDispIDList rgdispid) = 0;
  807.     virtual long __stdcall Invoke(long dispIDMember, const GUID &iid, long lcid, Word flags, DISPPARAMS 
  808.         &dispParams, System::PVariant varResult, PExcepInfo excepInfo, Windows::PInteger argErr) = 0;
  809. public:
  810.         
  811.     /* TObject.Create */ __fastcall IDispatch(void) : Ole2::IUnknown() { }
  812.     /* TObject.Destroy */ __fastcall virtual ~IDispatch(void) { }
  813.     
  814. };
  815.  
  816. typedef tagVARIANT  TVariantArg;
  817.  
  818. typedef tagVARIANT TVariantArgList[65536];
  819.  
  820. typedef TVariantArgList *PVariantArgList;
  821.  
  822. typedef long TDispID;
  823.  
  824. typedef long TMemberID;
  825.  
  826. typedef long TMemberIDList[65536];
  827.  
  828. typedef TMemberIDList *PMemberIDList;
  829.  
  830. typedef long TPropID;
  831.  
  832. typedef long HRefType;
  833.  
  834. typedef long TTypeKind;
  835.  
  836. typedef tagARRAYDESC *PArrayDesc;
  837.  
  838. typedef tagTYPEDESC *PTypeDesc;
  839.  
  840. typedef tagTYPEDESC  TTypeDesc;
  841.  
  842. typedef tagARRAYDESC  TArrayDesc;
  843.  
  844. typedef tagIDLDESC *PIDLDesc;
  845.  
  846. typedef tagIDLDESC  TIDLDesc;
  847.  
  848. typedef tagELEMDESC *PElemDesc;
  849.  
  850. typedef tagELEMDESC  TElemDesc;
  851.  
  852. typedef tagELEMDESC TElemDescList[65536];
  853.  
  854. typedef TElemDescList *PElemDescList;
  855.  
  856. typedef tagTYPEATTR *PTypeAttr;
  857.  
  858. typedef tagTYPEATTR  TTypeAttr;
  859.  
  860. typedef tagDISPPARAMS *PDispParams;
  861.  
  862. typedef tagDISPPARAMS  TDispParams;
  863.  
  864. typedef long __stdcall (*TFNDeferredFillIn)(PExcepInfo ExInfo);
  865.  
  866. typedef tagEXCEPINFO  TExcepInfo;
  867.  
  868. typedef long TFuncKind;
  869.  
  870. typedef long TInvokeKind;
  871.  
  872. typedef long TCallConv;
  873.  
  874. typedef tagFUNCDESC *PFuncDesc;
  875.  
  876. typedef tagFUNCDESC  TFuncDesc;
  877.  
  878. typedef long TVarKind;
  879.  
  880. typedef tagVARDESC *PVarDesc;
  881.  
  882. typedef tagVARDESC  TVarDesc;
  883.  
  884. class __declspec(delphiclass) ICreateTypeInfo;
  885. class __declspec(pascalimplementation) ICreateTypeInfo : public IUnknown
  886. {
  887.     typedef IUnknown inherited;
  888.     
  889. public:
  890.     virtual long __stdcall SetGuid(const GUID &guid) = 0;
  891.     virtual long __stdcall SetTypeFlags(int uTypeFlags) = 0;
  892.     virtual long __stdcall SetDocString(wchar_t * pstrDoc) = 0;
  893.     virtual long __stdcall SetHelpContext(long dwHelpContext) = 0;
  894.     virtual long __stdcall SetVersion(Word wMajorVerNum, Word wMinorVerNum) = 0;
  895.     virtual long __stdcall AddRefTypeInfo(ITypeInfo* tinfo, long &reftype) = 0;
  896.     virtual long __stdcall AddFuncDesc(int index, FUNCDESC &funcdesc) = 0;
  897.     virtual long __stdcall AddImplType(int index, long reftype) = 0;
  898.     virtual long __stdcall SetImplTypeFlags(int index, int impltypeflags) = 0;
  899.     virtual long __stdcall SetAlignment(Word cbAlignment) = 0;
  900.     virtual long __stdcall SetSchema(wchar_t * lpstrSchema) = 0;
  901.     virtual long __stdcall AddVarDesc(int index, VARDESC &vardesc) = 0;
  902.     virtual long __stdcall SetFuncAndParamNames(int index, POleStrList rgszNames, int cNames) = 0;
  903.     virtual long __stdcall SetVarName(int index, wchar_t * szName) = 0;
  904.     virtual long __stdcall SetTypeDescAlias(TYPEDESC &descAlias) = 0;
  905.     virtual long __stdcall DefineFuncAsDllEntry(int index, wchar_t * szDllName, wchar_t * szProcName) = 0
  906.         ;
  907.     virtual long __stdcall SetFuncDocString(int index, wchar_t * szDocString) = 0;
  908.     virtual long __stdcall SetVarDocString(int index, wchar_t * szDocString) = 0;
  909.     virtual long __stdcall SetFuncHelpContext(int index, long dwHelpContext) = 0;
  910.     virtual long __stdcall SetVarHelpContext(int index, long dwHelpContext) = 0;
  911.     virtual long __stdcall SetMops(int index, wchar_t * bstrMops) = 0;
  912.     virtual long __stdcall SetTypeIdldesc(IDLDESC &idldesc) = 0;
  913.     virtual long __stdcall LayOut(void) = 0;
  914. public:
  915.     /* TObject.Create */ __fastcall ICreateTypeInfo(void) : Ole2::IUnknown() { }
  916.     /* TObject.Destroy */ __fastcall virtual ~ICreateTypeInfo(void) { }
  917.     
  918. };
  919.  
  920. class __declspec(delphiclass) ICreateTypeLib;
  921. class __declspec(pascalimplementation) ICreateTypeLib : public IUnknown
  922. {
  923.     typedef IUnknown inherited;
  924.     
  925. public:
  926.     virtual long __stdcall CreateTypeInfo(wchar_t * szName, long tkind, ICreateTypeInfo* &ictinfo) = 0;
  927.         
  928.     virtual long __stdcall SetName(wchar_t * szName) = 0;
  929.     virtual long __stdcall SetVersion(Word wMajorVerNum, Word wMinorVerNum) = 0;
  930.     virtual long __stdcall SetGuid(const GUID &guid) = 0;
  931.     virtual long __stdcall SetDocString(wchar_t * szDoc) = 0;
  932.     virtual long __stdcall SetHelpFileName(wchar_t * szHelpFileName) = 0;
  933.     virtual long __stdcall SetHelpContext(long dwHelpContext) = 0;
  934.     virtual long __stdcall SetLcid(long lcid) = 0;
  935.     virtual long __stdcall SetLibFlags(int uLibFlags) = 0;
  936.     virtual long __stdcall SaveAllChanges(void) = 0;
  937. public:
  938.     /* TObject.Create */ __fastcall ICreateTypeLib(void) : Ole2::IUnknown() { }
  939.     /* TObject.Destroy */ __fastcall virtual ~ICreateTypeLib(void) { }
  940.     
  941. };
  942.  
  943. class __declspec(delphiclass) IEnumVariant;
  944. class __declspec(pascalimplementation) IEnumVariant : public IUnknown
  945. {
  946.     typedef IUnknown inherited;
  947.     
  948. public:
  949.     virtual long __stdcall Next(long celt, void *elt, long &pceltFetched) = 0;
  950.     virtual long __stdcall Skip(long celt) = 0;
  951.     virtual long __stdcall Reset(void) = 0;
  952.     virtual long __stdcall Clone(IEnumVariant* &Enum) = 0;
  953. public:
  954.     /* TObject.Create */ __fastcall IEnumVariant(void) : Ole2::IUnknown() { }
  955.     /* TObject.Destroy */ __fastcall virtual ~IEnumVariant(void) { }
  956.     
  957. };
  958.  
  959. typedef long TDescKind;
  960.  
  961. typedef tagBINDPTR *PBindPtr;
  962.  
  963. class __declspec(delphiclass) ITypeComp;
  964. class __declspec(pascalimplementation) ITypeComp : public IUnknown
  965. {
  966.     typedef IUnknown inherited;
  967.     
  968. public:
  969.     virtual long __stdcall Bind(wchar_t * szName, long lHashVal, Word wflags, ITypeInfo* &tinfo, long &
  970.         desckind, BINDPTR &bindptr) = 0;
  971.     virtual long __stdcall BindType(wchar_t * szName, long lHashVal, ITypeInfo* &tinfo, ITypeComp* &tcomp
  972.         ) = 0;
  973. public:
  974.     /* TObject.Create */ __fastcall ITypeComp(void) : Ole2::IUnknown() { }
  975.     /* TObject.Destroy */ __fastcall virtual ~ITypeComp(void) { }
  976.     
  977. };
  978.  
  979. typedef tagBINDPTR  TBindPtr;
  980.  
  981. class __declspec(delphiclass) ITypeLib;
  982. class __declspec(pascalimplementation) ITypeInfo : public IUnknown
  983. {
  984.     typedef IUnknown inherited;
  985.     
  986. public:
  987.     virtual long __stdcall GetTypeAttr(PTypeAttr &ptypeattr) = 0;
  988.     virtual long __stdcall GetTypeComp(ITypeComp* &tcomp) = 0;
  989.     virtual long __stdcall GetFuncDesc(int index, PFuncDesc &pfuncdesc) = 0;
  990.     virtual long __stdcall GetVarDesc(int index, PVarDesc &pvardesc) = 0;
  991.     virtual long __stdcall GetNames(long memid, PBStrList rgbstrNames, int cMaxNames, int &cNames) = 0;
  992.         
  993.     virtual long __stdcall GetRefTypeOfImplType(int index, long &reftype) = 0;
  994.     virtual long __stdcall GetImplTypeFlags(int index, int &impltypeflags) = 0;
  995.     virtual long __stdcall GetIDsOfNames(POleStrList rgpszNames, int cNames, PMemberIDList rgmemid) = 0
  996.         ;
  997.     virtual long __stdcall Invoke(void * pvInstance, long memid, Word flags, DISPPARAMS &dispParams, 
  998.         System::PVariant varResult, PExcepInfo excepInfo, Windows::PInteger argErr) = 0;
  999.     virtual long __stdcall GetDocumentation(long memid, PBStr pbstrName, PBStr pbstrDocString, Windows::PLongint 
  1000.         pdwHelpContext, PBStr pbstrHelpFile) = 0;
  1001.     virtual long __stdcall GetDllEntry(long memid, long invkind, wchar_t * &bstrDllName, wchar_t * &bstrName
  1002.         , Word &wOrdinal) = 0;
  1003.     virtual long __stdcall GetRefTypeInfo(long reftype, ITypeInfo* &tinfo) = 0;
  1004.     virtual long __stdcall AddressOfMember(long memid, long invkind, void * &ppv) = 0;
  1005.     virtual long __stdcall CreateInstance(IUnknown* unkOuter, const GUID &iid, void *vObj) = 0;
  1006.     virtual long __stdcall GetMops(long memid, wchar_t * &bstrMops) = 0;
  1007.     virtual long __stdcall GetContainingTypeLib(ITypeLib* &tlib, int &pindex) = 0;
  1008.     virtual void __stdcall ReleaseTypeAttr(PTypeAttr ptypeattr) = 0;
  1009.     virtual void __stdcall ReleaseFuncDesc(PFuncDesc pfuncdesc) = 0;
  1010.     virtual void __stdcall ReleaseVarDesc(PVarDesc pvardesc) = 0;
  1011. public:
  1012.     /* TObject.Create */ __fastcall ITypeInfo(void) : Ole2::IUnknown() { }
  1013.     /* TObject.Destroy */ __fastcall virtual ~ITypeInfo(void) { }
  1014.     
  1015. };
  1016.  
  1017. typedef Byte TSysKind;
  1018.  
  1019. typedef tagTLIBATTR *PTLibAttr;
  1020.  
  1021. typedef tagTLIBATTR  TTLibAttr;
  1022.  
  1023. typedef ITypeInfo* TTypeInfoList[65536];
  1024.  
  1025. typedef TTypeInfoList *PTypeInfoList;
  1026.  
  1027. class __declspec(pascalimplementation) ITypeLib : public IUnknown
  1028. {
  1029.     typedef IUnknown inherited;
  1030.     
  1031. public:
  1032.     virtual int __stdcall GetTypeInfoCount(void) = 0;
  1033.     virtual long __stdcall GetTypeInfo(int index, ITypeInfo* &tinfo) = 0;
  1034.     virtual long __stdcall GetTypeInfoType(int index, long &tkind) = 0;
  1035.     virtual long __stdcall GetTypeInfoOfGuid(const GUID &guid, ITypeInfo* &tinfo) = 0;
  1036.     virtual long __stdcall GetLibAttr(PTLibAttr &ptlibattr) = 0;
  1037.     virtual long __stdcall GetTypeComp(ITypeComp* &tcomp) = 0;
  1038.     virtual long __stdcall GetDocumentation(int index, PBStr pbstrName, PBStr pbstrDocString, Windows::PLongint 
  1039.         pdwHelpContext, PBStr pbstrHelpFile) = 0;
  1040.     virtual long __stdcall IsName(wchar_t * szNameBuf, long lHashVal, DWord &fName) = 0;
  1041.     virtual long __stdcall FindName(wchar_t * szNameBuf, long lHashVal, PTypeInfoList rgptinfo, PMemberIDList 
  1042.         rgmemid, Word &pcFound) = 0;
  1043.     virtual void __stdcall ReleaseTLibAttr(PTLibAttr ptlibattr) = 0;
  1044. public:
  1045.     /* TObject.Create */ __fastcall ITypeLib(void) : Ole2::IUnknown() { }
  1046.     /* TObject.Destroy */ __fastcall virtual ~ITypeLib(void) { }
  1047.     
  1048. };
  1049.  
  1050. class __declspec(delphiclass) IErrorInfo;
  1051. class __declspec(pascalimplementation) IErrorInfo : public IUnknown
  1052. {
  1053.     typedef IUnknown inherited;
  1054.     
  1055. public:
  1056.     virtual long __stdcall GetGUID(GUID &guid) = 0;
  1057.     virtual long __stdcall GetSource(wchar_t * &bstrSource) = 0;
  1058.     virtual long __stdcall GetDescription(wchar_t * &bstrDescription) = 0;
  1059.     virtual long __stdcall GetHelpFile(wchar_t * &bstrHelpFile) = 0;
  1060.     virtual long __stdcall GetHelpContext(long &dwHelpContext) = 0;
  1061. public:
  1062.     /* TObject.Create */ __fastcall IErrorInfo(void) : Ole2::IUnknown() { }
  1063.     /* TObject.Destroy */ __fastcall virtual ~IErrorInfo(void) { }
  1064.     
  1065. };
  1066.  
  1067. class __declspec(delphiclass) ICreateErrorInfo;
  1068. class __declspec(pascalimplementation) ICreateErrorInfo : public IUnknown
  1069. {
  1070.     typedef IUnknown inherited;
  1071.     
  1072. public:
  1073.     virtual long __stdcall SetGUID(const GUID &guid) = 0;
  1074.     virtual long __stdcall SetSource(wchar_t * szSource) = 0;
  1075.     virtual long __stdcall SetDescription(wchar_t * szDescription) = 0;
  1076.     virtual long __stdcall SetHelpFile(wchar_t * szHelpFile) = 0;
  1077.     virtual long __stdcall SetHelpContext(long dwHelpContext) = 0;
  1078. public:
  1079.     /* TObject.Create */ __fastcall ICreateErrorInfo(void) : Ole2::IUnknown() { }
  1080.     /* TObject.Destroy */ __fastcall virtual ~ICreateErrorInfo(void) { }
  1081.     
  1082. };
  1083.  
  1084. class __declspec(delphiclass) ISupportErrorInfo;
  1085. class __declspec(pascalimplementation) ISupportErrorInfo : public IUnknown
  1086. {
  1087.     typedef IUnknown inherited;
  1088.     
  1089. public:
  1090.     virtual long __stdcall InterfaceSupportsErrorInfo(const GUID &iid) = 0;
  1091. public:
  1092.     /* TObject.Create */ __fastcall ISupportErrorInfo(void) : Ole2::IUnknown() { }
  1093.     /* TObject.Destroy */ __fastcall virtual ~ISupportErrorInfo(void) { }
  1094.     
  1095. };
  1096.  
  1097. typedef tagPARAMDATA *PParamData;
  1098.  
  1099. typedef tagPARAMDATA  TParamData;
  1100.  
  1101. typedef tagPARAMDATA TParamDataList[65536];
  1102.  
  1103. typedef TParamDataList *PParamDataList;
  1104.  
  1105. typedef tagMETHODDATA *PMethodData;
  1106.  
  1107. typedef tagMETHODDATA  TMethodData;
  1108.  
  1109. typedef tagMETHODDATA TMethodDataList[65536];
  1110.  
  1111. typedef TMethodDataList *PMethodDataList;
  1112.  
  1113. typedef tagINTERFACEDATA *PInterfaceData;
  1114.  
  1115. typedef tagINTERFACEDATA  TInterfaceData;
  1116.  
  1117. class __declspec(delphiclass) IOleAdviseHolder;
  1118. class __declspec(pascalimplementation) IOleAdviseHolder : public IUnknown
  1119. {
  1120.     typedef IUnknown inherited;
  1121.     
  1122. public:
  1123.     virtual long __stdcall Advise(IAdviseSink* advise, long &dwConnection) = 0;
  1124.     virtual long __stdcall Unadvise(long dwConnection) = 0;
  1125.     virtual long __stdcall EnumAdvise(IEnumStatData* &enumAdvise) = 0;
  1126.     virtual long __stdcall SendOnRename(IMoniker* mk) = 0;
  1127.     virtual long __stdcall SendOnSave(void) = 0;
  1128.     virtual long __stdcall SendOnClose(void) = 0;
  1129. public:
  1130.     /* TObject.Create */ __fastcall IOleAdviseHolder(void) : Ole2::IUnknown() { }
  1131.     /* TObject.Destroy */ __fastcall virtual ~IOleAdviseHolder(void) { }
  1132.     
  1133. };
  1134.  
  1135. class __declspec(delphiclass) IOleCache;
  1136. class __declspec(pascalimplementation) IOleCache : public IUnknown
  1137. {
  1138.     typedef IUnknown inherited;
  1139.     
  1140. public:
  1141.     virtual long __stdcall Cache(FORMATETC &formatetc, long advf, long &dwConnection) = 0;
  1142.     virtual long __stdcall Uncache(long dwConnection) = 0;
  1143.     virtual long __stdcall EnumCache(IEnumStatData* &enumStatData) = 0;
  1144.     virtual long __stdcall InitCache(IDataObject* dataObject) = 0;
  1145.     virtual long __stdcall SetData(FORMATETC &formatetc, STGMEDIUM &medium, DWord fRelease) = 0;
  1146. public:
  1147.         
  1148.     /* TObject.Create */ __fastcall IOleCache(void) : Ole2::IUnknown() { }
  1149.     /* TObject.Destroy */ __fastcall virtual ~IOleCache(void) { }
  1150.     
  1151. };
  1152.  
  1153. class __declspec(delphiclass) IOleCache2;
  1154. class __declspec(pascalimplementation) IOleCache2 : public IOleCache
  1155. {
  1156.     typedef IOleCache inherited;
  1157.     
  1158. public:
  1159.     virtual long __stdcall UpdateCache(IDataObject* dataObject, long grfUpdf, void * pReserved) = 0;
  1160.     virtual long __stdcall DiscardCache(long dwDiscardOptions) = 0;
  1161. public:
  1162.     /* TObject.Create */ __fastcall IOleCache2(void) : Ole2::IOleCache() { }
  1163.     /* TObject.Destroy */ __fastcall virtual ~IOleCache2(void) { }
  1164.     
  1165. };
  1166.  
  1167. class __declspec(delphiclass) IOleCacheControl;
  1168. class __declspec(pascalimplementation) IOleCacheControl : public IUnknown
  1169. {
  1170.     typedef IUnknown inherited;
  1171.     
  1172. public:
  1173.     virtual long __stdcall OnRun(IDataObject* dataObject) = 0;
  1174.     virtual long __stdcall OnStop(void) = 0;
  1175. public:
  1176.     /* TObject.Create */ __fastcall IOleCacheControl(void) : Ole2::IUnknown() { }
  1177.     /* TObject.Destroy */ __fastcall virtual ~IOleCacheControl(void) { }
  1178.     
  1179. };
  1180.  
  1181. class __declspec(delphiclass) IParseDisplayName;
  1182. class __declspec(pascalimplementation) IParseDisplayName : public IUnknown
  1183. {
  1184.     typedef IUnknown inherited;
  1185.     
  1186. public:
  1187.     virtual long __stdcall ParseDisplayName(IBindCtx* bc, wchar_t * pszDisplayName, long &chEaten, IMoniker* 
  1188.         &mkOut) = 0;
  1189. public:
  1190.     /* TObject.Create */ __fastcall IParseDisplayName(void) : Ole2::IUnknown() { }
  1191.     /* TObject.Destroy */ __fastcall virtual ~IParseDisplayName(void) { }
  1192.     
  1193. };
  1194.  
  1195. class __declspec(delphiclass) IOleContainer;
  1196. class __declspec(pascalimplementation) IOleContainer : public IParseDisplayName
  1197. {
  1198.     typedef IParseDisplayName inherited;
  1199.     
  1200. public:
  1201.     virtual long __stdcall EnumObjects(long grfFlags, IEnumUnknown* &Enum) = 0;
  1202.     virtual long __stdcall LockContainer(DWord fLock) = 0;
  1203. public:
  1204.     /* TObject.Create */ __fastcall IOleContainer(void) : Ole2::IParseDisplayName() { }
  1205.     /* TObject.Destroy */ __fastcall virtual ~IOleContainer(void) { }
  1206.     
  1207. };
  1208.  
  1209. class __declspec(delphiclass) IOleClientSite;
  1210. class __declspec(pascalimplementation) IOleClientSite : public IUnknown
  1211. {
  1212.     typedef IUnknown inherited;
  1213.     
  1214. public:
  1215.     virtual long __stdcall SaveObject(void) = 0;
  1216.     virtual long __stdcall GetMoniker(long dwAssign, long dwWhichMoniker, IMoniker* &mk) = 0;
  1217.     virtual long __stdcall GetContainer(IOleContainer* &container) = 0;
  1218.     virtual long __stdcall ShowObject(void) = 0;
  1219.     virtual long __stdcall OnShowWindow(DWord fShow) = 0;
  1220.     virtual long __stdcall RequestNewObjectLayout(void) = 0;
  1221. public:
  1222.     /* TObject.Create */ __fastcall IOleClientSite(void) : Ole2::IUnknown() { }
  1223.     /* TObject.Destroy */ __fastcall virtual ~IOleClientSite(void) { }
  1224.     
  1225. };
  1226.  
  1227. class __declspec(delphiclass) IOleObject;
  1228. class __declspec(delphiclass) IEnumOleVerb;
  1229. class __declspec(pascalimplementation) IOleObject : public IUnknown
  1230. {
  1231.     typedef IUnknown inherited;
  1232.     
  1233. public:
  1234.     virtual long __stdcall SetClientSite(IOleClientSite* clientSite) = 0;
  1235.     virtual long __stdcall GetClientSite(IOleClientSite* &clientSite) = 0;
  1236.     virtual long __stdcall SetHostNames(wchar_t * szContainerApp, wchar_t * szContainerObj) = 0;
  1237.     virtual long __stdcall Close(long dwSaveOption) = 0;
  1238.     virtual long __stdcall SetMoniker(long dwWhichMoniker, IMoniker* mk) = 0;
  1239.     virtual long __stdcall GetMoniker(long dwAssign, long dwWhichMoniker, IMoniker* &mk) = 0;
  1240.     virtual long __stdcall InitFromData(IDataObject* dataObject, DWord fCreation, long dwReserved) = 0;
  1241.         
  1242.     virtual long __stdcall GetClipboardData(long dwReserved, IDataObject* &dataObject) = 0;
  1243.     virtual long __stdcall DoVerb(long iVerb, Windows::PMsg msg, IOleClientSite* activeSite, long lindex
  1244.         , HWND hwndParent, const Windows::TRect &posRect) = 0;
  1245.     virtual long __stdcall EnumVerbs(IEnumOleVerb* &enumOleVerb) = 0;
  1246.     virtual long __stdcall Update(void) = 0;
  1247.     virtual long __stdcall IsUpToDate(void) = 0;
  1248.     virtual long __stdcall GetUserClassID(GUID &clsid) = 0;
  1249.     virtual long __stdcall GetUserType(long dwFormOfType, wchar_t * &pszUserType) = 0;
  1250.     virtual long __stdcall SetExtent(long dwDrawAspect, const POINT &size) = 0;
  1251.     virtual long __stdcall GetExtent(long dwDrawAspect, POINT &size) = 0;
  1252.     virtual long __stdcall Advise(IAdviseSink* advSink, long &dwConnection) = 0;
  1253.     virtual long __stdcall Unadvise(long dwConnection) = 0;
  1254.     virtual long __stdcall EnumAdvise(IEnumStatData* &enumAdvise) = 0;
  1255.     virtual long __stdcall GetMiscStatus(long dwAspect, long &dwStatus) = 0;
  1256.     virtual long __stdcall SetColorScheme(LOGPALETTE &logpal) = 0;
  1257. public:
  1258.     /* TObject.Create */ __fastcall IOleObject(void) : Ole2::IUnknown() { }
  1259.     /* TObject.Destroy */ __fastcall virtual ~IOleObject(void) { }
  1260.     
  1261. };
  1262.  
  1263. typedef tagOBJECTDESCRIPTOR *PObjectDescriptor;
  1264.  
  1265. typedef tagOBJECTDESCRIPTOR  TObjectDescriptor;
  1266.  
  1267. typedef tagOBJECTDESCRIPTOR *PLinkSrcDescriptor;
  1268.  
  1269. typedef tagOBJECTDESCRIPTOR  TLinkSrcDescriptor;
  1270.  
  1271. class __declspec(delphiclass) IOleWindow;
  1272. class __declspec(pascalimplementation) IOleWindow : public IUnknown
  1273. {
  1274.     typedef IUnknown inherited;
  1275.     
  1276. public:
  1277.     virtual long __stdcall GetWindow(HWND &wnd) = 0;
  1278.     virtual long __stdcall ContextSensitiveHelp(DWord fEnterMode) = 0;
  1279. public:
  1280.     /* TObject.Create */ __fastcall IOleWindow(void) : Ole2::IUnknown() { }
  1281.     /* TObject.Destroy */ __fastcall virtual ~IOleWindow(void) { }
  1282.     
  1283. };
  1284.  
  1285. class __declspec(delphiclass) IOleLink;
  1286. class __declspec(pascalimplementation) IOleLink : public IUnknown
  1287. {
  1288.     typedef IUnknown inherited;
  1289.     
  1290. public:
  1291.     virtual long __stdcall SetUpdateOptions(long dwUpdateOpt) = 0;
  1292.     virtual long __stdcall GetUpdateOptions(long &dwUpdateOpt) = 0;
  1293.     virtual long __stdcall SetSourceMoniker(IMoniker* mk, const GUID &clsid) = 0;
  1294.     virtual long __stdcall GetSourceMoniker(IMoniker* &mk) = 0;
  1295.     virtual long __stdcall SetSourceDisplayName(wchar_t * pszDisplayName) = 0;
  1296.     virtual long __stdcall GetSourceDisplayName(wchar_t * &pszDisplayName) = 0;
  1297.     virtual long __stdcall BindToSource(long bindflags, IBindCtx* bc) = 0;
  1298.     virtual long __stdcall BindIfRunning(void) = 0;
  1299.     virtual long __stdcall GetBoundSource(IUnknown* &unk) = 0;
  1300.     virtual long __stdcall UnbindSource(void) = 0;
  1301.     virtual long __stdcall Update(IBindCtx* bc) = 0;
  1302. public:
  1303.     /* TObject.Create */ __fastcall IOleLink(void) : Ole2::IUnknown() { }
  1304.     /* TObject.Destroy */ __fastcall virtual ~IOleLink(void) { }
  1305.     
  1306. };
  1307.  
  1308. class __declspec(delphiclass) IOleItemContainer;
  1309. class __declspec(pascalimplementation) IOleItemContainer : public IOleContainer
  1310. {
  1311.     typedef IOleContainer inherited;
  1312.     
  1313. public:
  1314.     virtual long __stdcall GetObject(wchar_t * pszItem, long dwSpeedNeeded, IBindCtx* bc, const GUID &iid
  1315.         , void *vObject) = 0;
  1316.     virtual long __stdcall GetObjectStorage(wchar_t * pszItem, IBindCtx* bc, const GUID &iid, void *vStorage
  1317.         ) = 0;
  1318.     virtual long __stdcall IsRunning(wchar_t * pszItem) = 0;
  1319. public:
  1320.     /* TObject.Create */ __fastcall IOleItemContainer(void) : Ole2::IOleContainer() { }
  1321.     /* TObject.Destroy */ __fastcall virtual ~IOleItemContainer(void) { }
  1322.     
  1323. };
  1324.  
  1325. class __declspec(delphiclass) IOleInPlaceUIWindow;
  1326. class __declspec(delphiclass) IOleInPlaceActiveObject;
  1327. class __declspec(pascalimplementation) IOleInPlaceUIWindow : public IOleWindow
  1328. {
  1329.     typedef IOleWindow inherited;
  1330.     
  1331. public:
  1332.     virtual long __stdcall GetBorder(Windows::TRect &rectBorder) = 0;
  1333.     virtual long __stdcall RequestBorderSpace(const Windows::TRect &borderwidths) = 0;
  1334.     virtual long __stdcall SetBorderSpace(Windows::PRect pborderwidths) = 0;
  1335.     virtual long __stdcall SetActiveObject(IOleInPlaceActiveObject* activeObject, wchar_t * pszObjName)
  1336.          = 0;
  1337. public:
  1338.     /* TObject.Create */ __fastcall IOleInPlaceUIWindow(void) : Ole2::IOleWindow() { }
  1339.     /* TObject.Destroy */ __fastcall virtual ~IOleInPlaceUIWindow(void) { }
  1340.     
  1341. };
  1342.  
  1343. class __declspec(pascalimplementation) IOleInPlaceActiveObject : public IOleWindow
  1344. {
  1345.     typedef IOleWindow inherited;
  1346.     
  1347. public:
  1348.     virtual long __stdcall TranslateAccelerator(MSG &msg) = 0;
  1349.     virtual long __stdcall OnFrameWindowActivate(DWord fActivate) = 0;
  1350.     virtual long __stdcall OnDocWindowActivate(DWord fActivate) = 0;
  1351.     virtual long __stdcall ResizeBorder(const Windows::TRect &rcBorder, IOleInPlaceUIWindow* uiWindow, 
  1352.         DWord fFrameWindow) = 0;
  1353.     virtual long __stdcall EnableModeless(DWord fEnable) = 0;
  1354. public:
  1355.     /* TObject.Create */ __fastcall IOleInPlaceActiveObject(void) : Ole2::IOleWindow() { }
  1356.     /* TObject.Destroy */ __fastcall virtual ~IOleInPlaceActiveObject(void) { }
  1357.     
  1358. };
  1359.  
  1360. typedef tagOIFI *POleInPlaceFrameInfo;
  1361.  
  1362. typedef tagOIFI  TOleInPlaceFrameInfo;
  1363.  
  1364. typedef tagOleMenuGroupWidths *POleMenuGroupWidths;
  1365.  
  1366. typedef tagOleMenuGroupWidths  TOleMenuGroupWidths;
  1367.  
  1368. class __declspec(delphiclass) IOleInPlaceFrame;
  1369. class __declspec(pascalimplementation) IOleInPlaceFrame : public IOleInPlaceUIWindow
  1370. {
  1371.     typedef IOleInPlaceUIWindow inherited;
  1372.     
  1373. public:
  1374.     virtual long __stdcall InsertMenus(HMENU hmenuShared, OLEMENUGROUPWIDTHS &menuWidths) = 0;
  1375.     virtual long __stdcall SetMenu(HMENU hmenuShared, HMENU holemenu, HWND hwndActiveObject) = 0;
  1376.     virtual long __stdcall RemoveMenus(HMENU hmenuShared) = 0;
  1377.     virtual long __stdcall SetStatusText(wchar_t * pszStatusText) = 0;
  1378.     virtual long __stdcall EnableModeless(DWord fEnable) = 0;
  1379.     virtual long __stdcall TranslateAccelerator(MSG &msg, Word wID) = 0;
  1380. public:
  1381.     /* TObject.Create */ __fastcall IOleInPlaceFrame(void) : Ole2::IOleInPlaceUIWindow() { }
  1382.     /* TObject.Destroy */ __fastcall virtual ~IOleInPlaceFrame(void) { }
  1383.     
  1384. };
  1385.  
  1386. class __declspec(delphiclass) IOleInPlaceObject;
  1387. class __declspec(pascalimplementation) IOleInPlaceObject : public IOleWindow
  1388. {
  1389.     typedef IOleWindow inherited;
  1390.     
  1391. public:
  1392.     virtual long __stdcall InPlaceDeactivate(void) = 0;
  1393.     virtual long __stdcall UIDeactivate(void) = 0;
  1394.     virtual long __stdcall SetObjectRects(const Windows::TRect &rcPosRect, const Windows::TRect &rcClipRect
  1395.         ) = 0;
  1396.     virtual long __stdcall ReactivateAndUndo(void) = 0;
  1397. public:
  1398.     /* TObject.Create */ __fastcall IOleInPlaceObject(void) : Ole2::IOleWindow() { }
  1399.     /* TObject.Destroy */ __fastcall virtual ~IOleInPlaceObject(void) { }
  1400.     
  1401. };
  1402.  
  1403. class __declspec(delphiclass) IOleInPlaceSite;
  1404. class __declspec(pascalimplementation) IOleInPlaceSite : public IOleWindow
  1405. {
  1406.     typedef IOleWindow inherited;
  1407.     
  1408. public:
  1409.     virtual long __stdcall CanInPlaceActivate(void) = 0;
  1410.     virtual long __stdcall OnInPlaceActivate(void) = 0;
  1411.     virtual long __stdcall OnUIActivate(void) = 0;
  1412.     virtual long __stdcall GetWindowContext(IOleInPlaceFrame* &frame, IOleInPlaceUIWindow* &doc, Windows::TRect 
  1413.         &rcPosRect, Windows::TRect &rcClipRect, OLEINPLACEFRAMEINFO &frameInfo) = 0;
  1414.     virtual long __stdcall Scroll(const POINT &scrollExtent) = 0;
  1415.     virtual long __stdcall OnUIDeactivate(DWord fUndoable) = 0;
  1416.     virtual long __stdcall OnInPlaceDeactivate(void) = 0;
  1417.     virtual long __stdcall DiscardUndoState(void) = 0;
  1418.     virtual long __stdcall DeactivateAndUndo(void) = 0;
  1419.     virtual long __stdcall OnPosRectChange(const Windows::TRect &rcPosRect) = 0;
  1420. public:
  1421.     /* TObject.Create */ __fastcall IOleInPlaceSite(void) : Ole2::IOleWindow() { }
  1422.     /* TObject.Destroy */ __fastcall virtual ~IOleInPlaceSite(void) { }
  1423.     
  1424. };
  1425.  
  1426. typedef DWord __stdcall (*TContinueFunc)(long dwContinue);
  1427.  
  1428. class __declspec(delphiclass) IViewObject;
  1429. class __declspec(pascalimplementation) IViewObject : public IUnknown
  1430. {
  1431.     typedef IUnknown inherited;
  1432.     
  1433. public:
  1434.     virtual long __stdcall Draw(long dwDrawAspect, long lindex, void * pvAspect, PDVTargetDevice ptd, HDC 
  1435.         hicTargetDev, HDC hdcDraw, Windows::PRect prcBounds, Windows::PRect prcWBounds, TContinueFunc fnContinue
  1436.         , long dwContinue) = 0;
  1437.     virtual long __stdcall GetColorSet(long dwDrawAspect, long lindex, void * pvAspect, PDVTargetDevice 
  1438.         ptd, HDC hicTargetDev, Windows::PLogPalette &colorSet) = 0;
  1439.     virtual long __stdcall Freeze(long dwDrawAspect, long lindex, void * pvAspect, long &dwFreeze) = 0;
  1440.         
  1441.     virtual long __stdcall Unfreeze(long dwFreeze) = 0;
  1442.     virtual long __stdcall SetAdvise(long aspects, long advf, IAdviseSink* advSink) = 0;
  1443.     virtual long __stdcall GetAdvise(Windows::PLongint pAspects, Windows::PLongint pAdvf, IAdviseSink* 
  1444.         &advSink) = 0;
  1445. public:
  1446.     /* TObject.Create */ __fastcall IViewObject(void) : Ole2::IUnknown() { }
  1447.     /* TObject.Destroy */ __fastcall virtual ~IViewObject(void) { }
  1448.     
  1449. };
  1450.  
  1451. class __declspec(delphiclass) IViewObject2;
  1452. class __declspec(pascalimplementation) IViewObject2 : public IViewObject
  1453. {
  1454.     typedef IViewObject inherited;
  1455.     
  1456. public:
  1457.     virtual long __stdcall GetExtent(long dwDrawAspect, long lindex, PDVTargetDevice ptd, POINT &size
  1458.         ) = 0;
  1459. public:
  1460.     /* TObject.Create */ __fastcall IViewObject2(void) : Ole2::IViewObject() { }
  1461.     /* TObject.Destroy */ __fastcall virtual ~IViewObject2(void) { }
  1462.     
  1463. };
  1464.  
  1465. class __declspec(delphiclass) IDropSource;
  1466. class __declspec(pascalimplementation) IDropSource : public IUnknown
  1467. {
  1468.     typedef IUnknown inherited;
  1469.     
  1470. public:
  1471.     virtual long __stdcall QueryContinueDrag(DWord fEscapePressed, long grfKeyState) = 0;
  1472.     virtual long __stdcall GiveFeedback(long dwEffect) = 0;
  1473. public:
  1474.     /* TObject.Create */ __fastcall IDropSource(void) : Ole2::IUnknown() { }
  1475.     /* TObject.Destroy */ __fastcall virtual ~IDropSource(void) { }
  1476.     
  1477. };
  1478.  
  1479. class __declspec(delphiclass) IDropTarget;
  1480. class __declspec(pascalimplementation) IDropTarget : public IUnknown
  1481. {
  1482.     typedef IUnknown inherited;
  1483.     
  1484. public:
  1485.     virtual long __stdcall DragEnter(IDataObject* dataObj, long grfKeyState, const POINT &pt, long &
  1486.         dwEffect) = 0;
  1487.     virtual long __stdcall DragOver(long grfKeyState, const POINT &pt, long &dwEffect) = 0;
  1488.     virtual long __stdcall DragLeave(void) = 0;
  1489.     virtual long __stdcall Drop(IDataObject* dataObj, long grfKeyState, const POINT &pt, long &dwEffect
  1490.         ) = 0;
  1491. public:
  1492.     /* TObject.Create */ __fastcall IDropTarget(void) : Ole2::IUnknown() { }
  1493.     /* TObject.Destroy */ __fastcall virtual ~IDropTarget(void) { }
  1494.     
  1495. };
  1496.  
  1497. typedef tagOLEVERB *POleVerb;
  1498.  
  1499. typedef tagOLEVERB  TOleVerb;
  1500.  
  1501. class __declspec(pascalimplementation) IEnumOleVerb : public IUnknown
  1502. {
  1503.     typedef IUnknown inherited;
  1504.     
  1505. public:
  1506.     virtual long __stdcall Next(long celt, void *elt, Windows::PLongint pceltFetched) = 0;
  1507.     virtual long __stdcall Skip(long celt) = 0;
  1508.     virtual long __stdcall Reset(void) = 0;
  1509.     virtual long __stdcall Clone(IEnumOleVerb* &enm) = 0;
  1510. public:
  1511.     /* TObject.Create */ __fastcall IEnumOleVerb(void) : Ole2::IUnknown() { }
  1512.     /* TObject.Destroy */ __fastcall virtual ~IEnumOleVerb(void) { }
  1513.     
  1514. };
  1515.  
  1516. typedef long __stdcall (*TDLLGetClassObject)(const _GUID &clsid, const _GUID &iid, void *pv);
  1517.  
  1518. typedef long __stdcall (*TDLLCanUnloadNow)(void);
  1519.  
  1520. //-- var, const, procedure ---------------------------------------------------
  1521. extern GUID GUID_NULL;
  1522. extern GUID IID_IUnknown;
  1523. extern GUID IID_IClassFactory;
  1524. extern GUID IID_IMarshal;
  1525. extern GUID IID_IMalloc;
  1526. extern GUID IID_IStdMarshalInfo;
  1527. extern GUID IID_IExternalConnection;
  1528. extern GUID IID_IEnumUnknown;
  1529. extern GUID IID_IBindCtx;
  1530. extern GUID IID_IEnumMoniker;
  1531. extern GUID IID_IRunnableObject;
  1532. extern GUID IID_IRunningObjectTable;
  1533. extern GUID IID_IPersist;
  1534. extern GUID IID_IPersistStream;
  1535. extern GUID IID_IMoniker;
  1536. extern GUID IID_IEnumString;
  1537. extern GUID IID_IStream;
  1538. extern GUID IID_IEnumStatStg;
  1539. extern GUID IID_IStorage;
  1540. extern GUID IID_IPersistFile;
  1541. extern GUID IID_IPersistStorage;
  1542. extern GUID IID_ILockBytes;
  1543. extern GUID IID_IEnumFormatEtc;
  1544. extern GUID IID_IEnumStatData;
  1545. extern GUID IID_IRootStorage;
  1546. extern GUID IID_IAdviseSink;
  1547. extern GUID IID_IAdviseSink2;
  1548. extern GUID IID_IDataObject;
  1549. extern GUID IID_IDataAdviseHolder;
  1550. extern GUID IID_IMessageFilter;
  1551. extern GUID IID_IRpcChannelBuffer;
  1552. extern GUID IID_IRpcProxyBuffer;
  1553. extern GUID IID_IRpcStubBuffer;
  1554. extern GUID IID_IPSFactoryBuffer;
  1555. extern GUID IID_ICreateTypeInfo;
  1556. extern GUID IID_ICreateTypeLib;
  1557. extern GUID IID_IDispatch;
  1558. extern GUID IID_IEnumVariant;
  1559. extern GUID IID_ITypeComp;
  1560. extern GUID IID_ITypeInfo;
  1561. extern GUID IID_ITypeLib;
  1562. extern GUID IID_IErrorInfo;
  1563. extern GUID IID_ICreateErrorInfo;
  1564. extern GUID IID_ISupportErrorInfo;
  1565. extern GUID IID_IOleAdviseHolder;
  1566. extern GUID IID_IOleCache;
  1567. extern GUID IID_IOleCache2;
  1568. extern GUID IID_IOleCacheControl;
  1569. extern GUID IID_IParseDisplayName;
  1570. extern GUID IID_IOleContainer;
  1571. extern GUID IID_IOleClientSite;
  1572. extern GUID IID_IOleObject;
  1573. extern GUID IID_IOleWindow;
  1574. extern GUID IID_IOleLink;
  1575. extern GUID IID_IOleItemContainer;
  1576. extern GUID IID_IOleInPlaceUIWindow;
  1577. extern GUID IID_IOleInPlaceActiveObject;
  1578. extern GUID IID_IOleInPlaceFrame;
  1579. extern GUID IID_IOleInPlaceObject;
  1580. extern GUID IID_IOleInPlaceSite;
  1581. extern GUID IID_IViewObject;
  1582. extern GUID IID_IViewObject2;
  1583. extern GUID IID_IDropSource;
  1584. extern GUID IID_IDropTarget;
  1585. extern GUID IID_IEnumOleVerb;
  1586. extern GUID IID_IRpcChannel;
  1587. extern GUID IID_IRpcStub;
  1588. extern GUID IID_IStubManager;
  1589. extern GUID IID_IRpcProxy;
  1590. extern GUID IID_IProxyManager;
  1591. extern GUID IID_IPSFactory;
  1592. extern GUID IID_IInternalMoniker;
  1593. extern GUID CLSID_StdMarshal;
  1594. extern GUID IID_IEnumGeneric;
  1595. extern GUID IID_IEnumHolder;
  1596. extern GUID IID_IEnumCallback;
  1597. extern GUID IID_IOleManager;
  1598. extern GUID IID_IOlePresObj;
  1599. extern GUID IID_IDebug;
  1600. extern GUID IID_IDebugStream;
  1601.     
  1602. extern bool __fastcall Succeeded(long Res);
  1603. extern bool __fastcall Failed(long Res);
  1604. extern int __fastcall ResultCode(long Res);
  1605. extern int __fastcall ResultFacility(long Res);
  1606. extern int __fastcall ResultSeverity(long Res);
  1607.  
  1608. }    /* namespace Ole2 */
  1609.  
  1610. #pragma warn .par
  1611. #pragma warn .hid 
  1612. #pragma warn .inl
  1613.  
  1614. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  1615. using namespace Ole2;
  1616. #endif
  1617. //-- end unit ----------------------------------------------------------------
  1618. #endif    // OLE2
  1619.