ObjIdl.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:72k
- //+-------------------------------------------------------------------------
- //
- // Microsoft Windows
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //
- // File: objidl.idl
- //
- //--------------------------------------------------------------------------
- cpp_quote("//+-------------------------------------------------------------------------")
- cpp_quote("//+-------------------------------------------------------------------------")
- cpp_quote("//")
- cpp_quote("// Microsoft Windows")
- cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.")
- cpp_quote("//")
- cpp_quote("//--------------------------------------------------------------------------")
- #if (__midl >= 501)
- midl_pragma warning( disable: 2007 ) // file already imported
- midl_pragma warning( disable: 2209 ) // ignored redundantly specified attributes
- midl_pragma warning( disable: 2298 ) // version ignored for object interfaces
- #endif
- cpp_quote("#if ( _MSC_VER >= 800 )")
- cpp_quote("#if _MSC_VER >= 1200")
- cpp_quote("#pragma warning(push)")
- cpp_quote("#endif")
- cpp_quote("#pragma warning(disable:4201)")
- cpp_quote("#endif")
- cpp_quote("#if ( _MSC_VER >= 1020 )")
- cpp_quote("#pragma once")
- cpp_quote("#endif")
- #ifndef DO_NO_IMPORTS
- import "unknwn.idl";
- import "wtypes.idl";
- #endif
- interface IStream;
- interface IMoniker;
- interface IEnumMoniker;
- interface IEnumString;
- interface IRunningObjectTable;
- interface IStorage;
- interface IEnumSTATSTG;
- interface IAdviseSink;
- interface IBindCtx;
- interface IEnumMoniker;
- interface IAsyncManager;
- interface ICallFactory;
- interface ISynchronize;
- typedef struct _COSERVERINFO
- {
- DWORD dwReserved1;
- LPWSTR pwszName;
- COAUTHINFO * pAuthInfo;
- DWORD dwReserved2;
- } COSERVERINFO;
- /****************************************************************************
- * Component Object Interfaces
- ****************************************************************************/
- [
- local,
- object,
- uuid(00000003-0000-0000-C000-000000000046)
- ]
- interface IMarshal : IUnknown
- {
- 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(000001cf-0000-0000-C000-000000000046)
- ]
- interface IMarshal2 : IMarshal
- {
- typedef [unique] IMarshal2 *LPMARSHAL2;
- }
- [
- local,
- object,
- uuid(00000002-0000-0000-C000-000000000046)
- ]
- interface IMalloc : IUnknown
- {
- typedef [unique] IMalloc *LPMALLOC;
- void *Alloc([in] SIZE_T cb);
- void *Realloc ([in] void *pv,
- [in] SIZE_T cb);
- void Free([in] void *pv);
- SIZE_T 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;
- SIZE_T PreAlloc
- (
- [in] SIZE_T cbRequest
- );
- void *PostAlloc
- (
- [in] void *pActual
- );
- void *PreFree
- (
- [in] void *pRequest,
- [in] BOOL fSpyed
- );
- void PostFree
- (
- [in] BOOL fSpyed
- );
- SIZE_T PreRealloc
- (
- [in] void *pRequest,
- [in] SIZE_T cbRequest,
- [out] void **ppNewRequest,
- [in] BOOL fSpyed
- );
- void *PostRealloc
- (
- [in] void *pActual,
- [in] BOOL fSpyed
- );
- void *PreGetSize
- (
- [in] void *pRequest,
- [in] BOOL fSpyed
- );
- SIZE_T PostGetSize
- (
- [in] SIZE_T 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
- );
- }
- typedef [unique] IMultiQI* LPMULTIQI;
- typedef struct tagMULTI_QI
- {
- const IID *pIID; // pass this one in
- IUnknown *pItf; // get these out (you must set to NULL before calling)
- HRESULT hr;
- } MULTI_QI;
- [
- object,
- local,
- uuid(00000020-0000-0000-C000-000000000046),
- #if (__midl >= 500)
- async_uuid(000e0020-0000-0000-C000-000000000046)
- #endif
- ]
- interface IMultiQI : IUnknown
- {
- HRESULT QueryMultipleInterfaces
- (
- [in] ULONG cMQIs,
- [in,out] MULTI_QI *pMQIs
- );
- }
- [
- object,
- local,
- uuid(00000021-0000-0000-C000-000000000046)
- ]
- interface IInternalUnknown : IUnknown
- {
- HRESULT QueryInternalInterface(
- [in] REFIID riid,
- [out] void **ppv);
- }
- [
- object,
- uuid(00000100-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IEnumUnknown : IUnknown
- {
- typedef [unique] IEnumUnknown *LPENUMUNKNOWN;
- [local]
- HRESULT Next(
- [in] ULONG celt,
- [out] IUnknown **rgelt,
- [out] ULONG *pceltFetched);
- [call_as(Next)]
- HRESULT 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;
- cpp_quote("#if defined(__cplusplus)")
- cpp_quote(" typedef struct tagBIND_OPTS2 : tagBIND_OPTS{")
- cpp_quote(" DWORD dwTrackFlags;")
- cpp_quote(" DWORD dwClassContext;")
- cpp_quote(" LCID locale;")
- cpp_quote(" COSERVERINFO * pServerInfo;")
- cpp_quote(" } BIND_OPTS2, * LPBIND_OPTS2;")
- cpp_quote("#else")
- typedef struct tagBIND_OPTS2 {
- DWORD cbStruct; // sizeof(BIND_OPTS2)
- DWORD grfFlags;
- DWORD grfMode;
- DWORD dwTickCountDeadline;
- DWORD dwTrackFlags;
- DWORD dwClassContext;
- LCID locale;
- COSERVERINFO * pServerInfo;
- } BIND_OPTS2, * LPBIND_OPTS2;
- cpp_quote("#endif")
- 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
- );
- [local]
- HRESULT SetBindOptions
- (
- [in] BIND_OPTS *pbindopts
- );
- [call_as(SetBindOptions)]
- HRESULT RemoteSetBindOptions
- (
- [in] BIND_OPTS2 *pbindopts
- );
- [local]
- HRESULT GetBindOptions
- (
- [in, out] BIND_OPTS *pbindopts
- );
- [call_as(GetBindOptions)]
- HRESULT RemoteGetBindOptions
- (
- [in, out] BIND_OPTS2 *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 Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- IMoniker **rgelt,
- [out] ULONG *pceltFetched);
- [call_as(Next)]
- HRESULT 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);
- }
- [
- object,
- uuid(00000126-0000-0000-C000-000000000046)
- ]
- interface IRunnableObject : IUnknown
- {
- typedef [unique] IRunnableObject *LPRUNNABLEOBJECT;
- HRESULT GetRunningClass(
- [out] LPCLSID lpClsid);
- HRESULT Run(
- [in] LPBINDCTX pbc);
- [local]
- BOOL IsRunning();
- [call_as(IsRunning)]
- HRESULT RemoteIsRunning();
- 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_URLMONIKER = 6,
- MKSYS_CLASSMONIKER = 7,
- MKSYS_OBJREFMONIKER = 8,
- MKSYS_SESSIONMONIKER = 9
- }MKSYS;
- typedef [v1_enum] enum tagMKREDUCE
- {
- MKRREDUCE_ONE = 3<<16,
- MKRREDUCE_TOUSER = 2<<16,
- MKRREDUCE_THROUGHUSER = 1<<16,
- MKRREDUCE_ALL = 0
- } MKRREDUCE;
- [local]
- HRESULT BindToObject(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in] REFIID riidResult,
- [out, iid_is(riidResult)] void **ppvResult);
- [call_as(BindToObject)]
- HRESULT RemoteBindToObject(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in] REFIID riidResult,
- [out, iid_is(riidResult)] IUnknown **ppvResult);
- [local]
- HRESULT BindToStorage(
- [in, unique] IBindCtx *pbc,
- [in, unique] IMoniker *pmkToLeft,
- [in] REFIID riid,
- [out, iid_is(riid)] void **ppvObj);
- [call_as(BindToStorage)]
- HRESULT 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 Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- LPOLESTR *rgelt,
- [out] ULONG *pceltFetched);
- [call_as(Next)]
- HRESULT 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(0c733a30-2a1c-11ce-ade5-00aa0044773d),
- pointer_default(unique)
- ]
- interface ISequentialStream : IUnknown
- {
- [local]
- HRESULT Read(
- [out, size_is(cb), length_is(*pcbRead)]
- void *pv,
- [in] ULONG cb,
- [out] ULONG *pcbRead);
- [call_as(Read)]
- HRESULT RemoteRead(
- [out, size_is(cb), length_is(*pcbRead)]
- byte *pv,
- [in] ULONG cb,
- [out] ULONG *pcbRead);
- [local]
- HRESULT Write(
- [in, size_is(cb)] void const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
- [call_as(Write)]
- HRESULT RemoteWrite(
- [in, size_is(cb)] byte const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
- }
- [
- object,
- uuid(0000000c-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IStream : ISequentialStream
- {
- typedef [unique] IStream *LPSTREAM;
- /* Storage stat buffer */
- cpp_quote("//FSSpec is Macintosh only, defined in macosfiles.h")
- cpp_quote("#ifdef _MAC")
- cpp_quote(" typedef struct tagSTATSTG")
- cpp_quote(" { ")
- cpp_quote(" LPOLESTR pwcsName;")
- cpp_quote(" FSSpec *pspec;")
- cpp_quote(" DWORD type;")
- cpp_quote(" ULARGE_INTEGER cbSize;")
- cpp_quote(" FILETIME mtime;")
- cpp_quote(" FILETIME ctime;")
- cpp_quote(" FILETIME atime;")
- cpp_quote(" DWORD grfMode;")
- cpp_quote(" DWORD grfLocksSupported;")
- cpp_quote(" CLSID clsid;")
- cpp_quote(" DWORD grfStateBits;")
- cpp_quote(" DWORD reserved;")
- cpp_quote(" } STATSTG;")
- cpp_quote("#else //_MAC")
- 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;
- cpp_quote("#endif //_MAC")
- /* 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 Seek(
- [in] LARGE_INTEGER dlibMove,
- [in] DWORD dwOrigin,
- [out] ULARGE_INTEGER *plibNewPosition);
- [call_as(Seek)]
- HRESULT RemoteSeek(
- [in] LARGE_INTEGER dlibMove,
- [in] DWORD dwOrigin,
- [out] ULARGE_INTEGER *plibNewPosition);
- HRESULT SetSize(
- [in] ULARGE_INTEGER libNewSize);
- [local]
- HRESULT CopyTo(
- [in, unique] IStream *pstm,
- [in] ULARGE_INTEGER cb,
- [out] ULARGE_INTEGER *pcbRead,
- [out] ULARGE_INTEGER *pcbWritten);
- [call_as(CopyTo)]
- HRESULT 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 Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- STATSTG *rgelt,
- [out] ULONG *pceltFetched);
- [call_as(Next)]
- HRESULT 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 [unique] RemSNB * wireSNB;
- typedef [wire_marshal(wireSNB)] OLECHAR **SNB;
- HRESULT CreateStream(
- [in, string] const OLECHAR *pwcsName,
- [in] DWORD grfMode,
- [in] DWORD reserved1,
- [in] DWORD reserved2,
- [out] IStream **ppstm);
- [local]
- HRESULT OpenStream(
- [in, string] const OLECHAR *pwcsName,
- [in, unique] void *reserved1,
- [in] DWORD grfMode,
- [in] DWORD reserved2,
- [out] IStream **ppstm);
- [call_as(OpenStream)]
- HRESULT 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 reserved1,
- [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 EnumElements(
- [in] DWORD reserved1,
- [in, unique, size_is(1)] void *reserved2,
- [in] DWORD reserved3,
- [out] IEnumSTATSTG **ppenum);
- [call_as(EnumElements)]
- HRESULT 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, unique, string] const OLECHAR *pwcsName,
- [in, unique] FILETIME const *pctime,
- [in, unique] FILETIME const *patime,
- [in, unique] 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 ReadAt(
- [in] ULARGE_INTEGER ulOffset,
- [out, size_is(cb), length_is(*pcbRead)]
- 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 WriteAt(
- [in] ULARGE_INTEGER ulOffset,
- [in, size_is(cb)] void const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
- [call_as(WriteAt)]
- HRESULT 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 CLIPFORMAT *LPCLIPFORMAT;
- typedef struct tagFORMATETC {
- CLIPFORMAT cfFormat;
- [unique] DVTARGETDEVICE * ptd;
- DWORD dwAspect;
- LONG lindex;
- DWORD tymed;
- }FORMATETC, *LPFORMATETC;
- [local]
- HRESULT Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched )]
- FORMATETC *rgelt,
- [out] ULONG *pceltFetched);
- [call_as(Next)]
- HRESULT 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 Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- STATDATA *rgelt,
- [out] ULONG *pceltFetched);
- [call_as(Next)]
- HRESULT 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] LPOLESTR pszFile
- );
- }
- /****************************************************************************
- * Notification Interfaces
- ****************************************************************************/
- [
- object,
- uuid(0000010f-0000-0000-C000-000000000046),
- #if (__midl >= 500)
- async_uuid(00000150-0000-0000-C000-000000000046),
- #endif
- 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("#if _MSC_VER >= 1200")
- cpp_quote("#pragma warning(push)")
- cpp_quote("#endif")
- 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("#if _MSC_VER >= 1200")
- cpp_quote("#pragma warning(pop)")
- cpp_quote("#else")
- cpp_quote("#pragma warning(default:4200)")
- cpp_quote("#endif")
- 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("}uSTGMEDIUM;")
- 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;
- }uSTGMEDIUM;
- cpp_quote("#endif /* !NONAMELESSUNION */")
- //
- // wireSTGMEDIUM
- //
- // These flags are #defined (not enumerated) in wingdi.
- // We need to repeat #defines to avoid conflict in the generated file.
- //
- /* Object Definitions for EnumObjects() */
- #define OBJ_PEN 1
- #define OBJ_BRUSH 2
- #define OBJ_DC 3
- #define OBJ_METADC 4
- #define OBJ_PAL 5
- #define OBJ_FONT 6
- #define OBJ_BITMAP 7
- #define OBJ_REGION 8
- #define OBJ_METAFILE 9
- #define OBJ_MEMDC 10
- #define OBJ_EXTPEN 11
- #define OBJ_ENHMETADC 12
- #define OBJ_ENHMETAFILE 13
- typedef union _GDI_OBJECT switch( DWORD ObjectType ) u
- {
- case OBJ_BITMAP: wireHBITMAP hBitmap;
- case OBJ_PAL: wireHPALETTE hPalette;
- default: wireHGLOBAL hGeneric;
- } GDI_OBJECT;
- typedef struct _userSTGMEDIUM
- {
- union _STGMEDIUM_UNION switch( DWORD tymed ) u
- {
- case TYMED_NULL: ;
- case TYMED_MFPICT: wireHMETAFILEPICT hMetaFilePict;
- case TYMED_ENHMF: wireHENHMETAFILE hHEnhMetaFile;
- case TYMED_GDI: GDI_OBJECT * hGdiHandle;
- case TYMED_HGLOBAL: wireHGLOBAL hGlobal;
- case TYMED_FILE: LPOLESTR lpszFileName;
- case TYMED_ISTREAM: BYTE_BLOB * pstm;
- case TYMED_ISTORAGE: BYTE_BLOB * pstg;
- };
- IUnknown * pUnkForRelease;
- } userSTGMEDIUM;
- typedef [unique] userSTGMEDIUM * wireSTGMEDIUM;
- typedef [wire_marshal( wireSTGMEDIUM )] uSTGMEDIUM STGMEDIUM;
- typedef [unique] userSTGMEDIUM * wireASYNC_STGMEDIUM;
- typedef [wire_marshal( wireASYNC_STGMEDIUM )] STGMEDIUM ASYNC_STGMEDIUM;
- typedef STGMEDIUM *LPSTGMEDIUM;
- typedef struct _userFLAG_STGMEDIUM
- {
- long ContextFlags;
- long fPassOwnership;
- userSTGMEDIUM Stgmed;
- } userFLAG_STGMEDIUM;
- typedef [unique] userFLAG_STGMEDIUM * wireFLAG_STGMEDIUM;
- typedef [wire_marshal( wireFLAG_STGMEDIUM )]
- struct _FLAG_STGMEDIUM
- {
- long ContextFlags;
- long fPassOwnership;
- STGMEDIUM Stgmed;
- } FLAG_STGMEDIUM;
- [local]
- void OnDataChange(
- [in, unique] FORMATETC *pFormatetc,
- [in, unique] STGMEDIUM *pStgmed);
- [local]
- void OnViewChange(
- [in] DWORD dwAspect,
- [in] LONG lindex);
- [local]
- void OnRename(
- [in] IMoniker *pmk);
- [local]
- void OnSave();
- [local]
- void OnClose();
- #if (__midl >= 500)
- // Currently used temporary definitons.
- [call_as(OnDataChange)]
- HRESULT RemoteOnDataChange(
- [in, unique] FORMATETC *pFormatetc,
- [in, unique] ASYNC_STGMEDIUM *pStgmed);
- [call_as(OnViewChange)]
- HRESULT RemoteOnViewChange(
- [in] DWORD dwAspect,
- [in] LONG lindex);
- [call_as(OnRename)]
- HRESULT RemoteOnRename(
- [in] IMoniker *pmk);
- [call_as(OnSave)]
- HRESULT RemoteOnSave(
- );
- #elif (__midl > 302)
- // Currently used temporary definitons.
- [call_as(OnDataChange), async]
- HRESULT RemoteOnDataChange(
- [in] IAsyncManager **ppIAM,
- [in, unique] FORMATETC *pFormatetc,
- [in, unique] ASYNC_STGMEDIUM *pStgmed);
- [call_as(OnViewChange), async]
- HRESULT RemoteOnViewChange(
- [in] IAsyncManager **ppIAM,
- [in] DWORD dwAspect,
- [in] LONG lindex);
- [call_as(OnRename), async]
- HRESULT RemoteOnRename(
- [in] IAsyncManager **ppIAM,
- [in] IMoniker *pmk);
- [call_as(OnSave), async]
- HRESULT RemoteOnSave(
- [in] IAsyncManager **ppIAM
- );
- #else
- // Old definitions kept for convenience.
- [call_as(OnDataChange), async]
- void RemoteOnDataChange(
- [in, unique] FORMATETC *pFormatetc,
- [in, unique] ASYNC_STGMEDIUM *pStgmed);
- [call_as(OnViewChange), async]
- void RemoteOnViewChange(
- [in] DWORD dwAspect,
- [in] LONG lindex);
- [call_as(OnRename), async]
- void RemoteOnRename(
- [in] IMoniker *pmk);
- [call_as(OnSave), async]
- void RemoteOnSave();
- #endif // MIDL > 302
- [call_as(OnClose)]
- HRESULT RemoteOnClose();
- }
- [
- object,
- uuid(00000125-0000-0000-C000-000000000046),
- #if (__midl >= 500)
- async_uuid(00000151-0000-0000-C000-000000000046),
- #endif
- pointer_default(unique)
- ]
- interface IAdviseSink2 : IAdviseSink
- {
- typedef [unique] IAdviseSink2 *LPADVISESINK2;
- [local]
- void OnLinkSrcChange(
- [in, unique] IMoniker *pmk);
- #if (__midl >= 500)
- // Currently used temporary definiton
- [call_as(OnLinkSrcChange)]
- HRESULT RemoteOnLinkSrcChange(
- [in, unique] IMoniker *pmk);
- #elif (__midl > 302)
- // Currently used temporary definiton
- [call_as(OnLinkSrcChange), async]
- HRESULT RemoteOnLinkSrcChange(
- [in] IAsyncManager **ppIAM,
- [in, unique] IMoniker *pmk);
- #else
- // Old one for convenience.
- [call_as(OnLinkSrcChange), async]
- void RemoteOnLinkSrcChange(
- [in, unique] IMoniker *pmk);
- #endif
- }
- [
- 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 GetData(
- [in, unique] FORMATETC *pformatetcIn,
- [out] STGMEDIUM *pmedium);
- [call_as(GetData)]
- HRESULT RemoteGetData(
- [in, unique] FORMATETC *pformatetcIn,
- [out] STGMEDIUM *pRemoteMedium);
- [local]
- HRESULT GetDataHere(
- [in, unique] FORMATETC *pformatetc,
- [in, out] STGMEDIUM *pmedium);
- [call_as(GetDataHere)]
- HRESULT RemoteGetDataHere(
- [in, unique] FORMATETC *pformatetc,
- [in, out] STGMEDIUM *pRemoteMedium);
- HRESULT QueryGetData(
- [in, unique] FORMATETC *pformatetc);
- HRESULT GetCanonicalFormatEtc(
- [in, unique] FORMATETC *pformatectIn,
- [out] FORMATETC *pformatetcOut);
- [local]
- HRESULT SetData(
- [in, unique] FORMATETC *pformatetc,
- [in, unique] STGMEDIUM *pmedium,
- [in] BOOL fRelease);
- [call_as(SetData)]
- HRESULT RemoteSetData(
- [in, unique] FORMATETC *pformatetc,
- [in, unique] FLAG_STGMEDIUM *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(594f31d0-7f19-11d0-b194-00a0c90dc8bf)
- ]
- interface IRpcChannelBuffer2 : IRpcChannelBuffer
- {
- HRESULT GetProtocolVersion
- (
- [in,out] DWORD *pdwVersion
- );
- }
- [
- local,
- object,
- uuid(a5029fb6-3c34-11d1-9c99-00c04fb998aa),
- pointer_default(unique)
- ]
- interface IAsyncRpcChannelBuffer : IRpcChannelBuffer2
- {
- HRESULT Send(
- [in,out] RPCOLEMESSAGE *pMsg,
- [in] ISynchronize *pSync,
- [out] ULONG *pulStatus
- );
- HRESULT Receive(
- [in,out] RPCOLEMESSAGE *pMsg,
- [out] ULONG *pulStatus);
- HRESULT GetDestCtxEx
- (
- [in] RPCOLEMESSAGE *pMsg,
- [out] DWORD *pdwDestContext,
- [out] void **ppvDestContext
- );
- };
- [
- local,
- object,
- uuid(25B15600-0115-11d0-BF0D-00AA00B8DFD2)
- ]
- interface IRpcChannelBuffer3 : IRpcChannelBuffer2
- {
- HRESULT Send
- (
- [in,out] RPCOLEMESSAGE *pMsg,
- [out] ULONG *pulStatus
- );
- HRESULT Receive
- (
- [in,out] RPCOLEMESSAGE *pMsg,
- [in] ULONG ulSize,
- [out] ULONG *pulStatus
- );
- HRESULT Cancel
- (
- [in] RPCOLEMESSAGE *pMsg
- );
- HRESULT GetCallContext
- (
- [in] RPCOLEMESSAGE *pMsg,
- [in] REFIID riid,
- [out] void **pInterface
- );
- HRESULT GetDestCtxEx
- (
- [in] RPCOLEMESSAGE *pMsg,
- [out] DWORD *pdwDestContext,
- [out] void **ppvDestContext
- );
- HRESULT GetState
- (
- [in] RPCOLEMESSAGE *pMsg,
- [out] DWORD *pState
- );
- HRESULT RegisterAsync
- (
- [in] RPCOLEMESSAGE *pMsg,
- [in] IAsyncManager *pAsyncMgr
- );
- }
- [
- local,
- object,
- uuid(58a08519-24c8-4935-b482-3fd823333a4f)
- ]
- interface IRpcSyntaxNegotiate : IUnknown
- {
- HRESULT NegotiateSyntax ( [in,out] RPCOLEMESSAGE * pMsg );
- }
- [
- 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
- );
- }
- cpp_quote( "#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM" )
- cpp_quote( "// This interface is only valid on Windows NT 4.0" )
- // This structure contains additional data for hooks. As a backward
- // compatability hack, the entire structure is passed in place of the
- // RIID parameter on all hook methods. Thus the IID must be the first
- // parameter. As a forward compatability hack the second field is the
- // current size of the structure.
- typedef struct SChannelHookCallInfo
- {
- IID iid;
- DWORD cbSize;
- GUID uCausality;
- DWORD dwServerPid;
- DWORD iMethod;
- void *pObject;
- } SChannelHookCallInfo;
- [
- local,
- object,
- uuid(1008c4a0-7613-11cf-9af1-0020af6e72f4)
- ]
- interface IChannelHook : IUnknown
- {
- void ClientGetSize(
- [in] REFGUID uExtent,
- [in] REFIID riid,
- [out] ULONG *pDataSize );
- void ClientFillBuffer(
- [in] REFGUID uExtent,
- [in] REFIID riid,
- [in, out] ULONG *pDataSize,
- [in] void *pDataBuffer );
- void ClientNotify(
- [in] REFGUID uExtent,
- [in] REFIID riid,
- [in] ULONG cbDataSize,
- [in] void *pDataBuffer,
- [in] DWORD lDataRep,
- [in] HRESULT hrFault );
- void ServerNotify(
- [in] REFGUID uExtent,
- [in] REFIID riid,
- [in] ULONG cbDataSize,
- [in] void *pDataBuffer,
- [in] DWORD lDataRep );
- void ServerGetSize(
- [in] REFGUID uExtent,
- [in] REFIID riid,
- [in] HRESULT hrFault,
- [out] ULONG *pDataSize );
- void ServerFillBuffer(
- [in] REFGUID uExtent,
- [in] REFIID riid,
- [in, out] ULONG *pDataSize,
- [in] void *pDataBuffer,
- [in] HRESULT hrFault );
- };
- cpp_quote( "#endif //DCOM" )
- cpp_quote("")
- cpp_quote("// Well-known Property Set Format IDs")
- extern const FMTID FMTID_SummaryInformation;
- extern const FMTID FMTID_DocSummaryInformation;
- extern const FMTID FMTID_UserDefinedProperties;
- extern const FMTID FMTID_DiscardableInformation;
- extern const FMTID FMTID_ImageSummaryInformation;
- extern const FMTID FMTID_AudioSummaryInformation;
- extern const FMTID FMTID_VideoSummaryInformation;
- extern const FMTID FMTID_MediaFileSummaryInformation;
- /****************************************************************************
- * Connection Point Interfaces
- ****************************************************************************/
- #ifdef __INCLUDE_CPIFS
- interface IConnectionPointContainer;
- interface IConnectionPoint;
- interface IEnumConnections;
- interface IEnumConnectionPoints;
- [
- object,
- uuid(B196B286-BAB4-101A-B69C-00AA00341D07),
- pointer_default(unique)
- ]
- interface IConnectionPoint : IUnknown
- {
- typedef IConnectionPoint * PCONNECTIONPOINT;
- typedef IConnectionPoint * LPCONNECTIONPOINT;
- HRESULT GetConnectionInterface
- (
- [out] IID * piid
- );
- HRESULT GetConnectionPointContainer
- (
- [out] IConnectionPointContainer ** ppCPC
- );
- HRESULT Advise
- (
- [in] IUnknown * pUnkSink,
- [out] DWORD * pdwCookie
- );
- HRESULT Unadvise
- (
- [in] DWORD dwCookie
- );
- HRESULT EnumConnections
- (
- [out] IEnumConnections ** ppEnum
- );
- }
- [
- object,
- uuid(B196B284-BAB4-101A-B69C-00AA00341D07),
- pointer_default(unique)
- ]
- interface IConnectionPointContainer : IUnknown
- {
- typedef IConnectionPointContainer * PCONNECTIONPOINTCONTAINER;
- typedef IConnectionPointContainer * LPCONNECTIONPOINTCONTAINER;
- HRESULT EnumConnectionPoints
- (
- [out] IEnumConnectionPoints ** ppEnum
- );
- HRESULT FindConnectionPoint
- (
- [in] REFIID riid,
- [out] IConnectionPoint ** ppCP
- );
- }
- [
- object,
- uuid(B196B287-BAB4-101A-B69C-00AA00341D07),
- pointer_default(unique)
- ]
- interface IEnumConnections : IUnknown
- {
- typedef IEnumConnections * PENUMCONNECTIONS;
- typedef IEnumConnections * LPENUMCONNECTIONS;
- typedef struct tagCONNECTDATA
- {
- IUnknown * pUnk;
- DWORD dwCookie;
- } CONNECTDATA;
- typedef struct tagCONNECTDATA * PCONNECTDATA;
- typedef struct tagCONNECTDATA * LPCONNECTDATA;
- [local]
- HRESULT Next(
- [in] ULONG cConnections,
- [out,
- size_is(cConnections),
- length_is(*lpcFetched)] CONNECTDATA * rgcd,
- [out] ULONG * lpcFetched
- );
- [call_as(Next)]
- HRESULT RemoteNext(
- [in] ULONG cConnections,
- [out,
- size_is(cConnections),
- length_is(*lpcFetched)] CONNECTDATA * rgcd,
- [out] ULONG * lpcFetched
- );
- HRESULT Skip
- (
- [in] ULONG cConnections
- );
- HRESULT Reset
- (
- void
- );
- HRESULT Clone
- (
- [out] IEnumConnections ** ppEnum
- );
- }
- [
- object,
- uuid(B196B285-BAB4-101A-B69C-00AA00341D07),
- pointer_default(unique)
- ]
- interface IEnumConnectionPoints : IUnknown
- {
- typedef IEnumConnectionPoints * PENUMCONNECTIONPOINTS;
- typedef IEnumConnectionPoints * LPENUMCONNECTIONPOINTS;
- [local]
- HRESULT Next(
- [in] ULONG cConnections,
- [out,
- size_is(cConnections),
- length_is(*lpcFetched)] IConnectionPoint ** rgpcn,
- [out] ULONG * lpcFetched
- );
- [call_as(Next)]
- HRESULT RemoteNext(
- [in] ULONG cConnections,
- [out,
- size_is(cConnections),
- length_is(*lpcFetched)] IConnectionPoint ** rgpcn,
- [out] ULONG * lpcFetched
- );
- HRESULT Skip
- (
- [in] ULONG cConnections
- );
- HRESULT Reset
- (
- void
- );
- HRESULT Clone
- (
- [out] IEnumConnectionPoints ** ppEnum
- );
- }
- #endif // __INCLUDE_CPIFS
- cpp_quote( "#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM" )
- cpp_quote( "// This interface is only valid on Windows NT 4.0" )
- [
- local,
- object,
- uuid(0000013D-0000-0000-C000-000000000046)
- ]
- interface IClientSecurity : IUnknown
- {
- typedef struct tagSOLE_AUTHENTICATION_SERVICE
- {
- DWORD dwAuthnSvc;
- DWORD dwAuthzSvc;
- OLECHAR *pPrincipalName;
- HRESULT hr;
- } SOLE_AUTHENTICATION_SERVICE;
- typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
- typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES
- {
- EOAC_NONE = 0x0,
- EOAC_MUTUAL_AUTH = 0x1,
- EOAC_STATIC_CLOAKING = 0x20,
- EOAC_DYNAMIC_CLOAKING = 0x40,
- EOAC_ANY_AUTHORITY = 0x80,
- EOAC_MAKE_FULLSIC = 0x100,
- EOAC_DEFAULT = 0x800,
- // These are only valid for CoInitializeSecurity
- EOAC_SECURE_REFS = 0x2,
- EOAC_ACCESS_CONTROL = 0x4,
- EOAC_APPID = 0x8,
- EOAC_DYNAMIC = 0x10,
- EOAC_REQUIRE_FULLSIC = 0x200,
- EOAC_AUTO_IMPERSONATE = 0x400,
- EOAC_NO_CUSTOM_MARSHAL = 0x2000,
- EOAC_DISABLE_AAA = 0x1000
- } EOLE_AUTHENTICATION_CAPABILITIES;
- const OLECHAR *COLE_DEFAULT_PRINCIPAL = (OLECHAR *) -1;
- const void *COLE_DEFAULT_AUTHINFO = (void *) -1;
- typedef struct tagSOLE_AUTHENTICATION_INFO
- {
- DWORD dwAuthnSvc;
- DWORD dwAuthzSvc;
- void *pAuthInfo;
- } SOLE_AUTHENTICATION_INFO, *PSOLE_AUTHENTICATION_INFO;
- typedef struct tagSOLE_AUTHENTICATION_LIST
- {
- DWORD cAuthInfo;
- SOLE_AUTHENTICATION_INFO *aAuthInfo;
- } SOLE_AUTHENTICATION_LIST, *PSOLE_AUTHENTICATION_LIST;
- HRESULT QueryBlanket
- (
- [in] IUnknown *pProxy,
- [out] DWORD *pAuthnSvc,
- [out] DWORD *pAuthzSvc,
- [out] OLECHAR **pServerPrincName,
- [out] DWORD *pAuthnLevel,
- [out] DWORD *pImpLevel,
- [out] void **pAuthInfo,
- [out] DWORD *pCapabilites
- );
- HRESULT SetBlanket
- (
- [in] IUnknown *pProxy,
- [in] DWORD dwAuthnSvc,
- [in] DWORD dwAuthzSvc,
- [in] OLECHAR *pServerPrincName,
- [in] DWORD dwAuthnLevel,
- [in] DWORD dwImpLevel,
- [in] void *pAuthInfo,
- [in] DWORD dwCapabilities
- );
- HRESULT CopyProxy
- (
- [in] IUnknown *pProxy,
- [out] IUnknown **ppCopy
- );
- }
- [
- local,
- object,
- uuid(0000013E-0000-0000-C000-000000000046)
- ]
- interface IServerSecurity : IUnknown
- {
- HRESULT QueryBlanket
- (
- [out] DWORD *pAuthnSvc,
- [out] DWORD *pAuthzSvc,
- [out] OLECHAR **pServerPrincName,
- [out] DWORD *pAuthnLevel,
- [out] DWORD *pImpLevel,
- [out] void **pPrivs,
- [in,out] DWORD *pCapabilities
- );
- HRESULT ImpersonateClient();
- HRESULT RevertToSelf();
- BOOL IsImpersonating();
- }
- [
- object,
- uuid(00000140-0000-0000-C000-000000000046)
- ]
- interface IClassActivator : IUnknown
- {
- HRESULT GetClassObject(
- [in] REFCLSID rclsid,
- [in] DWORD dwClassContext,
- [in] LCID locale,
- [in] REFIID riid,
- [out, iid_is(riid)] void **ppv);
- }
- [
- object,
- local,
- uuid(00000144-0000-0000-C000-000000000046)
- ]
- interface IRpcOptions : IUnknown
- {
- HRESULT Set([in] IUnknown * pPrx,
- [in] DWORD dwProperty,
- [in] ULONG_PTR dwValue);
- HRESULT Query([in] IUnknown * pPrx,
- [in] DWORD dwProperty,
- [out] ULONG_PTR * pdwValue);
- }
- enum {COMBND_RPCTIMEOUT = 0x01}; // Rpc transport-specific timeout.
- cpp_quote( "#endif //DCOM" )
- [
- object,
- uuid(99caf010-415e-11cf-8814-00aa00b569f5),
- pointer_default(unique)
- ]
- interface IFillLockBytes: IUnknown
- {
- [local]
- HRESULT FillAppend
- (
- [in, size_is(cb)] void const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten
- );
- [call_as(FillAppend)]
- HRESULT _stdcall RemoteFillAppend(
- [in, size_is(cb)] byte const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
- [local]
- HRESULT FillAt
- (
- [in] ULARGE_INTEGER ulOffset,
- [in, size_is(cb)] void const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten
- );
- [call_as(FillAt)]
- HRESULT _stdcall RemoteFillAt(
- [in] ULARGE_INTEGER ulOffset,
- [in, size_is(cb)] byte const *pv,
- [in] ULONG cb,
- [out] ULONG *pcbWritten);
- HRESULT SetFillSize
- (
- [in] ULARGE_INTEGER ulSize
- );
- HRESULT Terminate
- (
- [in] BOOL bCanceled
- );
- }
- [
- object,
- uuid(a9d758a0-4617-11cf-95fc-00aa00680db4),
- pointer_default(unique)
- ]
- interface IProgressNotify: IUnknown
- {
- HRESULT OnProgress
- (
- [in] DWORD dwProgressCurrent,
- [in] DWORD dwProgressMaximum,
- [in] BOOL fAccurate,
- [in] BOOL fOwner
- );
- }
- [
- local,
- object,
- uuid(0e6d4d90-6738-11cf-9608-00aa00680db4),
- pointer_default(unique)
- ]
- interface ILayoutStorage: IUnknown
- {
- typedef struct tagStorageLayout
- {
- DWORD LayoutType;
- OLECHAR *pwcsElementName;
- LARGE_INTEGER cOffset;
- LARGE_INTEGER cBytes;
- } StorageLayout;
- HRESULT __stdcall LayoutScript
- (
- [in] StorageLayout *pStorageLayout,
- [in] DWORD nEntries,
- [in] DWORD glfInterleavedFlag
- );
- HRESULT __stdcall BeginMonitor(void);
- HRESULT __stdcall EndMonitor(void);
- HRESULT __stdcall ReLayoutDocfile
- (
- [in] OLECHAR *pwcsNewDfName
- );
- HRESULT __stdcall ReLayoutDocfileOnILockBytes
- (
- [in] ILockBytes *pILockBytes
- );
- }
- [
- object,
- uuid(30f3d47a-6447-11d1-8e3c-00c04fb9386d)
- ]
- interface IBlockingLock: IUnknown
- {
- HRESULT Lock([in] DWORD dwTimeout);
- HRESULT Unlock(void);
- }
- [
- object,
- uuid(bc0bf6ae-8878-11d1-83e9-00c04fc2c6d4)
- ]
- interface ITimeAndNoticeControl: IUnknown
- {
- HRESULT SuppressChanges([in] DWORD res1,
- [in] DWORD res2);
- }
- [
- object,
- uuid(8d19c834-8879-11d1-83e9-00c04fc2c6d4)
- ]
- interface IOplockStorage: IUnknown
- {
- HRESULT CreateStorageEx([in] LPCWSTR pwcsName,
- [in] DWORD grfMode,
- [in] DWORD stgfmt,
- [in] DWORD grfAttrs,
- [in] REFIID riid,
- [out, iid_is(riid)] void**ppstgOpen);
- HRESULT OpenStorageEx([in] LPCWSTR pwcsName,
- [in] DWORD grfMode,
- [in] DWORD stgfmt,
- [in] DWORD grfAttrs,
- [in] REFIID riid,
- [out, iid_is(riid)] void**ppstgOpen);
- }
- [
- uuid(00000022-0000-0000-C000-000000000046),
- version(1.0),
- pointer_default(unique)
- , object
- ]
- interface ISurrogate : IUnknown
- {
- typedef [unique] ISurrogate* LPSURROGATE;
- HRESULT LoadDllServer(
- [in] REFCLSID Clsid);
- HRESULT FreeSurrogate();
- }
- [
- local,
- object,
- uuid(00000146-0000-0000-C000-000000000046)
- ]
- interface IGlobalInterfaceTable : IUnknown
- {
- typedef [unique] IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
- HRESULT RegisterInterfaceInGlobal
- (
- [in] IUnknown *pUnk,
- [in] REFIID riid,
- [out] DWORD *pdwCookie
- );
- HRESULT RevokeInterfaceFromGlobal
- (
- [in] DWORD dwCookie
- );
- HRESULT GetInterfaceFromGlobal
- (
- [in] DWORD dwCookie,
- [in] REFIID riid,
- [out, iid_is(riid)] void **ppv
- );
- };
- [
- object,
- uuid(0e6d4d92-6738-11cf-9608-00aa00680db4),
- pointer_default(unique)
- ]
- interface IDirectWriterLock : IUnknown
- {
- HRESULT WaitForWriteAccess ([in] DWORD dwTimeout);
- HRESULT ReleaseWriteAccess ();
- HRESULT HaveWriteAccess ();
- }
- [
- object,
- uuid(00000030-0000-0000-C000-000000000046)
- ]
- interface ISynchronize : IUnknown
- {
- HRESULT Wait([in] DWORD dwFlags, [in] DWORD dwMilliseconds);
- HRESULT Signal();
- HRESULT Reset();
- }
- [
- local,
- object,
- uuid(00000031-0000-0000-C000-000000000046)
- ]
- interface ISynchronizeHandle : IUnknown
- {
- HRESULT GetHandle([out] HANDLE *ph );
- }
- [
- local,
- object,
- uuid(00000032-0000-0000-C000-000000000046)
- ]
- interface ISynchronizeEvent : ISynchronizeHandle
- {
- HRESULT SetEventHandle([in] HANDLE *ph );
- }
- [
- local,
- object,
- uuid(00000033-0000-0000-C000-000000000046)
- ]
- interface ISynchronizeContainer : IUnknown
- {
- HRESULT AddSynchronize([in] ISynchronize *pSync);
- HRESULT WaitMultiple([in] DWORD dwFlags,
- [in] DWORD dwTimeOut,
- [out] ISynchronize **ppSync);
- }
- [
- local,
- object,
- uuid(00000025-0000-0000-C000-000000000046)
- ]
- interface ISynchronizeMutex : ISynchronize
- {
- HRESULT ReleaseMutex();
- }
- [
- local,
- object,
- uuid(00000029-0000-0000-C000-000000000046)
- ]
- interface ICancelMethodCalls : IUnknown
- {
- typedef [unique] ICancelMethodCalls *LPCANCELMETHODCALLS;
- HRESULT Cancel ([in] ULONG ulSeconds);
- HRESULT TestCancel (void);
- }
- [
- local,
- object,
- uuid(0000002A-0000-0000-C000-000000000046)
- ]
- interface IAsyncManager : IUnknown
- {
- typedef enum tagDCOM_CALL_STATE
- {
- DCOM_NONE = 0x0,
- DCOM_CALL_COMPLETE = 0x1,
- DCOM_CALL_CANCELED = 0x2,
- } DCOM_CALL_STATE;
- HRESULT CompleteCall ( [in] HRESULT Result );
- HRESULT GetCallContext( [in] REFIID riid, [out] void **pInterface );
- HRESULT GetState ( [out] ULONG *pulStateFlags);
- }
- [
- local,
- object,
- uuid(1c733a30-2a1c-11ce-ade5-00aa0044773d),
- pointer_default(unique)
- ]
- interface ICallFactory : IUnknown
- {
- HRESULT CreateCall(
- [in] REFIID riid,
- [in] IUnknown *pCtrlUnk,
- [in] REFIID riid2,
- [out, iid_is(riid2)] IUnknown **ppv );
- }
- [ uuid(00000149-0000-0000-C000-000000000046),
- version(0.0),
- pointer_default(unique),
- local,
- object
- ]
- interface IRpcHelper : IUnknown
- {
- HRESULT GetDCOMProtocolVersion(
- [out] DWORD *pComVersion);
- HRESULT GetIIDFromOBJREF(
- [in] void *pObjRef,
- [out] IID **piid);
- }
- [local,
- object,
- uuid(eb0cb9e8-7996-11d2-872e-0000f8080859),
- ]
- interface IReleaseMarshalBuffers : IUnknown
- {
- HRESULT ReleaseMarshalBuffer(
- [in] RPCOLEMESSAGE *pMsg,
- [in] DWORD dwFlags,
- [in,unique] IUnknown *pChnl);
- }
- [
- local,
- object,
- uuid(0000002B-0000-0000-C000-000000000046)
- ]
- interface IWaitMultiple : IUnknown
- {
- HRESULT WaitMultiple ( [in] DWORD timeout, [out] ISynchronize **pSync );
- HRESULT AddSynchronize( [in] ISynchronize *pSync );
- }
- [
- object,
- uuid(00000026-0000-0000-C000-000000000046)
- ]
- interface IUrlMon : IUnknown
- {
- HRESULT AsyncGetClassBits(
- [in] REFCLSID rclsid,
- [in, unique] LPCWSTR pszTYPE,
- [in, unique] LPCWSTR pszExt,
- [in] DWORD dwFileVersionMS,
- [in] DWORD dwFileVersionLS,
- [in, unique] LPCWSTR pszCodeBase,
- [in] IBindCtx * pbc,
- [in] DWORD dwClassContext,
- [in] REFIID riid,
- [in] DWORD flags);
- }
- [
- local,
- object,
- uuid(00000145-0000-0000-C000-000000000046)
- ]
- interface IForegroundTransfer : IUnknown
- {
- HRESULT AllowForegroundTransfer(
- [in] void *lpvReserved);
- }
- [
- local,
- object,
- uuid(00000147-0000-0000-C000-000000000046)
- ]
- interface IAddrTrackingControl : IUnknown
- {
- typedef [unique] IAddrTrackingControl* LPADDRTRACKINGCONTROL;
- HRESULT EnableCOMDynamicAddrTracking();
- HRESULT DisableCOMDynamicAddrTracking();
- };
- [
- local,
- object,
- uuid(00000148-0000-0000-C000-000000000046)
- ]
- interface IAddrExclusionControl : IUnknown
- {
- typedef [unique] IAddrExclusionControl* LPADDREXCLUSIONCONTROL;
- HRESULT GetCurrentAddrExclusionList([in]REFIID riid, [out, iid_is(riid)]void** ppEnumerator);
- HRESULT UpdateAddrExclusionList([in]IUnknown* pEnumerator);
- };
- /****************************************************************************
- * Pipe interfaces
- ****************************************************************************/
- #if (__midl >= 500)
- #define PIPE_ASYNC_UUID(async_iid) async_uuid(async_iid),
- #else
- #define PIPE_ASYNC_UUID(async_iid)
- #endif
- #define NEW_PIPE_INTERFACE(iid, async_iid, name, type)
- [
- object,
- uuid(iid),
- PIPE_ASYNC_UUID(async_iid)
- pointer_default(unique)
- ]
- interface IPipe##name : IUnknown
- {
- HRESULT Pull
- (
- [out, size_is(cRequest), length_is(*pcReturned)] type *buf,
- [in] ULONG cRequest,
- [out] ULONG *pcReturned
- );
-
- HRESULT Push
- (
- [in, size_is(cSent)] type *buf,
- [in] ULONG cSent
- );
- }
- NEW_PIPE_INTERFACE( DB2F3ACA-2F86-11d1-8E04-00C04FB9989A,
- DB2F3ACB-2F86-11d1-8E04-00C04FB9989A,
- Byte,
- BYTE)
- NEW_PIPE_INTERFACE( DB2F3ACC-2F86-11d1-8E04-00C04FB9989A,
- DB2F3ACD-2F86-11d1-8E04-00C04FB9989A,
- Long,
- LONG)
- NEW_PIPE_INTERFACE( DB2F3ACE-2F86-11d1-8E04-00C04FB9989A,
- DB2F3ACF-2F86-11d1-8E04-00C04FB9989A,
- Double,
- DOUBLE)
- /****************************************************************************
- * Thumbnail generator interface
- ****************************************************************************/
- [uuid(969dc708-5c76-11d1-8d86-0000f804b057),
- object
- ]
- interface IThumbnailExtractor : IUnknown
- {
- HRESULT ExtractThumbnail (
- [in] IStorage *pStg,
- [in] ULONG ulLength,
- [in] ULONG ulHeight,
- [out] ULONG *pulOutputLength,
- [out] ULONG *pulOutputHeight,
- [out] HBITMAP *phOutputBitmap
- );
- HRESULT OnFileUpdated (
- [in] IStorage *pStg
- );
- }
- /****************************************************************************
- * Dummy Interface to force inclusion of HICON and HDC in proxy/stub code....
- ****************************************************************************/
- [
- object,
- pointer_default(unique),
- uuid(947990de-cc28-11d2-a0f7-00805f858fb1)
- ]
- interface IDummyHICONIncluder : IUnknown
- {
- HRESULT Dummy([in]HICON h1, [in] HDC h2);
- }
- /****************************************************************************
- * ICOMThreadingInfo and enums
- ****************************************************************************/
- typedef enum _APTTYPE
- {
- APTTYPE_CURRENT = -1,
- APTTYPE_STA = 0,
- APTTYPE_MTA = 1,
- APTTYPE_NA = 2,
- APTTYPE_MAINSTA = 3
- } APTTYPE;
- typedef enum _THDTYPE
- {
- THDTYPE_BLOCKMESSAGES = 0,
- THDTYPE_PROCESSMESSAGES = 1
- } THDTYPE;
- typedef DWORD APARTMENTID;
- [
- local,
- object,
- uuid(000001ce-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IComThreadingInfo : IUnknown
- {
- HRESULT GetCurrentApartmentType( [out] APTTYPE* pAptType );
- HRESULT GetCurrentThreadType( [out] THDTYPE* pThreadType );
- HRESULT GetCurrentLogicalThreadId( [out] GUID* pguidLogicalThreadId );
- HRESULT SetCurrentLogicalThreadId( [in] REFGUID rguid );
- };
- [
- object,
- pointer_default(unique),
- uuid(72380d55-8d2b-43a3-8513-2b6ef31434e9)
- ]
- interface IProcessInitControl : IUnknown
- {
- HRESULT ResetInitializerTimeout([in] DWORD dwSecondsRemaining);
- };
- cpp_quote("#if ( _MSC_VER >= 800 )")
- cpp_quote("#if _MSC_VER >= 1200")
- cpp_quote("#pragma warning(pop)")
- cpp_quote("#else")
- cpp_quote("#pragma warning(default:4201)")
- cpp_quote("#endif")
- cpp_quote("#endif")