| cpp_quote("/**") |
| cpp_quote(" * This file is part of the mingw-w64 runtime package.") |
| cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.") |
| cpp_quote(" */") |
| cpp_quote("") |
| cpp_quote("#include <winapifamily.h>") |
| cpp_quote("") |
| cpp_quote("#if (NTDDI_VERSION >= NTDDI_VISTA && !defined(_WIN32_WINNT))") |
| cpp_quote("#define _WIN32_WINNT 0x0600") |
| cpp_quote("#endif") |
| |
| cpp_quote("#if(NTDDI_VERSION >= NTDDI_WS03 && !defined(_WIN32_WINNT))") |
| cpp_quote("#define _WIN32_WINNT 0x0502") |
| cpp_quote("#endif") |
| |
| cpp_quote("#if(NTDDI_VERSION >= NTDDI_WINXP && !defined(_WIN32_WINNT))") |
| cpp_quote("#define _WIN32_WINNT 0x0501") |
| cpp_quote("#endif") |
| |
| #ifndef DO_NO_IMPORTS |
| import "unknwn.idl"; |
| import "wtypes.idl"; |
| #define DO_NO_IMPORTS |
| #define OBJIDL_UNDEF_DO_NO_IMPORTS |
| #endif |
| |
| #include "objidlbase.idl" |
| #ifdef OBJIDL_UNDEF_DO_NO_IMPORTS |
| #undef DO_NO_IMPORTS |
| #endif |
| |
| interface IMoniker; |
| interface IEnumMoniker; |
| interface IRunningObjectTable; |
| interface IStorage; |
| interface IEnumSTATSTG; |
| interface IAdviseSink; |
| interface IBindCtx; |
| interface IEnumMoniker; |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") |
| [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); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") |
| [object, uuid (0000000e-0000-0000-C000-000000000046), pointer_default (unique)] |
| |
| interface IBindCtx : IUnknown { |
| typedef [unique] IBindCtx *LPBC; |
| typedef [unique] IBindCtx *LPBINDCTX; |
| cpp_quote("#if defined(__cplusplus)") |
| cpp_quote("typedef struct tagBIND_OPTS {") |
| cpp_quote(" DWORD cbStruct;") |
| cpp_quote(" DWORD grfFlags;") |
| cpp_quote(" DWORD grfMode;") |
| cpp_quote(" DWORD dwTickCountDeadline;") |
| cpp_quote("} BIND_OPTS, *LPBIND_OPTS;") |
| cpp_quote("#else") |
| |
| typedef struct tagBIND_OPTS { |
| DWORD cbStruct; |
| DWORD grfFlags; |
| DWORD grfMode; |
| DWORD dwTickCountDeadline; |
| } BIND_OPTS,*LPBIND_OPTS; |
| cpp_quote("#endif") |
| |
| 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; |
| DWORD grfFlags; |
| DWORD grfMode; |
| DWORD dwTickCountDeadline; |
| DWORD dwTrackFlags; |
| DWORD dwClassContext; |
| LCID locale; |
| COSERVERINFO *pServerInfo; |
| } BIND_OPTS2,*LPBIND_OPTS2; |
| cpp_quote("#endif") |
| |
| cpp_quote("#if defined(__cplusplus)") |
| cpp_quote("typedef struct tagBIND_OPTS3 : tagBIND_OPTS2 {") |
| cpp_quote("HWND hwnd;") |
| cpp_quote("} BIND_OPTS3, * LPBIND_OPTS3;") |
| cpp_quote("#else") |
| |
| typedef struct tagBIND_OPTS3 { |
| DWORD cbStruct; |
| DWORD grfFlags; |
| DWORD grfMode; |
| DWORD dwTickCountDeadline; |
| DWORD dwTrackFlags; |
| DWORD dwClassContext; |
| LCID locale; |
| COSERVERINFO *pServerInfo; |
| HWND hwnd; |
| } BIND_OPTS3,*LPBIND_OPTS3; |
| 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, IMoniker **rgelt, 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); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") |
| [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); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") |
| [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; |
| typedef enum tagMKSYS { |
| MKSYS_NONE = 0, |
| MKSYS_GENERICCOMPOSITE = 1, |
| MKSYS_FILEMONIKER = 2, |
| MKSYS_ANTIMONIKER = 3, |
| MKSYS_ITEMMONIKER = 4, |
| MKSYS_POINTERMONIKER = 5, |
| |
| MKSYS_CLASSMONIKER = 7, |
| MKSYS_OBJREFMONIKER = 8, |
| MKSYS_SESSIONMONIKER = 9, |
| MKSYS_LUAMONIKER = 10 |
| }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); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") |
| [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); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") |
| [object, uuid (0000000d-0000-0000-C000-000000000046), pointer_default (unique)] |
| |
| interface IEnumSTATSTG : IUnknown { |
| typedef [unique] IEnumSTATSTG *LPENUMSTATSTG; |
| [local] |
| HRESULT Next ([in] ULONG celt, STATSTG *rgelt, 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)] LPOLESTR *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); |
| [local] |
| HRESULT CopyTo ([in] DWORD ciidExclude,[in, unique, size_is (ciidExclude)] IID const *rgiidExclude,[in, unique] SNB snbExclude,[in, unique] IStorage *pstgDest); |
| [call_as (CopyTo)] |
| HRESULT RemoteCopyTo ([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); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") |
| [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); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") |
| [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, FORMATETC *rgelt, 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; |
| 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; |
| typedef struct tagSTATDATA { |
| FORMATETC formatetc; |
| DWORD advf; |
| [unique] IAdviseSink *pAdvSink; |
| DWORD dwConnection; |
| } STATDATA; |
| typedef STATDATA *LPSTATDATA; |
| [local] |
| HRESULT Next ([in] ULONG celt, STATDATA *rgelt, 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); |
| } |
| |
| [object, uuid (0000010f-0000-0000-C000-000000000046), |
| async_uuid (00000150-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; |
| |
| typedef struct tagRemSTGMEDIUM { |
| DWORD tymed; |
| DWORD dwHandleType; |
| unsigned long pData; |
| unsigned long pUnkForRelease; |
| unsigned long cbData; |
| [size_is (cbData)] byte data[]; |
| } RemSTGMEDIUM; |
| |
| 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] |
| ; |
| } DUMMYUNIONNAME; |
| [unique] IUnknown *pUnkForRelease; |
| } uSTGMEDIUM; |
| cpp_quote("#endif") |
| |
| #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; |
| } DUMMYUNIONNAME; |
| 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 (); |
| [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 (); |
| [call_as (OnClose)] |
| HRESULT RemoteOnClose (); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") |
| [object, uuid (00000125-0000-0000-C000-000000000046), |
| async_uuid (00000151-0000-0000-C000-000000000046), |
| pointer_default (unique)] |
| |
| interface IAdviseSink2 : IAdviseSink { |
| typedef [unique] IAdviseSink2 *LPADVISESINK2; |
| [local] |
| void OnLinkSrcChange ([in, unique] IMoniker *pmk); |
| [call_as (OnLinkSrcChange)] |
| HRESULT RemoteOnLinkSrcChange ([in, unique] IMoniker *pmk); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") |
| [object, uuid (0000010e-0000-0000-C000-000000000046), pointer_default (unique)] |
| |
| interface IDataObject : IUnknown { |
| typedef [unique] IDataObject *LPDATAOBJECT; |
| 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); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") |
| [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; |
| typedef enum tagCALLTYPE { |
| CALLTYPE_TOPLEVEL = 1, |
| CALLTYPE_NESTED = 2, |
| CALLTYPE_ASYNC = 3, |
| CALLTYPE_TOPLEVEL_CALLPENDING = 4, |
| CALLTYPE_ASYNC_CALLPENDING = 5 |
| } CALLTYPE; |
| typedef enum tagSERVERCALL { |
| SERVERCALL_ISHANDLED = 0, |
| SERVERCALL_REJECTED = 1, |
| SERVERCALL_RETRYLATER = 2 |
| } SERVERCALL; |
| typedef enum tagPENDINGTYPE { |
| PENDINGTYPE_TOPLEVEL = 1, |
| PENDINGTYPE_NESTED = 2 |
| } PENDINGTYPE; |
| typedef enum tagPENDINGMSG { |
| PENDINGMSG_CANCELCALL = 0, |
| PENDINGMSG_WAITNOPROCESS = 1, |
| PENDINGMSG_WAITDEFPROCESS = 2 |
| } PENDINGMSG; |
| typedef struct tagINTERFACEINFO { |
| IUnknown *pUnk; |
| IID iid; |
| WORD wMethod; |
| } 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); |
| } |
| |
| cpp_quote("") |
| 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; |
| #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, CONNECTDATA *rgcd, 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, IConnectionPoint **rgpcn, 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 |
| [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); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") |
| [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); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") |
| [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); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") |
| [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); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") |
| [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); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") |
| [object, uuid (0e6d4d92-6738-11cf-9608-00aa00680db4), pointer_default (unique)] |
| |
| interface IDirectWriterLock : IUnknown { |
| HRESULT WaitForWriteAccess ([in] DWORD dwTimeout); |
| HRESULT ReleaseWriteAccess (); |
| HRESULT HaveWriteAccess (); |
| } |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") |
| [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); |
| } |
| [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); |
| } |
| [object, pointer_default (unique), uuid (947990de-cc28-11d2-a0f7-00805f858fb1)] |
| interface IDummyHICONIncluder : IUnknown { |
| HRESULT Dummy ([in]HICON h1,[in] HDC h2); |
| } |
| |
| typedef enum tagApplicationType { |
| ServerApplication, |
| LibraryApplication |
| } ApplicationType; |
| typedef enum tagShutdownType { |
| IdleShutdown, |
| ForcedShutdown |
| } ShutdownType; |
| [object, local, uuid (000001d5-0000-0000-C000-000000000046), pointer_default (unique)] |
| interface IProcessLock : IUnknown { |
| ULONG AddRefOnProcess (); |
| ULONG ReleaseRefOnProcess (); |
| } |
| [object, local, uuid (000001d4-0000-0000-C000-000000000046), pointer_default (unique)] |
| interface ISurrogateService : IUnknown { |
| HRESULT Init ([in] REFGUID rguidProcessID,[in] IProcessLock *pProcessLock,[out] BOOL *pfApplicationAware); |
| HRESULT ApplicationLaunch ([in] REFGUID rguidApplID,[in] ApplicationType appType); |
| HRESULT ApplicationFree ([in] REFGUID rguidApplID); |
| HRESULT CatalogRefresh ([in] ULONG ulReserved); |
| HRESULT ProcessShutdown ([in] ShutdownType shutdownType); |
| } |
| |
| [local, object, uuid (00000034-0000-0000-C000-000000000046), pointer_default (unique)] |
| interface IInitializeSpy : IUnknown { |
| typedef [unique] IInitializeSpy *LPINITIALIZESPY; |
| HRESULT PreInitialize ([in] DWORD dwCoInit,[in] DWORD dwCurThreadAptRefs); |
| HRESULT PostInitialize ([in] HRESULT hrCoInit,[in] DWORD dwCoInit,[in] DWORD dwNewThreadAptRefs); |
| HRESULT PreUninitialize ([in] DWORD dwCurThreadAptRefs); |
| HRESULT PostUninitialize ([in] DWORD dwNewThreadAptRefs); |
| }; |
| cpp_quote("#endif") |
| |
| cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") |
| [local, object, uuid (A2F05A09-27a2-42b5-BC0E-AC163EF49D9B), pointer_default (unique)] |
| interface IApartmentShutdown : IUnknown { |
| void OnUninitialize ([in] UINT64 ui64ApartmentIdentifier); |
| } |
| |
| cpp_quote("#endif") |