#ifndef _INC_OBJIDL #define _INC_OBJIDL TypeDef SNB = **OLECHAR Type COSERVERINFO dwReserved1 As DWord pwszName As LPWSTR pAuthInfo As *COAUTHINFO dwReserved2 As DWord End Type /* interface IMarshal */ /* [uuid][object][local] */ TypeDef LPMARSHAL = /* [unique] */ *IMarshal Dim IID_IMarshal = [&h00000003, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IMarshal Inherits IUnknown Function GetUnmarshalClass( /* [in] */ ByRef iid As IID, /* [unique][in] */ pv As VoidPtr, /* [in] */ dwDestContext As DWord, /* [unique][in] */ pvDestContext As VoidPtr, /* [in] */ mshlflags As DWord, /* [out] */ ByRef Cid As CLSID) As HRESULT Function GetMarshalSizeMax( /* [in] */ ByRef iid As IID, /* [unique][in] */ pv As VoidPtr, /* [in] */ dwDestContext As DWord, /* [unique][in] */ pvDestContext As VoidPtr, /* [in] */ mshlflags As DWord, /* [out] */ ByRef Size As DWord) As HRESULT Function MarshalInterface( /* [unique][in] */ pStm As IStream, /* [in] */ ByRef iid As IID, /* [unique][in] */ pv As VoidPtr, /* [in] */ dwDestContext As DWord, /* [unique][in] */ pvDestContext As VoidPtr, /* [in] */ mshlflags As DWord) As HRESULT Function UnmarshalInterface( /* [unique][in] */ pStm As IStream, /* [in] */ ByRef iid As IID, /* [out] */ ByRef ppv As VoidPtr) As HRESULT Function ReleaseMarshalData( /* [unique][in] */ pStm As *IStream) As HRESULT Function DisconnectObject( /* [in] */ dwReserved As DWord) As HRESULT End Interface ' IMarshal2 Dim IID_IMalloc = [&h00000002, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IMalloc Inherits IUnknown Function Alloc( /* [in] */ cb As SIZE_T) As VoidPtr Function Realloc( /* [in] */ pv As VoidPtr, /* [in] */ cb As SIZE_T) As VoidPtr Sub Free( /* [in] */ pv As VoidPtr) Function GetSize(pv As VoidPtr) As SIZE_T Function DidAlloc(pv As VoidPtr) As Long Sub HeapMinimize() End Interface ' IMallocSpy ' IStdMarshalInfo ' IExternalCennection Type MULTI_QI pIID As * /*Const*/ IID pItf As *IUnknown hr As HRESULT End Type Dim IID_IMultiQI = [&h00000020, &h0000, &h0000, [&hC0, &h00, &h00, &h00, &h00, &h00, &h00, &h46]] As IID Interface IMultiQI Inherits IUnknown Function QueryMultipleInterfaces( /* [in] */ cMQIs As DWord, /* [out][in] */ pMQIs As *MULTI_QI) As HRESULT End Interface ' AsyncIMultiQI ' IInternalUnknown ' IEnumUnknown Type BIND_OPTS cbStruct As DWord grfFlags As DWord grfMode As DWord dwTickCountDeadline As DWord End Type Type BIND_OPTS2 ' Inherits BIND_OPTS cbStruct As DWord grfFlags As DWord grfMode As DWord dwTickCountDeadline As DWord dwTrackFlags As DWord dwClassContext As DWord locale As LCID pServerInfo As *COSERVERINFO End Type Type BIND_OPTS3 ' Inherits BIND_OPTS cbStruct As DWord grfFlags As DWord grfMode As DWord dwTickCountDeadline As DWord dwTrackFlags As DWord dwClassContext As DWord locale As LCID pServerInfo As *COSERVERINFO hwnd As HWND End Type Const Enum BIND_FLAGS BIND_MAYBOTHERUSER BIND_JUSTTESTEXISTENCE End Enum Dim IID_IBindCtx = [&h0000000E, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IBindCtx Inherits IUnknown Function RegisterObjectBound( /* [unique][in] */ punk As IUnknown) As HRESULT Function RevokeObjectBound( /* [unique][in] */ punk As IUnknown) As HRESULT Function ReleaseBoundObjects() As HRESULT /* [local] */ Function SetBindOptions( /* [in] */ ByRef bindopts As BIND_OPTS) As HRESULT /* [local] */ Function GetBindOptions( /* [out][in] */ ByRef bindopts As BIND_OPTS) As HRESULT Function GetRunningObjectTable( /* [out] */ ByRef rot As IRunningObjectTable) As HRESULT Function RegisterObjectParam( /* [in] */ pszKey As LPOLESTR, /* [unique][in] */ unk As IUnknown) As HRESULT Function GetObjectParam( /* [in] */ pszKey As LPOLESTR, /* [out] */ ByRef unk As IUnknown) As HRESULT Function EnumObjectParam( /* [out] */ ByRef enumstr As IEnumString) As HRESULT Function RevokeObjectParam( /* [in] */ pszKey As LPOLESTR) As HRESULT End Interface ' IEnumMoniker Interface IRunningObjectTable Inherits IUnknown End Interface Dim IID_IPersist = [&h0000010c, &h0000, &h0000, [&hC0, &h00, &h00, &h00, &h00, &h00, &h00, &h46]] As IID Interface IPersist Inherits IUnknown Function GetClassID( /* [out] */ ByRef ClassID As CLSID) As HRESULT End Interface Dim IID_IPersistStream = [&h00000109, &h0000, &h0000, [&hC0, &h00, &h00, &h00, &h00, &h00, &h00, &h46]] As IID Interface IPersistStream Inherits IPersist Function IsDirty() As HRESULT Function Load( /* [unique][in] */ Stm As IStream) As HRESULT Function Save( /* [unique][in] */ Stm As IStream, /* [in] */ fClearDirty As BOOL) As HRESULT Function GetSizeMax( /* [out] */ ByRef cbSize As ULARGE_INTEGER) As HRESULT End Interface Interface IMoniker Inherits IPersistStream End Interface Dim IID_IEnumString = [&h00000101, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IEnumString Inherits IUnknown /* [local] */ Function Next_( /* [in] */ celt As DWord, /* [length_is][size_is][out] */ ByRef rgelt As LPOLESTR, /* [out] */ ByRef celtFetched As DWord) As HRESULT Function Skip( /* [in] */ celt As DWord) As HRESULT Function Reset() As HRESULT Function Clone( /* [out] */ ByRef enumstr As IEnumString) As HRESULT End Interface Dim IID_ISequentialStream = [&h0c733a30, &h2a1c, &h11ce, [&had, &he5, &h00, &haa, &h00, &h44, &h77, &h3d]] As IID Interface ISequentialStream Inherits IUnknown Function Read(pv As VoidPtr, cb As DWord, ByRef cbRead As DWord) As HRESULT Function Write(pv As VoidPtr, cb As DWord, ByRef cbWritten As DWord) As HRESULT End Interface Type STATSTG pwcsName As LPOLESTR type_ As DWord cbSize As ULARGE_INTEGER mtime As FILETIME ctime As FILETIME atime As FILETIME grfMode As DWord grfLocksSupported As DWord clsid As CLSID grfStateBits As DWord reserved As DWord End Type Enum STGTY STGTY_STORAGE = 1 STGTY_STREAM = 2 STGTY_LOCKBYTES = 3 STGTY_PROPERTY = 4 End Enum Enum STREAM_SEEK STREAM_SEEK_SET = 0 STREAM_SEEK_CUR = 1 STREAM_SEEK_END = 2 End Enum Enum LOCKTYPE LOCK_WRITE = 1 LOCK_EXCLUSIVE = 2 LOCK_ONLYONCE = 4 End Enum Dim IID_IStream = [&h0000000c, &h0000, &h0000, [&hC0, &h00, &h00, &h00, &h00, &h00, &h00, &h46]] As IID Interface IStream Inherits ISequentialStream Function Seek(dlibMove As LARGE_INTEGER, dwOrigin As DWord, plibNewPosition As *ULARGE_INTEGER) As HRESULT Function SetSize(libNewSize As ULARGE_INTEGER) As HRESULT Function CopyTo(pstm As *IStream, cb As ULARGE_INTEGER, pcbRead As *ULARGE_INTEGER, pcbWritten As *ULARGE_INTEGER) As HRESULT Function Commit(grfCommitFlags As DWord) As HRESULT Function Revert() As HRESULT Function LockRegion(libOffset As ULARGE_INTEGER, cb As ULARGE_INTEGER, dwLockType As DWord) As HRESULT Function UnlockRegion(libOffset As ULARGE_INTEGER, cb As ULARGE_INTEGER, dwLockType As DWord) As HRESULT Function Stat(pstatstg As *STATSTG, grfStatFlag As DWord) As HRESULT Function Clone(ByRef stm As IStream) As HRESULT End Interface TypeDef LPSTREAM = *IStream Interface IEnumSTATSTG Inherits IUnknown End Interface #ifndef __IStorage_INTERFACE_DEFINED__ #define __IStorage_INTERFACE_DEFINED__ /* interface IStorage */ /* [unique][uuid][object] */ TypeDef LPSTORAGE = /* [unique] */ *IStorage Type RemSNB ulCntStr As DWord ulCntChar As DWord rgString[ELM(1)] As OLECHAR End Type TypeDef wireSNB /* [unique] */ = *RemSNB TypeDef SNB = /* [wire_marshal] */ **OLECHAR Dim IID_IStorage = [&h0000000b, &h0000, &h0000, [&hC0, &h00, &h00, &h00, &h00, &h00, &h00, &h46]] As IID Interface IStorage Inherits IUnknown Function CreateStream( /* [string][in] */ pwcsName As *OLECHAR, /* [in] */ grfMode As DWord, /* [in] */ reserved1 As DWord, /* [in] */ reserved2 As DWord, /* [out] */ ByRef stm As IStream) As HRESULT /* [local] */ Function OpenStream( /* [string][in] */ pwcsName As *OLECHAR, /* [unique][in] */ reserved1 As VoidPtr, /* [in] */ grfMode As DWord, /* [in] */ reserved2 As DWord, /* [out] */ ByRef stm As IStream) As HRESULT Function CreateStorage( /* [string][in] */ pwcsName As *OLECHAR, /* [in] */ grfMode As DWord, /* [in] */ reserved1 As DWord, /* [in] */ reserved2 As DWord, /* [out] */ ByRef stg As IStorage) As HRESULT Function OpenStorage( /* [string][unique][in] */ pwcsName As *OLECHAR, /* [unique][in] */ pstgPriority As IStorage, /* [in] */ grfMode As DWord, /* [unique][in] */ snbExclude As SNB, /* [in] */ reserved As DWord, /* [out] */ ByRef stg As IStorage) As HRESULT /* [local] */ Function CopyTo( /* [in] */ ciidExclude As DWord, /* [size_is][unique][in] */ rgiidExclude As * /*Const*/ IID, /* [unique][in] */ snbExclude As SNB, /* [unique][in] */ stgDest As IStorage) As HRESULT Function MoveElementTo( /* [string][in] */ pwcsName As *OLECHAR, /* [unique][in] */ stgDest As IStorage, /* [string][in] */ pwcsNewName As *OLECHAR, /* [in] */ grfFlags As DWord) As HRESULT Function Commit( /* [in] */ grfCommitFlags As DWord) As HRESULT Function Revert() As HRESULT /* [local] */ Function EnumElements( /* [in] */ reserved1 As DWord, /* [size_is][unique][in] */ reserved2 As VoidPtr, /* [in] */ reserved3 As DWord, /* [out] */ ByRef enum_ As IEnumSTATSTG) As HRESULT Function DestroyElement( /* [string][in] */ pwcsName As *OLECHAR) As HRESULT Function RenameElement( /* [string][in] */ pwcsOldName As *OLECHAR, /* [string][in] */ pwcsNewName As *OLECHAR) As HRESULT Function SetElementTimes( /* [string][unique][in] */ pwcsName As *OLECHAR, /* [unique][in] */ ByRef ctime As /*Const*/ FILETIME, /* [unique][in] */ ByRef atime As /*Const*/ FILETIME, /* [unique][in] */ ByRef mtime As /*Const*/ FILETIME) As HRESULT Function SetClass( /* [in] */ ByRef clsid As CLSID) As HRESULT Function SetStateBits( /* [in] */ grfStateBits As DWord, /* [in] */ grfMask As DWord) As HRESULT Function Stat( /* [out] */ ByRef statstg As STATSTG, /* [in] */ grfStatFlag As DWord) As HRESULT End Interface #endif /* __IStorage_INTERFACE_DEFINED__ */ Interface IPersistFile Inherits IPersist Function IsDirty() As HRESULT Function Load( /* [in] */ pszFileName As LPCOLESTR, /* [in] */ dwMode As DWord) As HRESULT Function Save( /* [unique][in] */ pszFileName As LPCOLESTR, /* [in] */ fRemember As BOOL) As HRESULT Function SaveCompleted( /* [unique][in] */ pszFileName As LPCOLESTR) As HRESULT Function GetCurFile( /* [out] */ ByRef pszFileName As LPOLESTR) As HRESULT End Interface ' IPersistStrage Interface ILockBytes Inherits IUnknown End Interface Type DVTARGETDEVICE tdSize As DWord tdDriverNameOffset As Word tdDeviceNameOffset As Word tdPortNameOffset As Word tdExtDevmodeOffset As Word tdData[ELM(1)] As Byte End Type TypeDef LPCLIPFORMAT = *CLIPFORMAT Type FORMATETC cfFormat As CLIPFORMAT ptd As *DVTARGETDEVICE dwAspect As DWord lindex As Long tymed As DWord End Type TypeDef LPFORMATETC = *FORMATETC Interface IEnumFORMATETC Inherits IUnknown End Interface Interface IEnumSTATDATA Inherits IUnknown End Interface ' IRootStorage Enum /*[transmit_as(long)]*/ TYMED TYMED_HGLOBAL = 1 TYMED_FILE = 2 TYMED_ISTREAM = 4 TYMED_ISTORAGE = 8 TYMED_GDI = 16 TYMED_MFPICT = 32 TYMED_ENHMF = 64 TYMED_NULL = 0 End Enum Type STGMEDIUM tymed As DWord data As VoidPtr ' /* [switch_type(DWORD), switch_is((DWORD) tymed)] */ ' Union ' /*[case(TYMED_GDI)]*/ hBitmap As HBITMAP ' /*[case(TYMED_MFPICT)]*/ hMetaFilePict As HMETAFILEPICT ' /*[case(TYMED_ENHMF)]*/ hEnhMetaFile As HENHMETAFILE ' /*[case(TYMED_HGLOBAL)]*/ hGlobal As HGLOBAL ' /*[case(TYMED_FILE)]*/ lpszFileName As LPWSTR ' /*[case(TYMED_ISTREAM)]*/ pstm As *IStream ' /*[case(TYMED_ISTORAGE)]*/ pstg As *IStorage ' /*[default]*/ ' End Union /*[unique]*/ pUnkForRelease As *IUnknown End Type Interface IAdviseSink Inherits IUnknown End Interface ' AsyncIAdviseSink ' IAdviseSink2 ' AsyncIAdviseSink2 Interface IDataObject Inherits IUnknown Function /* [local] */ GetData( /* [unique][in] */ ByRef rformatetcIn As FORMATETC, /* [out] */ ByRef rmedium As STGMEDIUM) As HRESULT Function /* [local] */ GetDataHere( /* [unique][in] */ ByRef rformatetcIn As FORMATETC, /* [out] */ ByRef pmedium As STGMEDIUM) As HRESULT Function QueryGetData( /* [unique][in] */ ByRef pformatetc As FORMATETC) As HRESULT Function GetCanonicalFormatEtc( /* [unique][in] */ ByRef pformatetcIn As FORMATETC, /* [out] */ ByRef pmedium As STGMEDIUM) As HRESULT Function /* [local] */ SetData( /* [unique][in] */ pformatetcIn As *FORMATETC, /* [out] */ pmedium As *STGMEDIUM, /* [in] */ fRelease As BOOL) As HRESULT Function EnumFormatEtc( /* [in] */ dwDirection As DWord, /* [out] */ ByRef rpenumFormatEtc As IEnumFORMATETC) As HRESULT Function DAdvise( /* [in] */ ByRef pformatetc As FORMATETC, /* [in] */ advf As DWord, /* [unique][in] */ pAdvSink As IAdviseSink, /* [out] */ pdwConnection As *DWord) As HRESULT Function DUnadvise( /* [in] */ dwConnection As DWord) As HRESULT Function EnumDAdvise( /* [out] */ ByRef rpenumAdvise As IEnumSTATDATA) As HRESULT End Interface Interface IDataAdviseHolder Inherits IUnknown End Interface Enum CALLTYPE CALLTYPE_TOPLEVEL = 1 CALLTYPE_NESTED = 2 CALLTYPE_ASYNC = 3 CALLTYPE_TOPLEVEL_CALLPENDING = 4 CALLTYPE_ASYNC_CALLPENDING = 5 End Enum Enum ERVERCALL SERVERCALL_ISHANDLED = 0 SERVERCALL_REJECTED = 1 SERVERCALL_RETRYLATER = 2 End Enum Enum PENDINGTYPE PENDINGTYPE_TOPLEVEL = 1 PENDINGTYPE_NESTED = 2 End Enum Enum PENDINGMSG PENDINGMSG_CANCELCALL = 0 PENDINGMSG_WAITNOPROCESS = 1 PENDINGMSG_WAITDEFPROCESS = 2 End Enum Type INTERFACEINFO pUnk As *IUnknown iid As IID wMethod As Word End Type TypeDef LPINTERFACEINFO = *INTERFACEINFO Dim IID_IMessageFilter = [&h00000016, &h0000, &h0000, [&hC0, &h00, &h00, &h00, &h00, &h00, &h00, &h46]] As IID Interface IMessageFilter Inherits IUnknown Function HandleInComingCall( /* [in] */ dwCallType As DWord, /* [in] */ htaskCaller As HTASK, /* [in] */ dwTickCount As DWord, /* [in] */ lpInterfaceInfo As LPINTERFACEINFO) As DWord Function RetryRejectedCall( /* [in] */ htaskCallee As HTASK, /* [in] */ dwTickCount As DWord, /* [in] */ dwRejectType As DWord) As DWord Function MessagePending( /* [in] */ htaskCallee As HTASK, /* [in] */ dwTickCount As DWord, /* [in] */ dwPendingType As DWord) As DWord End Interface ' IRpcChannelBuffer ' IRpcChannelBuffer2 ' IAsyncRpcChannelBuffer ' IRpcChannelBuffer3 ' IRpcSyntaxNegotiate ' IRpcProxyBuffer ' IRpcStubBuffer ' IPSFactoryBuffer ' IChannelHook ' IClientSecurity ' IServerSecurity ' IClassActivator ' IRpcOptions Interface IFillLockBytes Inherits IUnknown End Interface ' IProgressNotify ' ILayoutStorage ' IBlockingLock ' ITimeAndNoticeControl ' IOplockStorage ' ISurrogate ' IGlobalInterfaceTable ' IDirectWriterLock ' ISynchronize ' ISynchronizeHandle ' ISynchronizeEvent ' ISynchronizeContainer ' ISynchronizeMutex ' ICancelMethodCalls ' IAsyncManager ' ICallFactory ' IRpcHelper ' IReleaseMarshalBuffers ' IWaitMultiple ' IUrlMon ' IForegroundTransfer ' IAddrTrackingControl ' IAddrExclusionControl ' IPipeByte ' AsyncIPipeByte ' IPipeLong ' AsyncIPipeLong ' IPipeDouble ' AsyncIPipeDouble ' IThumbnailExtractor ' IDummyHICONIncluder ' IEnumContextProps ' IContext ' IObjContext ' IProcessLock ' ISurrogateService ' IComThreadingInfo ' IProcessInitControl ' IInitializeSpy #endif'_INC_OBJIDL