home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-07-11 | 37.5 KB | 1,746 lines |
- //+-------------------------------------------------------------------------
- //
- // Microsoft Windows
- // Copyright (C) Microsoft Corporation, 1992 - 1995.
- //
- // File: objidl.idl
- //
- //--------------------------------------------------------------------------
-
- #ifndef DO_NO_IMPORTS
- import "unknwn.idl";
- #endif
-
- interface IStream;
- interface IMoniker;
- interface IEnumMoniker;
- interface IEnumString;
- interface IRunningObjectTable;
- interface IStorage;
- interface IEnumSTATSTG;
- interface IAdviseSink;
- interface IBindCtx;
- interface IEnumMoniker;
-
- /****************************************************************************
- * Component Object Interfaces
- ****************************************************************************/
-
- [
- local,
- object,
- uuid(00000003-0000-0000-C000-000000000046)
- ]
-
- interface IMarshal : IUnknown
- {
-
- cpp_quote("//+-------------------------------------------------------------------------")
- cpp_quote("//")
- cpp_quote("// Microsoft Windows")
- cpp_quote("// Copyright (C) Microsoft Corporation, 1992 - 1995.")
- cpp_quote("//")
- cpp_quote("//--------------------------------------------------------------------------")
-
- typedef [unique] IMarshal *LPMARSHAL;
-
- HRESULT GetUnmarshalClass
- (
- [in] REFIID riid,
- [in, unique] void *pv,
- [in] DWORD dwDestContext,
- [in, unique] void *pvDestContext,
- [in] DWORD mshlflags,
- [out] CLSID *pCid
- );
-
- HRESULT GetMarshalSizeMax
- (
- [in] REFIID riid,
- [in, unique] void *pv,
- [in] DWORD dwDestContext,
- [in, unique] void *pvDestContext,
- [in] DWORD mshlflags,
- [out] DWORD *pSize
- );
-
- HRESULT MarshalInterface
- (
- [in, unique] IStream *pStm,
- [in] REFIID riid,
- [in, unique] void *pv,
- [in] DWORD dwDestContext,
- [in, unique] void *pvDestContext,
- [in] DWORD mshlflags
- );
-
- HRESULT UnmarshalInterface
- (
- [in, unique] IStream *pStm,
- [in] REFIID riid,
- [out] void **ppv
- );
-
- HRESULT ReleaseMarshalData
- (
- [in, unique] IStream *pStm
- );
-
- HRESULT DisconnectObject
- (
- [in] DWORD dwReserved
- );
- }
-
- [
- local,
- object,
- uuid(00000002-0000-0000-C000-000000000046)
- ]
-
- interface IMalloc : IUnknown
- {
-
- typedef [unique] IMalloc *LPMALLOC;
-
- void *Alloc([in] ULONG cb);
-
- void *Realloc ([in] void *pv,
- [in] ULONG cb);
-
- void Free([in] void *pv);
-
- ULONG GetSize([in] void *pv);
-
- int DidAlloc(void *pv);
-
- void HeapMinimize(void);
- }
-
- [
- local,
- object,
- uuid(0000001d-0000-0000-C000-000000000046)
- ]
-
- interface IMallocSpy : IUnknown
- {
-
- typedef [unique] IMallocSpy *LPMALLOCSPY;
-
- ULONG PreAlloc
- (
- [in] ULONG cbRequest
- );
-
- void *PostAlloc
- (
- [in] void *pActual
- );
-
- void *PreFree
- (
- [in] void *pRequest,
- [in] BOOL fSpyed
- );
-
- void PostFree
- (
- [in] BOOL fSpyed
- );
-
- ULONG PreRealloc
- (
- [in] void *pRequest,
- [in] ULONG cbRequest,
- [out] void **ppNewRequest,
- [in] BOOL fSpyed
- );
-
- void *PostRealloc
- (
- [in] void *pActual,
- [in] BOOL fSpyed
- );
-
- void *PreGetSize
- (
- [in] void *pRequest,
- [in] BOOL fSpyed
- );
-
- ULONG PostGetSize
- (
- [in] ULONG cbActual,
- [in] BOOL fSpyed
- );
-
- void *PreDidAlloc
- (
- [in] void *pRequest,
- [in] BOOL fSpyed
- );
-
- int PostDidAlloc
- (
- [in] void *pRequest,
- [in] BOOL fSpyed,
- [in] int fActual
- );
-
- void PreHeapMinimize(void);
-
- void PostHeapMinimize(void);
- }
-
- [
- local,
- object,
- uuid(00000018-0000-0000-C000-000000000046)
- ]
-
- interface IStdMarshalInfo : IUnknown
- {
-
- typedef [unique] IStdMarshalInfo * LPSTDMARSHALINFO;
-
- HRESULT GetClassForHandler
- (
- [in] DWORD dwDestContext,
- [in, unique] void *pvDestContext,
- [out] CLSID *pClsid
- );
- }
-
- [
- object,
- local,
- uuid(00000019-0000-0000-C000-000000000046)
- ]
-
- interface IExternalConnection : IUnknown
- {
-
- typedef [unique] IExternalConnection* LPEXTERNALCONNECTION;
-
-
- // bit flags for IExternalConnection
- typedef enum tagEXTCONN
- {
- EXTCONN_STRONG = 0x0001, // strong connection
- EXTCONN_WEAK = 0x0002, // weak connection (table, container)
- EXTCONN_CALLABLE = 0x0004, // table .vs. callable
- } EXTCONN;
-
- // *** IExternalConnection methods ***
- DWORD AddConnection
- (
- [in] DWORD extconn,
- [in] DWORD reserved
- );
-
- DWORD ReleaseConnection
- (
- [in] DWORD extconn,
- [in] DWORD reserved,
- [in] BOOL fLastReleaseCloses
- );
- }
-
-
- [
- object,
- uuid(00000100-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IEnumUnknown : IUnknown
- {
-
- typedef [unique] IEnumUnknown *LPENUMUNKNOWN;
-
- [local]
- HRESULT __stdcall Next(
- [in] ULONG celt,
- [out] IUnknown **rgelt,
- [out] ULONG *pceltFetched);
-
- [call_as(Next)]
- HRESULT __stdcall RemoteNext(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- IUnknown **rgelt,
- [out] ULONG *pceltFetched);
-
- HRESULT Skip(
- [in] ULONG celt);
-
- HRESULT Reset();
-
- HRESULT Clone(
- [out] IEnumUnknown **ppenum);
- }
-
-
- /****************************************************************************
- * Binding Interfaces
- ****************************************************************************/
-
- [
- object,
- uuid(0000000e-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IBindCtx : IUnknown
- {
-
- typedef [unique] IBindCtx *LPBC;
-
- typedef [unique] IBindCtx *LPBINDCTX;
-
- typedef struct tagBIND_OPTS {
- DWORD cbStruct; // sizeof(BIND_OPTS)
- DWORD grfFlags;
- DWORD grfMode;
- DWORD dwTickCountDeadline;
- } BIND_OPTS, * LPBIND_OPTS;
-
-
- typedef enum tagBIND_FLAGS
- {
- BIND_MAYBOTHERUSER = 1,
- BIND_JUSTTESTEXISTENCE = 2
- } BIND_FLAGS;
-
- HRESULT RegisterObjectBound
- (
- [in, unique] IUnknown *punk
- );
-
- HRESULT RevokeObjectBound
- (
- [in, unique] IUnknown *punk
- );
-
- HRESULT ReleaseBoundObjects
- (
- void
- );
-
- HRESULT SetBindOptions
- (
- [in] BIND_OPTS *pbindopts
- );
-
- HRESULT GetBindOptions
- (
- [in,out] BIND_OPTS *pbindopts
- );
-
- HRESULT GetRunningObjectTable
- (
- [out] IRunningObjectTable **pprot
- );
-
- HRESULT RegisterObjectParam(
- [in] LPOLESTR pszKey,
- [in, unique] IUnknown *punk
- );
-
- HRESULT GetObjectParam(
- [in] LPOLESTR pszKey,
- [out] IUnknown **ppunk
- );
-
- HRESULT EnumObjectParam
- (
- [out] IEnumString **ppenum
- );
-
- HRESULT RevokeObjectParam
- (
- [in] LPOLESTR pszKey
- );
- }
-
- [
- object,
- uuid(00000102-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IEnumMoniker : IUnknown
- {
-
- typedef [unique] IEnumMoniker *LPENUMMONIKER;
-
- [local]
- HRESULT __stdcall Next(
- [in] ULONG celt,
- [out] IMoniker **rgelt,
- [out] ULONG *pceltFetched);
-
- [call_as(Next)]
- HRESULT __stdcall RemoteNext(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- IMoniker **rgelt,
- [out] ULONG *pceltFetched);
-
-
- HRESULT Skip(
- [in] ULONG celt);
-
- HRESULT Reset();
-
- HRESULT Clone(
- [out] IEnumMoniker **ppenum);
- }
-
- [
- local,
- object,
- uuid(00000126-0000-0000-C000-000000000046)
- ]
- interface IRunnableObject : IUnknown
- {
-
- typedef [unique] IRunnableObject *LPRUNNABLEOBJECT;
-
- HRESULT GetRunningClass(
- [out] LPCLSID lpClsid);
-
- HRESULT Run(
- [in] LPBINDCTX pbc);
-
- BOOL IsRunning();
-
- HRESULT LockRunning(
- [in] BOOL fLock,
- [in] BOOL fLastUnlockCloses);
-
- HRESULT SetContainedObject(
- [in] BOOL fContained);
- }
-
- [
- object,
- uuid(00000010-0000-0000-C000-000000000046)
- ]
-
- interface IRunningObjectTable : IUnknown
- {
-
- typedef [unique] IRunningObjectTable *LPRUNNINGOBJECTTABLE;
-
- HRESULT Register
- (
- [in] DWORD grfFlags,
- [in, unique] IUnknown *punkObject,
- [in, unique] IMoniker *pmkObjectName,
- [out] DWORD *pdwRegister
- );
-
- HRESULT Revoke
- (
- [in] DWORD dwRegister
- );
-
- HRESULT IsRunning
- (
- [in, unique] IMoniker *pmkObjectName
- );
-
- HRESULT GetObject
- (
- [in, unique] IMoniker *pmkObjectName,
- [out] IUnknown **ppunkObject
- );
-
- HRESULT NoteChangeTime
- (
- [in] DWORD dwRegister,
- [in] FILETIME *pfiletime
- );
-
- HRESULT GetTimeOfLastChange
- (
- [in, unique] IMoniker *pmkObjectName,
- [out] FILETIME *pfiletime
- );
-
- HRESULT EnumRunning
- (
- [out] IEnumMoniker **ppenumMoniker
- );
-
- }
-
- [
- object,
- uuid(0000010c-0000-0000-C000-000000000046)
- ]
-
- interface IPersist : IUnknown
- {
-
- typedef [unique] IPersist *LPPERSIST;
-
- HRESULT GetClassID
- (
- [out] CLSID *pClassID
- );
- }
-
- [
- object,
- uuid(00000109-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IPersistStream : IPersist
- {
-
- typedef [unique] IPersistStream *LPPERSISTSTREAM;
-
- HRESULT IsDirty
- (
- void
- );
-
- HRESULT Load
- (
- [in, unique] IStream *pStm
- );
-
- HRESULT Save
- (
- [in, unique] IStream *pStm,
- [in] BOOL fClearDirty
- );
-
- HRESULT GetSizeMax
- (
- [out] ULARGE_INTEGER *pcbSize
- );
-
- }
-
- [
- object,
- uuid(0000000f-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IMoniker : IPersistStream
- {
-
- typedef [unique] IMoniker *LPMONIKER;
-
- // system moniker types; returned from IsSystemMoniker.
- typedef enum tagMKSYS
- {
- MKSYS_NONE = 0,
- MKSYS_GENERICCOMPOSITE = 1,
- MKSYS_FILEMONIKER = 2,
- MKSYS_ANTIMONIKER = 3,
- MKSYS_ITEMMONIKER = 4,
- MKSYS_POINTERMONIKER = 5
- }MKSYS;
-
-
- typedef [v1_enum] enum tagMKREDUCE
- {
- MKRREDUCE_ONE = 3<<16,
-
- MKRREDUCE_TOUSER = 2<<16,
- MKRREDUCE_THROUGHUSER = 1<<16,
- MKRREDUCE_ALL = 0
- } MKRREDUCE;
-
-
- [local]
- HRESULT __stdcall BindToObject(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in] REFIID riidResult,
- [out] void **ppvResult);
-
- [call_as(BindToObject)]
- HRESULT __stdcall RemoteBindToObject(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in] REFIID riidResult,
- [out, iid_is(riidResult)] IUnknown **ppvResult);
-
- [local]
- HRESULT __stdcall BindToStorage(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in] REFIID riid,
- [out] void **ppvObj);
-
- [call_as(BindToStorage)]
- HRESULT __stdcall RemoteBindToStorage(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in] REFIID riid,
- [out, iid_is(riid)] IUnknown **ppvObj);
-
- HRESULT Reduce(
- [in, unique] IBindCtx *pbc,
- [in] DWORD dwReduceHowFar,
- [in, out, unique] IMoniker **ppmkToLeft,
- [out] IMoniker **ppmkReduced);
-
- HRESULT ComposeWith(
- [in, unique] IMoniker *pmkRight,
- [in] BOOL fOnlyIfNotGeneric,
- [out] IMoniker **ppmkComposite);
-
- HRESULT Enum(
- [in] BOOL fForward,
- [out] IEnumMoniker **ppenumMoniker);
-
- HRESULT IsEqual(
- [in, unique] IMoniker *pmkOtherMoniker);
-
- HRESULT Hash(
- [out] DWORD *pdwHash);
-
- HRESULT IsRunning(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in, unique] IMoniker *pmkNewlyRunning);
-
- HRESULT GetTimeOfLastChange(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [out] FILETIME *pFileTime);
-
- HRESULT Inverse(
- [out] IMoniker **ppmk);
-
- HRESULT CommonPrefixWith(
- [in, unique] IMoniker *pmkOther,
- [out] IMoniker **ppmkPrefix);
-
- HRESULT RelativePathTo(
- [in, unique] IMoniker *pmkOther,
- [out] IMoniker **ppmkRelPath);
-
- HRESULT GetDisplayName(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [out] LPOLESTR *ppszDisplayName);
-
- HRESULT ParseDisplayName(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in] LPOLESTR pszDisplayName,
- [out] ULONG *pchEaten,
- [out] IMoniker **ppmkOut);
-
- HRESULT IsSystemMoniker(
- [out] DWORD *pdwMksys);
-
- }
-
- [
- object,
- uuid(f29f6bc0-5021-11ce-aa15-00006901293f),
- pointer_default(unique)
- ]
-
- interface IROTData : IUnknown
- {
- HRESULT GetComparisonData(
- [out, size_is(cbMax)] byte *pbData,
- [in] ULONG cbMax,
- [out] ULONG *pcbData);
- }
-
- [
- object,
- uuid(00000101-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IEnumString : IUnknown
- {
-
- typedef [unique] IEnumString *LPENUMSTRING;
-
- [local]
- HRESULT __stdcall Next(
- [in] ULONG celt,
- [out] LPOLESTR *rgelt,
- [out] ULONG *pceltFetched);
-
- [call_as(Next)]
- HRESULT __stdcall RemoteNext(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- LPOLESTR *rgelt,
- [out] ULONG *pceltFetched);
-
-
- HRESULT Skip(
- [in] ULONG celt);
-
- HRESULT Reset();
-
- HRESULT Clone(
- [out] IEnumString **ppenum);
- }
-
-
- /****************************************************************************
- * Structured Storage Interfaces
- ****************************************************************************/
-
- [
- object,
- uuid(0000000c-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IStream : IUnknown
- {
-
- typedef [unique] IStream *LPSTREAM;
-
- /* Storage stat buffer */
-
- typedef struct tagSTATSTG
- {
- LPOLESTR pwcsName;
- DWORD type;
- ULARGE_INTEGER cbSize;
- FILETIME mtime;
- FILETIME ctime;
- FILETIME atime;
- DWORD grfMode;
- DWORD grfLocksSupported;
- CLSID clsid;
- DWORD grfStateBits;
- DWORD reserved;
- } STATSTG;
-
-
- /* Storage element types */
- typedef enum tagSTGTY
- {
- STGTY_STORAGE = 1,
- STGTY_STREAM = 2,
- STGTY_LOCKBYTES = 3,
- STGTY_PROPERTY = 4
- } STGTY;
-
- typedef enum tagSTREAM_SEEK
- {
- STREAM_SEEK_SET = 0,
- STREAM_SEEK_CUR = 1,
- STREAM_SEEK_END = 2
- } STREAM_SEEK;
-
- typedef enum tagLOCKTYPE
- {
- LOCK_WRITE = 1,
- LOCK_EXCLUSIVE = 2,
- LOCK_ONLYONCE = 4
- } LOCKTYPE;
-
- [local]
- HRESULT __stdcall Read(
- [out] void *pv,
- [in] ULONG cb,
- [out] ULONG *pcbRead);
-
- [call_as(Read)]
- HRESULT __stdcall RemoteRead(
- [out, size_is(cb), length_is(*pcbRead)]
- byte *pv,
- [in] ULONG cb,
- [out] ULONG *pcbRead);
-
- [local]
- HRESULT __stdcall Write(
- [in, size_is(cb)] void const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
-
- [call_as(Write)]
- HRESULT __stdcall RemoteWrite(
- [in, size_is(cb)] byte const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
-
- [local]
- HRESULT __stdcall Seek(
- [in] LARGE_INTEGER dlibMove,
- [in] DWORD dwOrigin,
- [out] ULARGE_INTEGER *plibNewPosition);
-
- [call_as(Seek)]
- HRESULT __stdcall RemoteSeek(
- [in] LARGE_INTEGER dlibMove,
- [in] DWORD dwOrigin,
- [out] ULARGE_INTEGER *plibNewPosition);
-
- HRESULT SetSize(
- [in] ULARGE_INTEGER libNewSize);
-
- [local]
- HRESULT __stdcall CopyTo(
- [in, unique] IStream *pstm,
- [in] ULARGE_INTEGER cb,
- [out] ULARGE_INTEGER *pcbRead,
- [out] ULARGE_INTEGER *pcbWritten);
-
- [call_as(CopyTo)]
- HRESULT __stdcall RemoteCopyTo(
- [in, unique] IStream *pstm,
- [in] ULARGE_INTEGER cb,
- [out] ULARGE_INTEGER *pcbRead,
- [out] ULARGE_INTEGER *pcbWritten);
-
- HRESULT Commit(
- [in] DWORD grfCommitFlags);
-
- HRESULT Revert();
-
- HRESULT LockRegion(
- [in] ULARGE_INTEGER libOffset,
- [in] ULARGE_INTEGER cb,
- [in] DWORD dwLockType);
-
- HRESULT UnlockRegion(
- [in] ULARGE_INTEGER libOffset,
- [in] ULARGE_INTEGER cb,
- [in] DWORD dwLockType);
-
- HRESULT Stat(
- [out] STATSTG *pstatstg,
- [in] DWORD grfStatFlag);
-
- HRESULT Clone(
- [out] IStream **ppstm);
-
- }
-
- [
- object,
- uuid(0000000d-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IEnumSTATSTG : IUnknown
- {
-
- typedef [unique] IEnumSTATSTG *LPENUMSTATSTG;
-
- [local]
- HRESULT __stdcall Next(
- [in] ULONG celt,
- [in] STATSTG *rgelt,
- [out] ULONG *pceltFetched);
-
- [call_as(Next)]
- HRESULT __stdcall RemoteNext(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- STATSTG *rgelt,
- [out] ULONG *pceltFetched);
-
- HRESULT Skip(
- [in] ULONG celt);
-
- HRESULT Reset();
-
- HRESULT Clone(
- [out] IEnumSTATSTG **ppenum);
- }
-
- [
- object,
- uuid(0000000b-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IStorage : IUnknown
- {
-
- typedef [unique] IStorage * LPSTORAGE;
-
- typedef struct tagRemSNB
- {
- unsigned long ulCntStr;
- unsigned long ulCntChar;
- [size_is(ulCntChar)] OLECHAR rgString[];
- } RemSNB;
-
- typedef [transmit_as(RemSNB)] OLECHAR **SNB;
-
- HRESULT CreateStream(
- [in, string] const OLECHAR *pwcsName,
- [in] DWORD grfMode,
- [in] DWORD reserved1,
- [in] DWORD reserved2,
- [out] IStream **ppstm);
-
- [local]
- HRESULT __stdcall OpenStream(
- [in, string] const OLECHAR *pwcsName,
- [in, unique] void *reserved1,
- [in] DWORD grfMode,
- [in] DWORD reserved2,
- [out] IStream **ppstm);
-
- [call_as(OpenStream)]
- HRESULT __stdcall RemoteOpenStream(
- [in, string] const OLECHAR *pwcsName,
- [in] unsigned long cbReserved1,
- [in, unique, size_is(cbReserved1)] byte *reserved1,
- [in] DWORD grfMode,
- [in] DWORD reserved2,
- [out] IStream **ppstm);
-
- HRESULT CreateStorage(
- [in, string] const OLECHAR *pwcsName,
- [in] DWORD grfMode,
- [in] DWORD dwStgFmt,
- [in] DWORD reserved2,
- [out] IStorage **ppstg);
-
- HRESULT OpenStorage(
- [in, unique, string] const OLECHAR *pwcsName,
- [in, unique] IStorage *pstgPriority,
- [in] DWORD grfMode,
- [in, unique] SNB snbExclude,
- [in] DWORD reserved,
- [out] IStorage **ppstg);
-
- HRESULT CopyTo(
- [in] DWORD ciidExclude,
- [in, unique, size_is(ciidExclude)] IID const *rgiidExclude,
- [in, unique] SNB snbExclude,
- [in, unique] IStorage *pstgDest);
-
- HRESULT MoveElementTo(
- [in, string] const OLECHAR * pwcsName,
- [in, unique] IStorage *pstgDest,
- [in, string] const OLECHAR *pwcsNewName,
- [in] DWORD grfFlags);
-
- HRESULT Commit(
- [in] DWORD grfCommitFlags);
-
- HRESULT Revert();
-
- [local]
- HRESULT __stdcall EnumElements(
- [in] DWORD reserved1,
- [in, unique, size_is(1)] void *reserved2,
- [in] DWORD reserved3,
- [out] IEnumSTATSTG **ppenum);
-
-
- [call_as(EnumElements)]
- HRESULT __stdcall RemoteEnumElements(
- [in] DWORD reserved1,
- [in] unsigned long cbReserved2,
- [in, unique, size_is(cbReserved2)] byte *reserved2,
- [in] DWORD reserved3,
- [out] IEnumSTATSTG **ppenum);
-
- HRESULT DestroyElement(
- [in, string] const OLECHAR *pwcsName);
-
- HRESULT RenameElement(
- [in, string] const OLECHAR *pwcsOldName,
- [in, string] const OLECHAR *pwcsNewName);
-
- HRESULT SetElementTimes(
- [in, string] const OLECHAR *pwcsName,
- [in] FILETIME const *pctime,
- [in] FILETIME const *patime,
- [in] FILETIME const *pmtime);
-
- HRESULT SetClass(
- [in] REFCLSID clsid);
-
- HRESULT SetStateBits(
- [in] DWORD grfStateBits,
- [in] DWORD grfMask);
-
- HRESULT Stat(
- [out] STATSTG *pstatstg,
- [in] DWORD grfStatFlag);
- }
-
- [
- object,
- uuid(0000010b-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IPersistFile : IPersist
- {
-
- typedef [unique] IPersistFile *LPPERSISTFILE;
-
- HRESULT IsDirty
- (
- void
- );
-
- HRESULT Load
- (
- [in] LPCOLESTR pszFileName,
- [in] DWORD dwMode
- );
-
- HRESULT Save
- (
- [in, unique] LPCOLESTR pszFileName,
- [in] BOOL fRemember
- );
-
- HRESULT SaveCompleted
- (
- [in, unique] LPCOLESTR pszFileName
- );
-
- HRESULT GetCurFile
- (
- [out] LPOLESTR *ppszFileName
- );
- }
-
- [
- object,
- uuid(0000010a-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IPersistStorage : IPersist
- {
-
- typedef [unique] IPersistStorage *LPPERSISTSTORAGE;
-
- HRESULT IsDirty
- (
- void
- );
-
- HRESULT InitNew
- (
- [in, unique] IStorage *pStg
- );
-
- HRESULT Load
- (
- [in, unique] IStorage *pStg
- );
-
- HRESULT Save
- (
- [in, unique] IStorage *pStgSave,
- [in] BOOL fSameAsLoad
- );
-
- HRESULT SaveCompleted
- (
- [in, unique] IStorage *pStgNew
- );
-
- HRESULT HandsOffStorage
- (
- void
- );
- }
-
- [
- object,
- uuid(0000000a-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface ILockBytes : IUnknown
- {
-
- typedef [unique] ILockBytes *LPLOCKBYTES;
-
- [local]
- HRESULT __stdcall ReadAt(
- [in] ULARGE_INTEGER ulOffset,
- [in] void *pv,
- [in] ULONG cb,
- [out] ULONG *pcbRead);
-
- [call_as(ReadAt)]
- HRESULT _stdcall RemoteReadAt(
- [in] ULARGE_INTEGER ulOffset,
- [out, size_is(cb), length_is(*pcbRead)]
- byte *pv,
- [in] ULONG cb,
- [out] ULONG *pcbRead);
-
- [local]
- HRESULT __stdcall WriteAt(
- [in] ULARGE_INTEGER ulOffset,
- [in] void const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
-
- [call_as(WriteAt)]
- HRESULT __stdcall RemoteWriteAt(
- [in] ULARGE_INTEGER ulOffset,
- [in, size_is(cb)] byte const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
-
- HRESULT Flush();
-
- HRESULT SetSize(
- [in] ULARGE_INTEGER cb);
-
- HRESULT LockRegion(
- [in] ULARGE_INTEGER libOffset,
- [in] ULARGE_INTEGER cb,
- [in] DWORD dwLockType);
-
- HRESULT UnlockRegion(
- [in] ULARGE_INTEGER libOffset,
- [in] ULARGE_INTEGER cb,
- [in] DWORD dwLockType);
-
- HRESULT Stat(
- [out] STATSTG *pstatstg,
- [in] DWORD grfStatFlag);
- }
-
- [
- object,
- uuid(00000103-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IEnumFORMATETC : IUnknown
- {
-
- typedef [unique] IEnumFORMATETC *LPENUMFORMATETC;
-
-
- typedef struct tagDVTARGETDEVICE {
- DWORD tdSize;
- WORD tdDriverNameOffset;
- WORD tdDeviceNameOffset;
- WORD tdPortNameOffset;
- WORD tdExtDevmodeOffset;
- [size_is(tdSize - sizeof(DWORD) - 4*sizeof(WORD))]
- BYTE tdData[];
- }DVTARGETDEVICE;
-
-
- typedef WORD CLIPFORMAT;
- typedef CLIPFORMAT *LPCLIPFORMAT;
-
- typedef struct tagFORMATETC {
- CLIPFORMAT cfFormat;
- [unique] DVTARGETDEVICE * ptd;
- DWORD dwAspect;
- LONG lindex;
- DWORD tymed;
- }FORMATETC, *LPFORMATETC;
-
- [local]
- HRESULT __stdcall Next(
- [in] ULONG celt,
- [out] FORMATETC *rgelt,
- [out] ULONG *pceltFetched);
-
- [call_as(Next)]
- HRESULT __stdcall RemoteNext(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched )]
- FORMATETC *rgelt,
- [out] ULONG *pceltFetched);
-
- HRESULT Skip(
- [in] ULONG celt);
-
- HRESULT Reset();
-
- HRESULT Clone(
- [out] IEnumFORMATETC **ppenum);
- }
-
- [
- object,
- uuid(00000105-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IEnumSTATDATA : IUnknown
- {
-
- typedef [unique] IEnumSTATDATA *LPENUMSTATDATA;
-
- //Advise Flags
- typedef enum tagADVF
- {
- ADVF_NODATA = 1,
- ADVF_PRIMEFIRST = 2,
- ADVF_ONLYONCE = 4,
- ADVF_DATAONSTOP = 64,
- ADVFCACHE_NOHANDLER = 8,
- ADVFCACHE_FORCEBUILTIN = 16,
- ADVFCACHE_ONSAVE = 32
- } ADVF;
-
-
- // Stats for data; used by several enumerations and by at least one
- // implementation of IDataAdviseHolder; if a field is not used, it
- // will be NULL.
-
- typedef struct tagSTATDATA
- { // field used by:
- FORMATETC formatetc; // EnumAdvise, EnumData (cache), EnumFormats
- DWORD advf; // EnumAdvise, EnumData (cache)
- [unique] IAdviseSink * pAdvSink; // EnumAdvise
- DWORD dwConnection; // EnumAdvise
- } STATDATA;
- typedef STATDATA *LPSTATDATA;
-
- [local]
- HRESULT __stdcall Next(
- [in] ULONG celt,
- STATDATA *rgelt,
- [out] ULONG *pceltFetched);
-
- [call_as(Next)]
- HRESULT __stdcall RemoteNext(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- STATDATA *rgelt,
- [out] ULONG *pceltFetched);
-
- HRESULT Skip(
- [in] ULONG celt);
-
- HRESULT Reset();
-
- HRESULT Clone(
- [out] IEnumSTATDATA **ppenum);
- }
-
- [
- object,
- uuid(00000012-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IRootStorage : IUnknown
- {
-
- typedef [unique] IRootStorage *LPROOTSTORAGE;
-
- HRESULT SwitchToFile
- (
- [in, string] LPOLESTR pszFile
- );
- }
-
-
- /****************************************************************************
- * Notification Interfaces
- ****************************************************************************/
-
- [
- object,
- uuid(0000010f-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IAdviseSink : IUnknown
- {
-
- typedef IAdviseSink *LPADVISESINK;
-
- typedef [v1_enum] enum tagTYMED {
- TYMED_HGLOBAL = 1,
- TYMED_FILE = 2,
- TYMED_ISTREAM = 4,
- TYMED_ISTORAGE = 8,
- TYMED_GDI = 16,
- TYMED_MFPICT = 32,
- TYMED_ENHMF = 64,
- TYMED_NULL = 0
- } TYMED;
-
- cpp_quote("#ifndef RC_INVOKED")
- cpp_quote("#pragma warning(disable:4200)")
- cpp_quote("#endif")
-
- typedef struct tagRemSTGMEDIUM {
- DWORD tymed;
- DWORD dwHandleType;
- unsigned long pData;
- unsigned long pUnkForRelease;
- unsigned long cbData;
- [size_is(cbData)] byte data[];
- } RemSTGMEDIUM;
- cpp_quote("#ifndef RC_INVOKED")
- cpp_quote("#pragma warning(default:4200)")
- cpp_quote("#endif")
-
-
- cpp_quote("#ifdef NONAMELESSUNION")
- cpp_quote("typedef struct tagSTGMEDIUM {")
- cpp_quote(" DWORD tymed;")
- cpp_quote(" union {")
- cpp_quote(" HBITMAP hBitmap;")
- cpp_quote(" HMETAFILEPICT hMetaFilePict;")
- cpp_quote(" HENHMETAFILE hEnhMetaFile;")
- cpp_quote(" HGLOBAL hGlobal;")
- cpp_quote(" LPOLESTR lpszFileName;")
- cpp_quote(" IStream *pstm;")
- cpp_quote(" IStorage *pstg;")
- cpp_quote(" } u;")
- cpp_quote(" IUnknown *pUnkForRelease;")
- cpp_quote("}STGMEDIUM;")
- cpp_quote("#else")
-
- typedef struct tagSTGMEDIUM {
- DWORD tymed;
- [switch_type(DWORD), switch_is((DWORD) tymed)]
- union
- {
- [case(TYMED_GDI)]
- HBITMAP hBitmap;
- [case(TYMED_MFPICT)]
- HMETAFILEPICT hMetaFilePict;
- [case(TYMED_ENHMF)]
- HENHMETAFILE hEnhMetaFile;
- [case(TYMED_HGLOBAL)]
- HGLOBAL hGlobal;
- [case(TYMED_FILE)]
- LPOLESTR lpszFileName;
- [case(TYMED_ISTREAM)]
- IStream *pstm;
- [case(TYMED_ISTORAGE)]
- IStorage *pstg;
- [default]
- ;
- };
- [unique] IUnknown *pUnkForRelease;
- }STGMEDIUM;
-
- cpp_quote("#endif /* !NONAMELESSUNION */")
-
- typedef STGMEDIUM *LPSTGMEDIUM;
-
-
- [local]
- void __stdcall OnDataChange(
- [in, unique] FORMATETC *pFormatetc,
- [in, unique] STGMEDIUM *pStgmed);
-
- [call_as(OnDataChange), async]
- void __stdcall RemoteOnDataChange(
- [in, unique] FORMATETC *pFormatetc,
- [in, unique] RemSTGMEDIUM *pStgmed);
-
- [local]
- void __stdcall OnViewChange(
- [in] DWORD dwAspect,
- [in] LONG lindex);
-
- [call_as(OnViewChange), async]
- void __stdcall RemoteOnViewChange(
- [in] DWORD dwAspect,
- [in] LONG lindex);
-
- [local]
- void __stdcall OnRename(
- [in] IMoniker *pmk);
-
- [call_as(OnRename), async]
- void __stdcall RemoteOnRename(
- [in] IMoniker *pmk);
-
- [local]
- void __stdcall OnSave();
-
- [call_as(OnSave), async]
- void __stdcall RemoteOnSave();
-
- [local]
- void __stdcall OnClose();
-
- [call_as(OnClose)]
- HRESULT __stdcall RemoteOnClose();
- }
-
- [
- object,
- uuid(00000125-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IAdviseSink2 : IAdviseSink
- {
-
- typedef [unique] IAdviseSink2 *LPADVISESINK2;
-
- [local]
- void __stdcall OnLinkSrcChange(
- [in, unique] IMoniker *pmk);
-
- [call_as(OnLinkSrcChange), async]
- void __stdcall RemoteOnLinkSrcChange(
- [in, unique] IMoniker *pmk);
- }
-
- [
- object,
- uuid(0000010e-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
-
- interface IDataObject : IUnknown
- {
-
- typedef [unique] IDataObject *LPDATAOBJECT;
-
- //DATA format DIRection
- typedef enum tagDATADIR
- {
- DATADIR_GET = 1,
- DATADIR_SET = 2
- } DATADIR;
-
- [local]
- HRESULT __stdcall GetData(
- [in, unique] FORMATETC *pformatetcIn,
- [out] STGMEDIUM *pmedium);
-
- [call_as(GetData)]
- HRESULT __stdcall RemoteGetData(
- [in, unique] FORMATETC *pformatetcIn,
- [out] RemSTGMEDIUM **ppRemoteMedium);
-
- [local]
- HRESULT __stdcall GetDataHere(
- [in, unique] FORMATETC *pformatetc,
- [in, out] STGMEDIUM *pmedium);
-
- [call_as(GetDataHere)]
- HRESULT __stdcall RemoteGetDataHere(
- [in, unique] FORMATETC *pformatetc,
- [in, out] RemSTGMEDIUM **ppRemoteMedium);
-
- HRESULT QueryGetData(
- [in, unique] FORMATETC *pformatetc);
-
-
- HRESULT GetCanonicalFormatEtc(
- [in, unique] FORMATETC *pformatectIn,
- [out] FORMATETC *pformatetcOut);
-
- [local]
- HRESULT __stdcall SetData(
- [in, unique] FORMATETC *pformatetc,
- [in, unique] STGMEDIUM *pmedium,
- [in] BOOL fRelease);
-
- [call_as(SetData)]
- HRESULT __stdcall RemoteSetData(
- [in, unique] FORMATETC *pformatetc,
- [in, unique] RemSTGMEDIUM *pmedium,
- [in] BOOL fRelease);
-
- HRESULT EnumFormatEtc(
- [in] DWORD dwDirection,
- [out] IEnumFORMATETC **ppenumFormatEtc);
-
- HRESULT DAdvise(
- [in] FORMATETC *pformatetc,
- [in] DWORD advf,
- [in, unique] IAdviseSink *pAdvSink,
- [out] DWORD *pdwConnection);
-
- HRESULT DUnadvise(
- [in] DWORD dwConnection);
-
- HRESULT EnumDAdvise(
- [out] IEnumSTATDATA **ppenumAdvise);
-
- }
-
- [
- local,
- object,
- uuid(00000110-0000-0000-C000-000000000046)
- ]
-
- interface IDataAdviseHolder : IUnknown
- {
-
- typedef [unique] IDataAdviseHolder *LPDATAADVISEHOLDER;
-
- HRESULT Advise
- (
- [in, unique] IDataObject *pDataObject,
- [in, unique] FORMATETC *pFetc,
- [in] DWORD advf,
- [in, unique] IAdviseSink *pAdvise,
- [out] DWORD *pdwConnection
- );
-
- HRESULT Unadvise
- (
- [in] DWORD dwConnection
- );
-
- HRESULT EnumAdvise
- (
- [out] IEnumSTATDATA **ppenumAdvise
- );
-
- HRESULT SendOnDataChange
- (
- [in, unique] IDataObject *pDataObject,
- [in] DWORD dwReserved,
- [in] DWORD advf
- );
-
- }
-
- [
- local,
- object,
- uuid(00000016-0000-0000-C000-000000000046)
- ]
-
- interface IMessageFilter : IUnknown
- {
-
- typedef [unique] IMessageFilter *LPMESSAGEFILTER;
-
- // call type used by IMessageFilter::HandleIncomingMessage
- typedef enum tagCALLTYPE
- {
- CALLTYPE_TOPLEVEL = 1, // toplevel call - no outgoing call
- CALLTYPE_NESTED = 2, // callback on behalf of previous outgoing call - should always handle
- CALLTYPE_ASYNC = 3, // aysnchronous call - can NOT be rejected
- CALLTYPE_TOPLEVEL_CALLPENDING = 4, // new toplevel call with new LID
- CALLTYPE_ASYNC_CALLPENDING = 5 // async call - can NOT be rejected
- } CALLTYPE;
-
- // status of server call - returned by IMessageFilter::HandleIncomingCall
- // and passed to IMessageFilter::RetryRejectedCall
- typedef enum tagSERVERCALL
- {
- SERVERCALL_ISHANDLED = 0,
- SERVERCALL_REJECTED = 1,
- SERVERCALL_RETRYLATER = 2
- } SERVERCALL;
-
- // Pending type indicates the level of nesting
- typedef enum tagPENDINGTYPE
- {
- PENDINGTYPE_TOPLEVEL = 1, // toplevel call
- PENDINGTYPE_NESTED = 2 // nested call
- } PENDINGTYPE;
-
- // return values of MessagePending
- typedef enum tagPENDINGMSG
- {
- PENDINGMSG_CANCELCALL = 0, // cancel the outgoing call
- PENDINGMSG_WAITNOPROCESS = 1, // wait for the return and don't dispatch the message
- PENDINGMSG_WAITDEFPROCESS = 2 // wait and dispatch the message
-
- } PENDINGMSG;
-
- // additional interface information about the incoming call
- typedef struct tagINTERFACEINFO
- {
- IUnknown *pUnk; // the pointer to the object
- IID iid; // interface id
- WORD wMethod; // interface method
- } INTERFACEINFO, *LPINTERFACEINFO;
-
- DWORD HandleInComingCall
- (
- [in] DWORD dwCallType,
- [in] HTASK htaskCaller,
- [in] DWORD dwTickCount,
- [in] LPINTERFACEINFO lpInterfaceInfo
- );
-
- DWORD RetryRejectedCall
- (
- [in] HTASK htaskCallee,
- [in] DWORD dwTickCount,
- [in] DWORD dwRejectType
- );
-
- DWORD MessagePending
- (
- [in] HTASK htaskCallee,
- [in] DWORD dwTickCount,
- [in] DWORD dwPendingType
- );
- }
-
-
- /****************************************************************************
- * Object Remoting Interfaces
- ****************************************************************************/
-
- [
- local,
- object,
- uuid(D5F56B60-593B-101A-B569-08002B2DBF7A)
- ]
- interface IRpcChannelBuffer : IUnknown
- {
-
- typedef unsigned long RPCOLEDATAREP;
-
- typedef struct tagRPCOLEMESSAGE
- {
- void *reserved1;
- RPCOLEDATAREP dataRepresentation;
- void *Buffer;
- ULONG cbBuffer;
- ULONG iMethod;
- void *reserved2[5];
- ULONG rpcFlags;
- } RPCOLEMESSAGE;
-
- typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
-
- HRESULT GetBuffer
- (
- [in] RPCOLEMESSAGE *pMessage,
- [in] REFIID riid
- );
-
- HRESULT SendReceive
- (
- [in,out] RPCOLEMESSAGE *pMessage,
- [out] ULONG *pStatus
- );
-
- HRESULT FreeBuffer
- (
- [in] RPCOLEMESSAGE *pMessage
- );
-
- HRESULT GetDestCtx
- (
- [out] DWORD *pdwDestContext,
- [out] void **ppvDestContext
- );
-
- HRESULT IsConnected
- (
- void
- );
-
- }
-
- [
- local,
- object,
- uuid(D5F56A34-593B-101A-B569-08002B2DBF7A)
- ]
- interface IRpcProxyBuffer : IUnknown
- {
-
- HRESULT Connect
- (
- [in, unique] IRpcChannelBuffer *pRpcChannelBuffer
- );
-
- void Disconnect
- (
- void
- );
-
- }
-
- [
- local,
- object,
- uuid(D5F56AFC-593B-101A-B569-08002B2DBF7A)
- ]
- interface IRpcStubBuffer : IUnknown
- {
-
- HRESULT Connect
- (
- [in] IUnknown *pUnkServer
- );
-
- void Disconnect();
-
- HRESULT Invoke
- (
- [in] RPCOLEMESSAGE *_prpcmsg,
- [in] IRpcChannelBuffer *_pRpcChannelBuffer
- );
-
- IRpcStubBuffer *IsIIDSupported
- (
- [in] REFIID riid
- );
-
- ULONG CountRefs
- (
- void
- );
-
- HRESULT DebugServerQueryInterface
- (
- void **ppv
- );
-
- void DebugServerRelease
- (
- void *pv
- );
-
- }
-
-
-
- [
- local,
- object,
- uuid(D5F569D0-593B-101A-B569-08002B2DBF7A)
- ]
- interface IPSFactoryBuffer : IUnknown
- {
-
- HRESULT CreateProxy
- (
- [in] IUnknown *pUnkOuter,
- [in] REFIID riid,
- [out] IRpcProxyBuffer **ppProxy,
- [out] void **ppv
- );
-
- HRESULT CreateStub
- (
- [in] REFIID riid,
- [in, unique] IUnknown *pUnkServer,
- [out] IRpcStubBuffer **ppStub
- );
- }
-