home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / OLE2.HPP < prev    next >
C/C++ Source or Header  |  1997-02-28  |  58KB  |  1,603 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. typedef tagDVTARGETDEVICE  TDVTargetDevice;
  509.  
  510. typedef Word *PClipFormat;
  511.  
  512. typedef Word TClipFormat;
  513.  
  514. typedef tagFORMATETC *PFormatEtc;
  515.  
  516. typedef tagFORMATETC  TFormatEtc;
  517.  
  518. class __declspec(delphiclass) IEnumFormatEtc;
  519. class __declspec(pascalimplementation) IEnumFormatEtc : public IUnknown
  520. {
  521.     typedef IUnknown inherited;
  522.     
  523. public:
  524.     virtual long __stdcall Next(long celt, void *elt, Windows::PLongint pceltFetched) = 0;
  525.     virtual long __stdcall Skip(long celt) = 0;
  526.     virtual long __stdcall Reset(void) = 0;
  527.     virtual long __stdcall Clone(IEnumFormatEtc* &Enum) = 0;
  528. public:
  529.     /* TObject.Create */ __fastcall IEnumFormatEtc(void) : Ole2::IUnknown() { }
  530.     /* TObject.Destroy */ __fastcall virtual ~IEnumFormatEtc(void) { }
  531.     
  532. };
  533.  
  534. typedef tagSTATDATA *PStatData;
  535.  
  536. class __declspec(delphiclass) IAdviseSink;
  537. class __declspec(pascalimplementation) IAdviseSink : public IUnknown
  538. {
  539.     typedef IUnknown inherited;
  540.     
  541. public:
  542.     virtual void __stdcall OnDataChange(FORMATETC &formatetc, STGMEDIUM &stgmed) = 0;
  543.     virtual void __stdcall OnViewChange(long dwAspect, long lindex) = 0;
  544.     virtual void __stdcall OnRename(IMoniker* mk) = 0;
  545.     virtual void __stdcall OnSave(void) = 0;
  546.     virtual void __stdcall OnClose(void) = 0;
  547. public:
  548.     /* TObject.Create */ __fastcall IAdviseSink(void) : Ole2::IUnknown() { }
  549.     /* TObject.Destroy */ __fastcall virtual ~IAdviseSink(void) { }
  550.     
  551. };
  552.  
  553. typedef tagSTATDATA  TStatData;
  554.  
  555. class __declspec(delphiclass) IEnumStatData;
  556. class __declspec(pascalimplementation) IEnumStatData : public IUnknown
  557. {
  558.     typedef IUnknown inherited;
  559.     
  560. public:
  561.     virtual long __stdcall Next(long celt, void *elt, Windows::PLongint pceltFetched) = 0;
  562.     virtual long __stdcall Skip(long celt) = 0;
  563.     virtual long __stdcall Reset(void) = 0;
  564.     virtual long __stdcall Clone(IEnumStatData* &Enum) = 0;
  565. public:
  566.     /* TObject.Create */ __fastcall IEnumStatData(void) : Ole2::IUnknown() { }
  567.     /* TObject.Destroy */ __fastcall virtual ~IEnumStatData(void) { }
  568.     
  569. };
  570.  
  571. class __declspec(delphiclass) IRootStorage;
  572. class __declspec(pascalimplementation) IRootStorage : public IUnknown
  573. {
  574.     typedef IUnknown inherited;
  575.     
  576. public:
  577.     virtual long __stdcall SwitchToFile(wchar_t * pszFile) = 0;
  578. public:
  579.     /* TObject.Create */ __fastcall IRootStorage(void) : Ole2::IUnknown() { }
  580.     /* TObject.Destroy */ __fastcall virtual ~IRootStorage(void) { }
  581.     
  582. };
  583.  
  584. typedef tagRemSTGMEDIUM *PRemStgMedium;
  585.  
  586. typedef tagRemSTGMEDIUM  TRemStgMedium;
  587.  
  588. typedef tagSTGMEDIUM *PStgMedium;
  589.  
  590. typedef tagSTGMEDIUM  TStgMedium;
  591.  
  592. class __declspec(delphiclass) IAdviseSink2;
  593. class __declspec(pascalimplementation) IAdviseSink2 : public IAdviseSink
  594. {
  595.     typedef IAdviseSink inherited;
  596.     
  597. public:
  598.     virtual void __stdcall OnLinkSrcChange(IMoniker* mk) = 0;
  599. public:
  600.     /* TObject.Create */ __fastcall IAdviseSink2(void) : Ole2::IAdviseSink() { }
  601.     /* TObject.Destroy */ __fastcall virtual ~IAdviseSink2(void) { }
  602.     
  603. };
  604.  
  605. class __declspec(delphiclass) IDataObject;
  606. class __declspec(pascalimplementation) IDataObject : public IUnknown
  607. {
  608.     typedef IUnknown inherited;
  609.     
  610. public:
  611.     virtual long __stdcall GetData(FORMATETC &formatetcIn, STGMEDIUM &medium) = 0;
  612.     virtual long __stdcall GetDataHere(FORMATETC &formatetc, STGMEDIUM &medium) = 0;
  613.     virtual long __stdcall QueryGetData(FORMATETC &formatetc) = 0;
  614.     virtual long __stdcall GetCanonicalFormatEtc(FORMATETC &formatetc, FORMATETC &formatetcOut) = 0
  615.         ;
  616.     virtual long __stdcall SetData(FORMATETC &formatetc, STGMEDIUM &medium, DWord fRelease) = 0;
  617.     virtual long __stdcall EnumFormatEtc(long dwDirection, IEnumFormatEtc* &enumFormatEtc) = 0;
  618.     virtual long __stdcall DAdvise(FORMATETC &formatetc, long advf, IAdviseSink* advSink, long &dwConnection
  619.         ) = 0;
  620.     virtual long __stdcall DUnadvise(long dwConnection) = 0;
  621.     virtual long __stdcall EnumDAdvise(IEnumStatData* &enumAdvise) = 0;
  622. public:
  623.     /* TObject.Create */ __fastcall IDataObject(void) : Ole2::IUnknown() { }
  624.     /* TObject.Destroy */ __fastcall virtual ~IDataObject(void) { }
  625.     
  626. };
  627.  
  628. class __declspec(delphiclass) IDataAdviseHolder;
  629. class __declspec(pascalimplementation) IDataAdviseHolder : public IUnknown
  630. {
  631.     typedef IUnknown inherited;
  632.     
  633. public:
  634.     virtual long __stdcall Advise(IDataObject* dataObject, FORMATETC &fetc, long advf, IAdviseSink* 
  635.         advise, long &pdwConnection) = 0;
  636.     virtual long __stdcall Unadvise(long dwConnection) = 0;
  637.     virtual long __stdcall EnumAdvise(IEnumStatData* &enumAdvise) = 0;
  638.     virtual long __stdcall SendOnDataChange(IDataObject* dataObject, long dwReserved, long advf) = 0;
  639. public:
  640.         
  641.     /* TObject.Create */ __fastcall IDataAdviseHolder(void) : Ole2::IUnknown() { }
  642.     /* TObject.Destroy */ __fastcall virtual ~IDataAdviseHolder(void) { }
  643.     
  644. };
  645.  
  646. typedef tagINTERFACEINFO *PInterfaceInfo;
  647.  
  648. typedef tagINTERFACEINFO  TInterfaceInfo;
  649.  
  650. class __declspec(delphiclass) IMessageFilter;
  651. class __declspec(pascalimplementation) IMessageFilter : public IUnknown
  652. {
  653.     typedef IUnknown inherited;
  654.     
  655. public:
  656.     virtual long __stdcall HandleInComingCall(long dwCallType, HTASK htaskCaller, long dwTickCount, PInterfaceInfo 
  657.         lpInterfaceInfo) = 0;
  658.     virtual long __stdcall RetryRejectedCall(HTASK htaskCallee, long dwTickCount, long dwRejectType) = 0
  659.         ;
  660.     virtual long __stdcall MessagePending(HTASK htaskCallee, long dwTickCount, long dwPendingType) = 0;
  661.         
  662. public:
  663.     /* TObject.Create */ __fastcall IMessageFilter(void) : Ole2::IUnknown() { }
  664.     /* TObject.Destroy */ __fastcall virtual ~IMessageFilter(void) { }
  665.     
  666. };
  667.  
  668. typedef long TRpcOleDataRep;
  669.  
  670. typedef tagRPCOLEMESSAGE *PRpcOleMessage;
  671.  
  672. typedef tagRPCOLEMESSAGE  TRpcOleMessage;
  673.  
  674. class __declspec(delphiclass) IRpcChannelBuffer;
  675. class __declspec(pascalimplementation) IRpcChannelBuffer : public IUnknown
  676. {
  677.     typedef IUnknown inherited;
  678.     
  679. public:
  680.     virtual long __stdcall GetBuffer(RPCOLEMESSAGE &message, const GUID &iid) = 0;
  681.     virtual long __stdcall SendReceive(RPCOLEMESSAGE &message, long &status) = 0;
  682.     virtual long __stdcall FreeBuffer(RPCOLEMESSAGE &message) = 0;
  683.     virtual long __stdcall GetDestCtx(long &dwDestContext, void *pvDestContext) = 0;
  684.     virtual long __stdcall IsConnected(void) = 0;
  685. public:
  686.     /* TObject.Create */ __fastcall IRpcChannelBuffer(void) : Ole2::IUnknown() { }
  687.     /* TObject.Destroy */ __fastcall virtual ~IRpcChannelBuffer(void) { }
  688.     
  689. };
  690.  
  691. class __declspec(delphiclass) IRpcProxyBuffer;
  692. class __declspec(pascalimplementation) IRpcProxyBuffer : public IUnknown
  693. {
  694.     typedef IUnknown inherited;
  695.     
  696. public:
  697.     virtual long __stdcall Connect(IRpcChannelBuffer* rpcChannelBuffer) = 0;
  698.     virtual void __stdcall Disconnect(void) = 0;
  699. public:
  700.     /* TObject.Create */ __fastcall IRpcProxyBuffer(void) : Ole2::IUnknown() { }
  701.     /* TObject.Destroy */ __fastcall virtual ~IRpcProxyBuffer(void) { }
  702.     
  703. };
  704.  
  705. class __declspec(delphiclass) IRpcStubBuffer;
  706. class __declspec(pascalimplementation) IRpcStubBuffer : public IUnknown
  707. {
  708.     typedef IUnknown inherited;
  709.     
  710. public:
  711.     virtual long __stdcall Connect(IUnknown* unkServer) = 0;
  712.     virtual void __stdcall Disconnect(void) = 0;
  713.     virtual long __stdcall Invoke(RPCOLEMESSAGE &rpcmsg, IRpcChannelBuffer* rpcChannelBuffer) = 0;
  714.     virtual IRpcStubBuffer* __stdcall IsIIDSupported(const GUID &iid) = 0;
  715.     virtual long __stdcall CountRefs(void) = 0;
  716.     virtual long __stdcall DebugServerQueryInterface(void *pv) = 0;
  717.     virtual void __stdcall DebugServerRelease(void * pv) = 0;
  718. public:
  719.     /* TObject.Create */ __fastcall IRpcStubBuffer(void) : Ole2::IUnknown() { }
  720.     /* TObject.Destroy */ __fastcall virtual ~IRpcStubBuffer(void) { }
  721.     
  722. };
  723.  
  724. class __declspec(delphiclass) IPSFactoryBuffer;
  725. class __declspec(pascalimplementation) IPSFactoryBuffer : public IUnknown
  726. {
  727.     typedef IUnknown inherited;
  728.     
  729. public:
  730.     virtual long __stdcall CreateProxy(IUnknown* unkOuter, const GUID &iid, IRpcProxyBuffer* &proxy, void 
  731.         *pv) = 0;
  732.     virtual long __stdcall CreateStub(const GUID &iid, IUnknown* unkServer, IRpcStubBuffer* &stub) = 0
  733.         ;
  734. public:
  735.     /* TObject.Create */ __fastcall IPSFactoryBuffer(void) : Ole2::IUnknown() { }
  736.     /* TObject.Destroy */ __fastcall virtual ~IPSFactoryBuffer(void) { }
  737.     
  738. };
  739.  
  740. typedef wchar_t * *PBStr;
  741.  
  742. typedef wchar_t *TBStr;
  743.  
  744. typedef wchar_t *TBStrList[65536];
  745.  
  746. typedef TBStrList *PBStrList;
  747.  
  748. typedef tagBLOB *PBlob;
  749.  
  750. typedef tagBLOB  TBlob;
  751.  
  752. typedef tagCLIPDATA *PClipData;
  753.  
  754. typedef tagCLIPDATA  TClipData;
  755.  
  756. typedef tagSAFEARRAYBOUND *PSafeArrayBound;
  757.  
  758. typedef tagSAFEARRAYBOUND  TSafeArrayBound;
  759.  
  760. typedef tagSAFEARRAY *PSafeArray;
  761.  
  762. typedef tagSAFEARRAY  TSafeArray;
  763.  
  764. typedef double TOleDate;
  765.  
  766. typedef System::Comp TCurrency;
  767.  
  768. typedef Word TOleBool;
  769.  
  770. typedef Word TVarType;
  771.  
  772. typedef tagVARIANT *PVariantArg;
  773.  
  774. class __declspec(delphiclass) IDispatch;
  775. class __declspec(delphiclass) ITypeInfo;
  776. typedef long TDispIDList[65536];
  777.  
  778. typedef TDispIDList *PDispIDList;
  779.  
  780. typedef tagEXCEPINFO *PExcepInfo;
  781.  
  782. class __declspec(pascalimplementation) IDispatch : public IUnknown
  783. {
  784.     typedef IUnknown inherited;
  785.     
  786. public:
  787.     virtual long __stdcall GetTypeInfoCount(int &ctinfo) = 0;
  788.     virtual long __stdcall GetTypeInfo(int itinfo, long lcid, ITypeInfo* &tinfo) = 0;
  789.     virtual long __stdcall GetIDsOfNames(const GUID &iid, POleStrList rgszNames, int cNames, long lcid
  790.         , PDispIDList rgdispid) = 0;
  791.     virtual long __stdcall Invoke(long dispIDMember, const GUID &iid, long lcid, Word flags, DISPPARAMS 
  792.         &dispParams, System::PVariant varResult, PExcepInfo excepInfo, Windows::PInteger argErr) = 0;
  793. public:
  794.         
  795.     /* TObject.Create */ __fastcall IDispatch(void) : Ole2::IUnknown() { }
  796.     /* TObject.Destroy */ __fastcall virtual ~IDispatch(void) { }
  797.     
  798. };
  799.  
  800. typedef tagVARIANT  TVariantArg;
  801.  
  802. typedef tagVARIANT TVariantArgList[65536];
  803.  
  804. typedef TVariantArgList *PVariantArgList;
  805.  
  806. typedef long TDispID;
  807.  
  808. typedef long TMemberID;
  809.  
  810. typedef long TMemberIDList[65536];
  811.  
  812. typedef TMemberIDList *PMemberIDList;
  813.  
  814. typedef long TPropID;
  815.  
  816. typedef long HRefType;
  817.  
  818. typedef long TTypeKind;
  819.  
  820. typedef tagARRAYDESC *PArrayDesc;
  821.  
  822. typedef tagTYPEDESC *PTypeDesc;
  823.  
  824. typedef tagTYPEDESC  TTypeDesc;
  825.  
  826. typedef tagARRAYDESC  TArrayDesc;
  827.  
  828. typedef tagIDLDESC *PIDLDesc;
  829.  
  830. typedef tagIDLDESC  TIDLDesc;
  831.  
  832. typedef tagELEMDESC *PElemDesc;
  833.  
  834. typedef tagELEMDESC  TElemDesc;
  835.  
  836. typedef tagELEMDESC TElemDescList[65536];
  837.  
  838. typedef TElemDescList *PElemDescList;
  839.  
  840. typedef tagTYPEATTR *PTypeAttr;
  841.  
  842. typedef tagTYPEATTR  TTypeAttr;
  843.  
  844. typedef tagDISPPARAMS *PDispParams;
  845.  
  846. typedef tagDISPPARAMS  TDispParams;
  847.  
  848. typedef long __stdcall (*TFNDeferredFillIn)(PExcepInfo ExInfo);
  849.  
  850. typedef tagEXCEPINFO  TExcepInfo;
  851.  
  852. typedef long TFuncKind;
  853.  
  854. typedef long TInvokeKind;
  855.  
  856. typedef long TCallConv;
  857.  
  858. typedef tagFUNCDESC *PFuncDesc;
  859.  
  860. typedef tagFUNCDESC  TFuncDesc;
  861.  
  862. typedef long TVarKind;
  863.  
  864. typedef tagVARDESC *PVarDesc;
  865.  
  866. typedef tagVARDESC  TVarDesc;
  867.  
  868. class __declspec(delphiclass) ICreateTypeInfo;
  869. class __declspec(pascalimplementation) ICreateTypeInfo : public IUnknown
  870. {
  871.     typedef IUnknown inherited;
  872.     
  873. public:
  874.     virtual long __stdcall SetGuid(const GUID &guid) = 0;
  875.     virtual long __stdcall SetTypeFlags(int uTypeFlags) = 0;
  876.     virtual long __stdcall SetDocString(wchar_t * pstrDoc) = 0;
  877.     virtual long __stdcall SetHelpContext(long dwHelpContext) = 0;
  878.     virtual long __stdcall SetVersion(Word wMajorVerNum, Word wMinorVerNum) = 0;
  879.     virtual long __stdcall AddRefTypeInfo(ITypeInfo* tinfo, long &reftype) = 0;
  880.     virtual long __stdcall AddFuncDesc(int index, FUNCDESC &funcdesc) = 0;
  881.     virtual long __stdcall AddImplType(int index, long reftype) = 0;
  882.     virtual long __stdcall SetImplTypeFlags(int index, int impltypeflags) = 0;
  883.     virtual long __stdcall SetAlignment(Word cbAlignment) = 0;
  884.     virtual long __stdcall SetSchema(wchar_t * lpstrSchema) = 0;
  885.     virtual long __stdcall AddVarDesc(int index, VARDESC &vardesc) = 0;
  886.     virtual long __stdcall SetFuncAndParamNames(int index, POleStrList rgszNames, int cNames) = 0;
  887.     virtual long __stdcall SetVarName(int index, wchar_t * szName) = 0;
  888.     virtual long __stdcall SetTypeDescAlias(TYPEDESC &descAlias) = 0;
  889.     virtual long __stdcall DefineFuncAsDllEntry(int index, wchar_t * szDllName, wchar_t * szProcName) = 0
  890.         ;
  891.     virtual long __stdcall SetFuncDocString(int index, wchar_t * szDocString) = 0;
  892.     virtual long __stdcall SetVarDocString(int index, wchar_t * szDocString) = 0;
  893.     virtual long __stdcall SetFuncHelpContext(int index, long dwHelpContext) = 0;
  894.     virtual long __stdcall SetVarHelpContext(int index, long dwHelpContext) = 0;
  895.     virtual long __stdcall SetMops(int index, wchar_t * bstrMops) = 0;
  896.     virtual long __stdcall SetTypeIdldesc(IDLDESC &idldesc) = 0;
  897.     virtual long __stdcall LayOut(void) = 0;
  898. public:
  899.     /* TObject.Create */ __fastcall ICreateTypeInfo(void) : Ole2::IUnknown() { }
  900.     /* TObject.Destroy */ __fastcall virtual ~ICreateTypeInfo(void) { }
  901.     
  902. };
  903.  
  904. class __declspec(delphiclass) ICreateTypeLib;
  905. class __declspec(pascalimplementation) ICreateTypeLib : public IUnknown
  906. {
  907.     typedef IUnknown inherited;
  908.     
  909. public:
  910.     virtual long __stdcall CreateTypeInfo(wchar_t * szName, long tkind, ICreateTypeInfo* &ictinfo) = 0;
  911.         
  912.     virtual long __stdcall SetName(wchar_t * szName) = 0;
  913.     virtual long __stdcall SetVersion(Word wMajorVerNum, Word wMinorVerNum) = 0;
  914.     virtual long __stdcall SetGuid(const GUID &guid) = 0;
  915.     virtual long __stdcall SetDocString(wchar_t * szDoc) = 0;
  916.     virtual long __stdcall SetHelpFileName(wchar_t * szHelpFileName) = 0;
  917.     virtual long __stdcall SetHelpContext(long dwHelpContext) = 0;
  918.     virtual long __stdcall SetLcid(long lcid) = 0;
  919.     virtual long __stdcall SetLibFlags(int uLibFlags) = 0;
  920.     virtual long __stdcall SaveAllChanges(void) = 0;
  921. public:
  922.     /* TObject.Create */ __fastcall ICreateTypeLib(void) : Ole2::IUnknown() { }
  923.     /* TObject.Destroy */ __fastcall virtual ~ICreateTypeLib(void) { }
  924.     
  925. };
  926.  
  927. class __declspec(delphiclass) IEnumVariant;
  928. class __declspec(pascalimplementation) IEnumVariant : public IUnknown
  929. {
  930.     typedef IUnknown inherited;
  931.     
  932. public:
  933.     virtual long __stdcall Next(long celt, void *elt, long &pceltFetched) = 0;
  934.     virtual long __stdcall Skip(long celt) = 0;
  935.     virtual long __stdcall Reset(void) = 0;
  936.     virtual long __stdcall Clone(IEnumVariant* &Enum) = 0;
  937. public:
  938.     /* TObject.Create */ __fastcall IEnumVariant(void) : Ole2::IUnknown() { }
  939.     /* TObject.Destroy */ __fastcall virtual ~IEnumVariant(void) { }
  940.     
  941. };
  942.  
  943. typedef long TDescKind;
  944.  
  945. typedef tagBINDPTR *PBindPtr;
  946.  
  947. class __declspec(delphiclass) ITypeComp;
  948. class __declspec(pascalimplementation) ITypeComp : public IUnknown
  949. {
  950.     typedef IUnknown inherited;
  951.     
  952. public:
  953.     virtual long __stdcall Bind(wchar_t * szName, long lHashVal, Word wflags, ITypeInfo* &tinfo, long &
  954.         desckind, BINDPTR &bindptr) = 0;
  955.     virtual long __stdcall BindType(wchar_t * szName, long lHashVal, ITypeInfo* &tinfo, ITypeComp* &tcomp
  956.         ) = 0;
  957. public:
  958.     /* TObject.Create */ __fastcall ITypeComp(void) : Ole2::IUnknown() { }
  959.     /* TObject.Destroy */ __fastcall virtual ~ITypeComp(void) { }
  960.     
  961. };
  962.  
  963. typedef tagBINDPTR  TBindPtr;
  964.  
  965. class __declspec(delphiclass) ITypeLib;
  966. class __declspec(pascalimplementation) ITypeInfo : public IUnknown
  967. {
  968.     typedef IUnknown inherited;
  969.     
  970. public:
  971.     virtual long __stdcall GetTypeAttr(PTypeAttr &ptypeattr) = 0;
  972.     virtual long __stdcall GetTypeComp(ITypeComp* &tcomp) = 0;
  973.     virtual long __stdcall GetFuncDesc(int index, PFuncDesc &pfuncdesc) = 0;
  974.     virtual long __stdcall GetVarDesc(int index, PVarDesc &pvardesc) = 0;
  975.     virtual long __stdcall GetNames(long memid, PBStrList rgbstrNames, int cMaxNames, int &cNames) = 0;
  976.         
  977.     virtual long __stdcall GetRefTypeOfImplType(int index, long &reftype) = 0;
  978.     virtual long __stdcall GetImplTypeFlags(int index, int &impltypeflags) = 0;
  979.     virtual long __stdcall GetIDsOfNames(POleStrList rgpszNames, int cNames, PMemberIDList rgmemid) = 0
  980.         ;
  981.     virtual long __stdcall Invoke(void * pvInstance, long memid, Word flags, DISPPARAMS &dispParams, 
  982.         System::PVariant varResult, PExcepInfo excepInfo, Windows::PInteger argErr) = 0;
  983.     virtual long __stdcall GetDocumentation(long memid, PBStr pbstrName, PBStr pbstrDocString, Windows::PLongint 
  984.         pdwHelpContext, PBStr pbstrHelpFile) = 0;
  985.     virtual long __stdcall GetDllEntry(long memid, long invkind, wchar_t * &bstrDllName, wchar_t * &bstrName
  986.         , Word &wOrdinal) = 0;
  987.     virtual long __stdcall GetRefTypeInfo(long reftype, ITypeInfo* &tinfo) = 0;
  988.     virtual long __stdcall AddressOfMember(long memid, long invkind, void * &ppv) = 0;
  989.     virtual long __stdcall CreateInstance(IUnknown* unkOuter, const GUID &iid, void *vObj) = 0;
  990.     virtual long __stdcall GetMops(long memid, wchar_t * &bstrMops) = 0;
  991.     virtual long __stdcall GetContainingTypeLib(ITypeLib* &tlib, int &pindex) = 0;
  992.     virtual void __stdcall ReleaseTypeAttr(PTypeAttr ptypeattr) = 0;
  993.     virtual void __stdcall ReleaseFuncDesc(PFuncDesc pfuncdesc) = 0;
  994.     virtual void __stdcall ReleaseVarDesc(PVarDesc pvardesc) = 0;
  995. public:
  996.     /* TObject.Create */ __fastcall ITypeInfo(void) : Ole2::IUnknown() { }
  997.     /* TObject.Destroy */ __fastcall virtual ~ITypeInfo(void) { }
  998.     
  999. };
  1000.  
  1001. typedef long TSysKind;
  1002.  
  1003. typedef tagTLIBATTR *PTLibAttr;
  1004.  
  1005. typedef tagTLIBATTR  TTLibAttr;
  1006.  
  1007. typedef ITypeInfo* TTypeInfoList[65536];
  1008.  
  1009. typedef TTypeInfoList *PTypeInfoList;
  1010.  
  1011. class __declspec(pascalimplementation) ITypeLib : public IUnknown
  1012. {
  1013.     typedef IUnknown inherited;
  1014.     
  1015. public:
  1016.     virtual int __stdcall GetTypeInfoCount(void) = 0;
  1017.     virtual long __stdcall GetTypeInfo(int index, ITypeInfo* &tinfo) = 0;
  1018.     virtual long __stdcall GetTypeInfoType(int index, long &tkind) = 0;
  1019.     virtual long __stdcall GetTypeInfoOfGuid(const GUID &guid, ITypeInfo* &tinfo) = 0;
  1020.     virtual long __stdcall GetLibAttr(PTLibAttr &ptlibattr) = 0;
  1021.     virtual long __stdcall GetTypeComp(ITypeComp* &tcomp) = 0;
  1022.     virtual long __stdcall GetDocumentation(int index, PBStr pbstrName, PBStr pbstrDocString, Windows::PLongint 
  1023.         pdwHelpContext, PBStr pbstrHelpFile) = 0;
  1024.     virtual long __stdcall IsName(wchar_t * szNameBuf, long lHashVal, DWord &fName) = 0;
  1025.     virtual long __stdcall FindName(wchar_t * szNameBuf, long lHashVal, PTypeInfoList rgptinfo, PMemberIDList 
  1026.         rgmemid, Word &pcFound) = 0;
  1027.     virtual void __stdcall ReleaseTLibAttr(PTLibAttr ptlibattr) = 0;
  1028. public:
  1029.     /* TObject.Create */ __fastcall ITypeLib(void) : Ole2::IUnknown() { }
  1030.     /* TObject.Destroy */ __fastcall virtual ~ITypeLib(void) { }
  1031.     
  1032. };
  1033.  
  1034. class __declspec(delphiclass) IErrorInfo;
  1035. class __declspec(pascalimplementation) IErrorInfo : public IUnknown
  1036. {
  1037.     typedef IUnknown inherited;
  1038.     
  1039. public:
  1040.     virtual long __stdcall GetGUID(GUID &guid) = 0;
  1041.     virtual long __stdcall GetSource(wchar_t * &bstrSource) = 0;
  1042.     virtual long __stdcall GetDescription(wchar_t * &bstrDescription) = 0;
  1043.     virtual long __stdcall GetHelpFile(wchar_t * &bstrHelpFile) = 0;
  1044.     virtual long __stdcall GetHelpContext(long &dwHelpContext) = 0;
  1045. public:
  1046.     /* TObject.Create */ __fastcall IErrorInfo(void) : Ole2::IUnknown() { }
  1047.     /* TObject.Destroy */ __fastcall virtual ~IErrorInfo(void) { }
  1048.     
  1049. };
  1050.  
  1051. class __declspec(delphiclass) ICreateErrorInfo;
  1052. class __declspec(pascalimplementation) ICreateErrorInfo : public IUnknown
  1053. {
  1054.     typedef IUnknown inherited;
  1055.     
  1056. public:
  1057.     virtual long __stdcall SetGUID(const GUID &guid) = 0;
  1058.     virtual long __stdcall SetSource(wchar_t * szSource) = 0;
  1059.     virtual long __stdcall SetDescription(wchar_t * szDescription) = 0;
  1060.     virtual long __stdcall SetHelpFile(wchar_t * szHelpFile) = 0;
  1061.     virtual long __stdcall SetHelpContext(long dwHelpContext) = 0;
  1062. public:
  1063.     /* TObject.Create */ __fastcall ICreateErrorInfo(void) : Ole2::IUnknown() { }
  1064.     /* TObject.Destroy */ __fastcall virtual ~ICreateErrorInfo(void) { }
  1065.     
  1066. };
  1067.  
  1068. class __declspec(delphiclass) ISupportErrorInfo;
  1069. class __declspec(pascalimplementation) ISupportErrorInfo : public IUnknown
  1070. {
  1071.     typedef IUnknown inherited;
  1072.     
  1073. public:
  1074.     virtual long __stdcall InterfaceSupportsErrorInfo(const GUID &iid) = 0;
  1075. public:
  1076.     /* TObject.Create */ __fastcall ISupportErrorInfo(void) : Ole2::IUnknown() { }
  1077.     /* TObject.Destroy */ __fastcall virtual ~ISupportErrorInfo(void) { }
  1078.     
  1079. };
  1080.  
  1081. typedef tagPARAMDATA *PParamData;
  1082.  
  1083. typedef tagPARAMDATA  TParamData;
  1084.  
  1085. typedef tagPARAMDATA TParamDataList[65536];
  1086.  
  1087. typedef TParamDataList *PParamDataList;
  1088.  
  1089. typedef tagMETHODDATA *PMethodData;
  1090.  
  1091. typedef tagMETHODDATA  TMethodData;
  1092.  
  1093. typedef tagMETHODDATA TMethodDataList[65536];
  1094.  
  1095. typedef TMethodDataList *PMethodDataList;
  1096.  
  1097. typedef tagINTERFACEDATA *PInterfaceData;
  1098.  
  1099. typedef tagINTERFACEDATA  TInterfaceData;
  1100.  
  1101. class __declspec(delphiclass) IOleAdviseHolder;
  1102. class __declspec(pascalimplementation) IOleAdviseHolder : public IUnknown
  1103. {
  1104.     typedef IUnknown inherited;
  1105.     
  1106. public:
  1107.     virtual long __stdcall Advise(IAdviseSink* advise, long &dwConnection) = 0;
  1108.     virtual long __stdcall Unadvise(long dwConnection) = 0;
  1109.     virtual long __stdcall EnumAdvise(IEnumStatData* &enumAdvise) = 0;
  1110.     virtual long __stdcall SendOnRename(IMoniker* mk) = 0;
  1111.     virtual long __stdcall SendOnSave(void) = 0;
  1112.     virtual long __stdcall SendOnClose(void) = 0;
  1113. public:
  1114.     /* TObject.Create */ __fastcall IOleAdviseHolder(void) : Ole2::IUnknown() { }
  1115.     /* TObject.Destroy */ __fastcall virtual ~IOleAdviseHolder(void) { }
  1116.     
  1117. };
  1118.  
  1119. class __declspec(delphiclass) IOleCache;
  1120. class __declspec(pascalimplementation) IOleCache : public IUnknown
  1121. {
  1122.     typedef IUnknown inherited;
  1123.     
  1124. public:
  1125.     virtual long __stdcall Cache(FORMATETC &formatetc, long advf, long &dwConnection) = 0;
  1126.     virtual long __stdcall Uncache(long dwConnection) = 0;
  1127.     virtual long __stdcall EnumCache(IEnumStatData* &enumStatData) = 0;
  1128.     virtual long __stdcall InitCache(IDataObject* dataObject) = 0;
  1129.     virtual long __stdcall SetData(FORMATETC &formatetc, STGMEDIUM &medium, DWord fRelease) = 0;
  1130. public:
  1131.         
  1132.     /* TObject.Create */ __fastcall IOleCache(void) : Ole2::IUnknown() { }
  1133.     /* TObject.Destroy */ __fastcall virtual ~IOleCache(void) { }
  1134.     
  1135. };
  1136.  
  1137. class __declspec(delphiclass) IOleCache2;
  1138. class __declspec(pascalimplementation) IOleCache2 : public IOleCache
  1139. {
  1140.     typedef IOleCache inherited;
  1141.     
  1142. public:
  1143.     virtual long __stdcall UpdateCache(IDataObject* dataObject, long grfUpdf, void * pReserved) = 0;
  1144.     virtual long __stdcall DiscardCache(long dwDiscardOptions) = 0;
  1145. public:
  1146.     /* TObject.Create */ __fastcall IOleCache2(void) : Ole2::IOleCache() { }
  1147.     /* TObject.Destroy */ __fastcall virtual ~IOleCache2(void) { }
  1148.     
  1149. };
  1150.  
  1151. class __declspec(delphiclass) IOleCacheControl;
  1152. class __declspec(pascalimplementation) IOleCacheControl : public IUnknown
  1153. {
  1154.     typedef IUnknown inherited;
  1155.     
  1156. public:
  1157.     virtual long __stdcall OnRun(IDataObject* dataObject) = 0;
  1158.     virtual long __stdcall OnStop(void) = 0;
  1159. public:
  1160.     /* TObject.Create */ __fastcall IOleCacheControl(void) : Ole2::IUnknown() { }
  1161.     /* TObject.Destroy */ __fastcall virtual ~IOleCacheControl(void) { }
  1162.     
  1163. };
  1164.  
  1165. class __declspec(delphiclass) IParseDisplayName;
  1166. class __declspec(pascalimplementation) IParseDisplayName : public IUnknown
  1167. {
  1168.     typedef IUnknown inherited;
  1169.     
  1170. public:
  1171.     virtual long __stdcall ParseDisplayName(IBindCtx* bc, wchar_t * pszDisplayName, long &chEaten, IMoniker* 
  1172.         &mkOut) = 0;
  1173. public:
  1174.     /* TObject.Create */ __fastcall IParseDisplayName(void) : Ole2::IUnknown() { }
  1175.     /* TObject.Destroy */ __fastcall virtual ~IParseDisplayName(void) { }
  1176.     
  1177. };
  1178.  
  1179. class __declspec(delphiclass) IOleContainer;
  1180. class __declspec(pascalimplementation) IOleContainer : public IParseDisplayName
  1181. {
  1182.     typedef IParseDisplayName inherited;
  1183.     
  1184. public:
  1185.     virtual long __stdcall EnumObjects(long grfFlags, IEnumUnknown* &Enum) = 0;
  1186.     virtual long __stdcall LockContainer(DWord fLock) = 0;
  1187. public:
  1188.     /* TObject.Create */ __fastcall IOleContainer(void) : Ole2::IParseDisplayName() { }
  1189.     /* TObject.Destroy */ __fastcall virtual ~IOleContainer(void) { }
  1190.     
  1191. };
  1192.  
  1193. class __declspec(delphiclass) IOleClientSite;
  1194. class __declspec(pascalimplementation) IOleClientSite : public IUnknown
  1195. {
  1196.     typedef IUnknown inherited;
  1197.     
  1198. public:
  1199.     virtual long __stdcall SaveObject(void) = 0;
  1200.     virtual long __stdcall GetMoniker(long dwAssign, long dwWhichMoniker, IMoniker* &mk) = 0;
  1201.     virtual long __stdcall GetContainer(IOleContainer* &container) = 0;
  1202.     virtual long __stdcall ShowObject(void) = 0;
  1203.     virtual long __stdcall OnShowWindow(DWord fShow) = 0;
  1204.     virtual long __stdcall RequestNewObjectLayout(void) = 0;
  1205. public:
  1206.     /* TObject.Create */ __fastcall IOleClientSite(void) : Ole2::IUnknown() { }
  1207.     /* TObject.Destroy */ __fastcall virtual ~IOleClientSite(void) { }
  1208.     
  1209. };
  1210.  
  1211. class __declspec(delphiclass) IOleObject;
  1212. class __declspec(delphiclass) IEnumOleVerb;
  1213. class __declspec(pascalimplementation) IOleObject : public IUnknown
  1214. {
  1215.     typedef IUnknown inherited;
  1216.     
  1217. public:
  1218.     virtual long __stdcall SetClientSite(IOleClientSite* clientSite) = 0;
  1219.     virtual long __stdcall GetClientSite(IOleClientSite* &clientSite) = 0;
  1220.     virtual long __stdcall SetHostNames(wchar_t * szContainerApp, wchar_t * szContainerObj) = 0;
  1221.     virtual long __stdcall Close(long dwSaveOption) = 0;
  1222.     virtual long __stdcall SetMoniker(long dwWhichMoniker, IMoniker* mk) = 0;
  1223.     virtual long __stdcall GetMoniker(long dwAssign, long dwWhichMoniker, IMoniker* &mk) = 0;
  1224.     virtual long __stdcall InitFromData(IDataObject* dataObject, DWord fCreation, long dwReserved) = 0;
  1225.         
  1226.     virtual long __stdcall GetClipboardData(long dwReserved, IDataObject* &dataObject) = 0;
  1227.     virtual long __stdcall DoVerb(long iVerb, Windows::PMsg msg, IOleClientSite* activeSite, long lindex
  1228.         , HWND hwndParent, const Windows::TRect &posRect) = 0;
  1229.     virtual long __stdcall EnumVerbs(IEnumOleVerb* &enumOleVerb) = 0;
  1230.     virtual long __stdcall Update(void) = 0;
  1231.     virtual long __stdcall IsUpToDate(void) = 0;
  1232.     virtual long __stdcall GetUserClassID(GUID &clsid) = 0;
  1233.     virtual long __stdcall GetUserType(long dwFormOfType, wchar_t * &pszUserType) = 0;
  1234.     virtual long __stdcall SetExtent(long dwDrawAspect, const POINT &size) = 0;
  1235.     virtual long __stdcall GetExtent(long dwDrawAspect, POINT &size) = 0;
  1236.     virtual long __stdcall Advise(IAdviseSink* advSink, long &dwConnection) = 0;
  1237.     virtual long __stdcall Unadvise(long dwConnection) = 0;
  1238.     virtual long __stdcall EnumAdvise(IEnumStatData* &enumAdvise) = 0;
  1239.     virtual long __stdcall GetMiscStatus(long dwAspect, long &dwStatus) = 0;
  1240.     virtual long __stdcall SetColorScheme(LOGPALETTE &logpal) = 0;
  1241. public:
  1242.     /* TObject.Create */ __fastcall IOleObject(void) : Ole2::IUnknown() { }
  1243.     /* TObject.Destroy */ __fastcall virtual ~IOleObject(void) { }
  1244.     
  1245. };
  1246.  
  1247. typedef tagOBJECTDESCRIPTOR *PObjectDescriptor;
  1248.  
  1249. typedef tagOBJECTDESCRIPTOR  TObjectDescriptor;
  1250.  
  1251. typedef tagOBJECTDESCRIPTOR *PLinkSrcDescriptor;
  1252.  
  1253. typedef tagOBJECTDESCRIPTOR  TLinkSrcDescriptor;
  1254.  
  1255. class __declspec(delphiclass) IOleWindow;
  1256. class __declspec(pascalimplementation) IOleWindow : public IUnknown
  1257. {
  1258.     typedef IUnknown inherited;
  1259.     
  1260. public:
  1261.     virtual long __stdcall GetWindow(HWND &wnd) = 0;
  1262.     virtual long __stdcall ContextSensitiveHelp(DWord fEnterMode) = 0;
  1263. public:
  1264.     /* TObject.Create */ __fastcall IOleWindow(void) : Ole2::IUnknown() { }
  1265.     /* TObject.Destroy */ __fastcall virtual ~IOleWindow(void) { }
  1266.     
  1267. };
  1268.  
  1269. class __declspec(delphiclass) IOleLink;
  1270. class __declspec(pascalimplementation) IOleLink : public IUnknown
  1271. {
  1272.     typedef IUnknown inherited;
  1273.     
  1274. public:
  1275.     virtual long __stdcall SetUpdateOptions(long dwUpdateOpt) = 0;
  1276.     virtual long __stdcall GetUpdateOptions(long &dwUpdateOpt) = 0;
  1277.     virtual long __stdcall SetSourceMoniker(IMoniker* mk, const GUID &clsid) = 0;
  1278.     virtual long __stdcall GetSourceMoniker(IMoniker* &mk) = 0;
  1279.     virtual long __stdcall SetSourceDisplayName(wchar_t * pszDisplayName) = 0;
  1280.     virtual long __stdcall GetSourceDisplayName(wchar_t * &pszDisplayName) = 0;
  1281.     virtual long __stdcall BindToSource(long bindflags, IBindCtx* bc) = 0;
  1282.     virtual long __stdcall BindIfRunning(void) = 0;
  1283.     virtual long __stdcall GetBoundSource(IUnknown* &unk) = 0;
  1284.     virtual long __stdcall UnbindSource(void) = 0;
  1285.     virtual long __stdcall Update(IBindCtx* bc) = 0;
  1286. public:
  1287.     /* TObject.Create */ __fastcall IOleLink(void) : Ole2::IUnknown() { }
  1288.     /* TObject.Destroy */ __fastcall virtual ~IOleLink(void) { }
  1289.     
  1290. };
  1291.  
  1292. class __declspec(delphiclass) IOleItemContainer;
  1293. class __declspec(pascalimplementation) IOleItemContainer : public IOleContainer
  1294. {
  1295.     typedef IOleContainer inherited;
  1296.     
  1297. public:
  1298.     virtual long __stdcall GetObject(wchar_t * pszItem, long dwSpeedNeeded, IBindCtx* bc, const GUID &iid
  1299.         , void *vObject) = 0;
  1300.     virtual long __stdcall GetObjectStorage(wchar_t * pszItem, IBindCtx* bc, const GUID &iid, void *vStorage
  1301.         ) = 0;
  1302.     virtual long __stdcall IsRunning(wchar_t * pszItem) = 0;
  1303. public:
  1304.     /* TObject.Create */ __fastcall IOleItemContainer(void) : Ole2::IOleContainer() { }
  1305.     /* TObject.Destroy */ __fastcall virtual ~IOleItemContainer(void) { }
  1306.     
  1307. };
  1308.  
  1309. class __declspec(delphiclass) IOleInPlaceUIWindow;
  1310. class __declspec(delphiclass) IOleInPlaceActiveObject;
  1311. class __declspec(pascalimplementation) IOleInPlaceUIWindow : public IOleWindow
  1312. {
  1313.     typedef IOleWindow inherited;
  1314.     
  1315. public:
  1316.     virtual long __stdcall GetBorder(Windows::TRect &rectBorder) = 0;
  1317.     virtual long __stdcall RequestBorderSpace(const Windows::TRect &borderwidths) = 0;
  1318.     virtual long __stdcall SetBorderSpace(Windows::PRect pborderwidths) = 0;
  1319.     virtual long __stdcall SetActiveObject(IOleInPlaceActiveObject* activeObject, wchar_t * pszObjName)
  1320.          = 0;
  1321. public:
  1322.     /* TObject.Create */ __fastcall IOleInPlaceUIWindow(void) : Ole2::IOleWindow() { }
  1323.     /* TObject.Destroy */ __fastcall virtual ~IOleInPlaceUIWindow(void) { }
  1324.     
  1325. };
  1326.  
  1327. class __declspec(pascalimplementation) IOleInPlaceActiveObject : public IOleWindow
  1328. {
  1329.     typedef IOleWindow inherited;
  1330.     
  1331. public:
  1332.     virtual long __stdcall TranslateAccelerator(MSG &msg) = 0;
  1333.     virtual long __stdcall OnFrameWindowActivate(DWord fActivate) = 0;
  1334.     virtual long __stdcall OnDocWindowActivate(DWord fActivate) = 0;
  1335.     virtual long __stdcall ResizeBorder(const Windows::TRect &rcBorder, IOleInPlaceUIWindow* uiWindow, 
  1336.         DWord fFrameWindow) = 0;
  1337.     virtual long __stdcall EnableModeless(DWord fEnable) = 0;
  1338. public:
  1339.     /* TObject.Create */ __fastcall IOleInPlaceActiveObject(void) : Ole2::IOleWindow() { }
  1340.     /* TObject.Destroy */ __fastcall virtual ~IOleInPlaceActiveObject(void) { }
  1341.     
  1342. };
  1343.  
  1344. typedef tagOIFI *POleInPlaceFrameInfo;
  1345.  
  1346. typedef tagOIFI  TOleInPlaceFrameInfo;
  1347.  
  1348. typedef tagOleMenuGroupWidths *POleMenuGroupWidths;
  1349.  
  1350. typedef tagOleMenuGroupWidths  TOleMenuGroupWidths;
  1351.  
  1352. class __declspec(delphiclass) IOleInPlaceFrame;
  1353. class __declspec(pascalimplementation) IOleInPlaceFrame : public IOleInPlaceUIWindow
  1354. {
  1355.     typedef IOleInPlaceUIWindow inherited;
  1356.     
  1357. public:
  1358.     virtual long __stdcall InsertMenus(HMENU hmenuShared, OLEMENUGROUPWIDTHS &menuWidths) = 0;
  1359.     virtual long __stdcall SetMenu(HMENU hmenuShared, HMENU holemenu, HWND hwndActiveObject) = 0;
  1360.     virtual long __stdcall RemoveMenus(HMENU hmenuShared) = 0;
  1361.     virtual long __stdcall SetStatusText(wchar_t * pszStatusText) = 0;
  1362.     virtual long __stdcall EnableModeless(DWord fEnable) = 0;
  1363.     virtual long __stdcall TranslateAccelerator(MSG &msg, Word wID) = 0;
  1364. public:
  1365.     /* TObject.Create */ __fastcall IOleInPlaceFrame(void) : Ole2::IOleInPlaceUIWindow() { }
  1366.     /* TObject.Destroy */ __fastcall virtual ~IOleInPlaceFrame(void) { }
  1367.     
  1368. };
  1369.  
  1370. class __declspec(delphiclass) IOleInPlaceObject;
  1371. class __declspec(pascalimplementation) IOleInPlaceObject : public IOleWindow
  1372. {
  1373.     typedef IOleWindow inherited;
  1374.     
  1375. public:
  1376.     virtual long __stdcall InPlaceDeactivate(void) = 0;
  1377.     virtual long __stdcall UIDeactivate(void) = 0;
  1378.     virtual long __stdcall SetObjectRects(const Windows::TRect &rcPosRect, const Windows::TRect &rcClipRect
  1379.         ) = 0;
  1380.     virtual long __stdcall ReactivateAndUndo(void) = 0;
  1381. public:
  1382.     /* TObject.Create */ __fastcall IOleInPlaceObject(void) : Ole2::IOleWindow() { }
  1383.     /* TObject.Destroy */ __fastcall virtual ~IOleInPlaceObject(void) { }
  1384.     
  1385. };
  1386.  
  1387. class __declspec(delphiclass) IOleInPlaceSite;
  1388. class __declspec(pascalimplementation) IOleInPlaceSite : public IOleWindow
  1389. {
  1390.     typedef IOleWindow inherited;
  1391.     
  1392. public:
  1393.     virtual long __stdcall CanInPlaceActivate(void) = 0;
  1394.     virtual long __stdcall OnInPlaceActivate(void) = 0;
  1395.     virtual long __stdcall OnUIActivate(void) = 0;
  1396.     virtual long __stdcall GetWindowContext(IOleInPlaceFrame* &frame, IOleInPlaceUIWindow* &doc, Windows::TRect 
  1397.         &rcPosRect, Windows::TRect &rcClipRect, OLEINPLACEFRAMEINFO &frameInfo) = 0;
  1398.     virtual long __stdcall Scroll(const POINT &scrollExtent) = 0;
  1399.     virtual long __stdcall OnUIDeactivate(DWord fUndoable) = 0;
  1400.     virtual long __stdcall OnInPlaceDeactivate(void) = 0;
  1401.     virtual long __stdcall DiscardUndoState(void) = 0;
  1402.     virtual long __stdcall DeactivateAndUndo(void) = 0;
  1403.     virtual long __stdcall OnPosRectChange(const Windows::TRect &rcPosRect) = 0;
  1404. public:
  1405.     /* TObject.Create */ __fastcall IOleInPlaceSite(void) : Ole2::IOleWindow() { }
  1406.     /* TObject.Destroy */ __fastcall virtual ~IOleInPlaceSite(void) { }
  1407.     
  1408. };
  1409.  
  1410. typedef DWord __stdcall (*TContinueFunc)(long dwContinue);
  1411.  
  1412. class __declspec(delphiclass) IViewObject;
  1413. class __declspec(pascalimplementation) IViewObject : public IUnknown
  1414. {
  1415.     typedef IUnknown inherited;
  1416.     
  1417. public:
  1418.     virtual long __stdcall Draw(long dwDrawAspect, long lindex, void * pvAspect, PDVTargetDevice ptd, HDC 
  1419.         hicTargetDev, HDC hdcDraw, Windows::PRect prcBounds, Windows::PRect prcWBounds, TContinueFunc fnContinue
  1420.         , long dwContinue) = 0;
  1421.     virtual long __stdcall GetColorSet(long dwDrawAspect, long lindex, void * pvAspect, PDVTargetDevice 
  1422.         ptd, HDC hicTargetDev, Windows::PLogPalette &colorSet) = 0;
  1423.     virtual long __stdcall Freeze(long dwDrawAspect, long lindex, void * pvAspect, long &dwFreeze) = 0;
  1424.         
  1425.     virtual long __stdcall Unfreeze(long dwFreeze) = 0;
  1426.     virtual long __stdcall SetAdvise(long aspects, long advf, IAdviseSink* advSink) = 0;
  1427.     virtual long __stdcall GetAdvise(Windows::PLongint pAspects, Windows::PLongint pAdvf, IAdviseSink* 
  1428.         &advSink) = 0;
  1429. public:
  1430.     /* TObject.Create */ __fastcall IViewObject(void) : Ole2::IUnknown() { }
  1431.     /* TObject.Destroy */ __fastcall virtual ~IViewObject(void) { }
  1432.     
  1433. };
  1434.  
  1435. class __declspec(delphiclass) IViewObject2;
  1436. class __declspec(pascalimplementation) IViewObject2 : public IViewObject
  1437. {
  1438.     typedef IViewObject inherited;
  1439.     
  1440. public:
  1441.     virtual long __stdcall GetExtent(long dwDrawAspect, long lindex, PDVTargetDevice ptd, POINT &size
  1442.         ) = 0;
  1443. public:
  1444.     /* TObject.Create */ __fastcall IViewObject2(void) : Ole2::IViewObject() { }
  1445.     /* TObject.Destroy */ __fastcall virtual ~IViewObject2(void) { }
  1446.     
  1447. };
  1448.  
  1449. class __declspec(delphiclass) IDropSource;
  1450. class __declspec(pascalimplementation) IDropSource : public IUnknown
  1451. {
  1452.     typedef IUnknown inherited;
  1453.     
  1454. public:
  1455.     virtual long __stdcall QueryContinueDrag(DWord fEscapePressed, long grfKeyState) = 0;
  1456.     virtual long __stdcall GiveFeedback(long dwEffect) = 0;
  1457. public:
  1458.     /* TObject.Create */ __fastcall IDropSource(void) : Ole2::IUnknown() { }
  1459.     /* TObject.Destroy */ __fastcall virtual ~IDropSource(void) { }
  1460.     
  1461. };
  1462.  
  1463. class __declspec(delphiclass) IDropTarget;
  1464. class __declspec(pascalimplementation) IDropTarget : public IUnknown
  1465. {
  1466.     typedef IUnknown inherited;
  1467.     
  1468. public:
  1469.     virtual long __stdcall DragEnter(IDataObject* dataObj, long grfKeyState, const POINT &pt, long &
  1470.         dwEffect) = 0;
  1471.     virtual long __stdcall DragOver(long grfKeyState, const POINT &pt, long &dwEffect) = 0;
  1472.     virtual long __stdcall DragLeave(void) = 0;
  1473.     virtual long __stdcall Drop(IDataObject* dataObj, long grfKeyState, const POINT &pt, long &dwEffect
  1474.         ) = 0;
  1475. public:
  1476.     /* TObject.Create */ __fastcall IDropTarget(void) : Ole2::IUnknown() { }
  1477.     /* TObject.Destroy */ __fastcall virtual ~IDropTarget(void) { }
  1478.     
  1479. };
  1480.  
  1481. typedef tagOLEVERB *POleVerb;
  1482.  
  1483. typedef tagOLEVERB  TOleVerb;
  1484.  
  1485. class __declspec(pascalimplementation) IEnumOleVerb : public IUnknown
  1486. {
  1487.     typedef IUnknown inherited;
  1488.     
  1489. public:
  1490.     virtual long __stdcall Next(long celt, void *elt, Windows::PLongint pceltFetched) = 0;
  1491.     virtual long __stdcall Skip(long celt) = 0;
  1492.     virtual long __stdcall Reset(void) = 0;
  1493.     virtual long __stdcall Clone(IEnumOleVerb* &enm) = 0;
  1494. public:
  1495.     /* TObject.Create */ __fastcall IEnumOleVerb(void) : Ole2::IUnknown() { }
  1496.     /* TObject.Destroy */ __fastcall virtual ~IEnumOleVerb(void) { }
  1497.     
  1498. };
  1499.  
  1500. typedef long __stdcall (*TDLLGetClassObject)(const _GUID &clsid, const _GUID &iid, void *pv);
  1501.  
  1502. typedef long __stdcall (*TDLLCanUnloadNow)(void);
  1503.  
  1504. //-- var, const, procedure ---------------------------------------------------
  1505. extern GUID GUID_NULL;
  1506. extern GUID IID_IUnknown;
  1507. extern GUID IID_IClassFactory;
  1508. extern GUID IID_IMarshal;
  1509. extern GUID IID_IMalloc;
  1510. extern GUID IID_IStdMarshalInfo;
  1511. extern GUID IID_IExternalConnection;
  1512. extern GUID IID_IEnumUnknown;
  1513. extern GUID IID_IBindCtx;
  1514. extern GUID IID_IEnumMoniker;
  1515. extern GUID IID_IRunnableObject;
  1516. extern GUID IID_IRunningObjectTable;
  1517. extern GUID IID_IPersist;
  1518. extern GUID IID_IPersistStream;
  1519. extern GUID IID_IMoniker;
  1520. extern GUID IID_IEnumString;
  1521. extern GUID IID_IStream;
  1522. extern GUID IID_IEnumStatStg;
  1523. extern GUID IID_IStorage;
  1524. extern GUID IID_IPersistFile;
  1525. extern GUID IID_IPersistStorage;
  1526. extern GUID IID_ILockBytes;
  1527. extern GUID IID_IEnumFormatEtc;
  1528. extern GUID IID_IEnumStatData;
  1529. extern GUID IID_IRootStorage;
  1530. extern GUID IID_IAdviseSink;
  1531. extern GUID IID_IAdviseSink2;
  1532. extern GUID IID_IDataObject;
  1533. extern GUID IID_IDataAdviseHolder;
  1534. extern GUID IID_IMessageFilter;
  1535. extern GUID IID_IRpcChannelBuffer;
  1536. extern GUID IID_IRpcProxyBuffer;
  1537. extern GUID IID_IRpcStubBuffer;
  1538. extern GUID IID_IPSFactoryBuffer;
  1539. extern GUID IID_ICreateTypeInfo;
  1540. extern GUID IID_ICreateTypeLib;
  1541. extern GUID IID_IDispatch;
  1542. extern GUID IID_IEnumVariant;
  1543. extern GUID IID_ITypeComp;
  1544. extern GUID IID_ITypeInfo;
  1545. extern GUID IID_ITypeLib;
  1546. extern GUID IID_IErrorInfo;
  1547. extern GUID IID_ICreateErrorInfo;
  1548. extern GUID IID_ISupportErrorInfo;
  1549. extern GUID IID_IOleAdviseHolder;
  1550. extern GUID IID_IOleCache;
  1551. extern GUID IID_IOleCache2;
  1552. extern GUID IID_IOleCacheControl;
  1553. extern GUID IID_IParseDisplayName;
  1554. extern GUID IID_IOleContainer;
  1555. extern GUID IID_IOleClientSite;
  1556. extern GUID IID_IOleObject;
  1557. extern GUID IID_IOleWindow;
  1558. extern GUID IID_IOleLink;
  1559. extern GUID IID_IOleItemContainer;
  1560. extern GUID IID_IOleInPlaceUIWindow;
  1561. extern GUID IID_IOleInPlaceActiveObject;
  1562. extern GUID IID_IOleInPlaceFrame;
  1563. extern GUID IID_IOleInPlaceObject;
  1564. extern GUID IID_IOleInPlaceSite;
  1565. extern GUID IID_IViewObject;
  1566. extern GUID IID_IViewObject2;
  1567. extern GUID IID_IDropSource;
  1568. extern GUID IID_IDropTarget;
  1569. extern GUID IID_IEnumOleVerb;
  1570. extern GUID IID_IRpcChannel;
  1571. extern GUID IID_IRpcStub;
  1572. extern GUID IID_IStubManager;
  1573. extern GUID IID_IRpcProxy;
  1574. extern GUID IID_IProxyManager;
  1575. extern GUID IID_IPSFactory;
  1576. extern GUID IID_IInternalMoniker;
  1577. extern GUID CLSID_StdMarshal;
  1578. extern GUID IID_IEnumGeneric;
  1579. extern GUID IID_IEnumHolder;
  1580. extern GUID IID_IEnumCallback;
  1581. extern GUID IID_IOleManager;
  1582. extern GUID IID_IOlePresObj;
  1583. extern GUID IID_IDebug;
  1584. extern GUID IID_IDebugStream;
  1585.     
  1586. extern bool __fastcall Succeeded(long Res);
  1587. extern bool __fastcall Failed(long Res);
  1588. extern int __fastcall ResultCode(long Res);
  1589. extern int __fastcall ResultFacility(long Res);
  1590. extern int __fastcall ResultSeverity(long Res);
  1591.  
  1592. }    /* namespace Ole2 */
  1593.  
  1594. #pragma warn .par
  1595. #pragma warn .hid 
  1596. #pragma warn .inl
  1597.  
  1598. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  1599. using namespace Ole2;
  1600. #endif
  1601. //-- end unit ----------------------------------------------------------------
  1602. #endif    // OLE2
  1603.