'Include/objidl.sbp TypeDef SNB = **OLECHAR Type COSERVERINFO dwReserved1 As DWord pwszName As LPWSTR pAuthInfo As *COAUTHINFO dwReserved2 As DWord End Type /* interface IMarshal */ /* [uuid][object][local] */ 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 /* interface IMarshal2 */ /* [uuid][object][local] */ Dim IID_IMarshal2 = [&h000001Cf, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IMarshal2 Inherits IMarshal End Interface /* interface IMalloc */ /* [uuid][object][local] */ 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 /* interface IMallocSpy */ /* [uuid][object][local] */ Dim IID_IMallocSpy = [&h0000001d, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IMallocSpy Inherits IUnknown Function PreAlloc( /* [in] */ cbRequest As SIZE_T) As HRESULT Function PostAlloc( /* [in] */ pActual As VoidPtr) As VoidPtr Function PreFree( /* [in] */ pRequest As VoidPtr, /* [in] */ fSpyed As BOOL) As VoidPtr Sub PostFree( /* [in] */ fSpyed As BOOL) Function PreRealloc( /* [in] */ pRequest As VoidPtr, /* [in] */ cbRequestt As SIZE_T, /* [out] */ ByRef ppNewRequest As VoidPtr, /* [in] */ fSpyed As BOOL) As HRESULT Function PostRealloc( /* [in] */ pActual As VoidPtr, /* [in] */ fSpyed As BOOL) As VoidPtr Function PreGetSize( /* [in] */ pRequest As VoidPtr, /* [in] */ fSpyed As BOOL) As VoidPtr Function PostGetSize( /* [in] */ cbActual As SIZE_T, /* [in] */ fSpyed As BOOL) As HRESULT Function PreDidAlloc( /* [in] */ pRequest As VoidPtr, /* [in] */ fSpyed As BOOL) As VoidPtr Function PostDidAlloc( /* [in] */ pRequest As VoidPtr, /* [in] */ fSpyed As BOOL, /* [in] */ fActual As Long) As Long Sub PreHeapMinimize() Sub PostHeapMinimize() End Interface /* interface IStdMarshalInfo */ /* [uuid][object][local] */ Dim IID_IStdMarshalInfo = [&h00000018, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IStdMarshalInfo Inherits IUnknown Function GetClassForHandler( /* [in] */ dwDestContext As DWord, /* [unique][in] */ pvDestContext As VoidPtr, /* [out] */ ByRef clsid As CLSID) As HRESULT End Interface /* interface IExternalConnection */ /* [uuid][local][object] */ Const Enum EXTCONN EXTCONN_STRONG = 1 EXTCONN_WEAK = 2 EXTCONN_CALLABLE = 4 End Enum Dim IID_IExternalConnection = [&h00000019, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IExternalConnection Inherits IUnknown Function AddConnection( /* [in] */ extconn As DWord, /* [in] */ reserved As DWord) As DWord Function ReleaseConnection( /* [in] */ extconn As DWord, /* [in] */ reserved As DWord, /* [in] */ fLastReleaseCloses As BOOL) As DWord End Interface Type MULTI_QI pIID As * /*Const*/ IID pItf As IUnknown hr As HRESULT End Type Dim IID_IMultiQI = [&h00000020, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IMultiQI Inherits IUnknown Function QueryMultipleInterfaces( /* [in] */ cMQIs As DWord, /* [out][in] */ pMQIs As *MULTI_QI) As HRESULT End Interface /* interface AsyncIMultiQI */ /* [uuid][local][object] */ Dim IID_AsyncIMultiQI = [&h000e0020, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface AsyncIMultiQI Inherits IUnknown Function Begin_QueryMultipleInterfaces( /* [in] */ cMQIs As DWord, /* [out][in] */ pMQIs As *MULTI_QI) As HRESULT Function Finish_QueryMultipleInterfaces( /* [out][in] */ pMQIs As *MULTI_QI) As HRESULT End Interface /* interface IInternalUnknown */ /* [uuid][local][object] */ Dim IID_IInternalUnknown = [&h00000021, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IInternalUnknown Inherits IUnknown Function QueryInternalInterface( /* [in] */ ByRef riid As IID, /* [out] */ ByRef ppv As Any) As HRESULT End Interface /* interface IEnumUnknown */ /* [unique][uuid][object] */ Dim IID_IEnumUnknown = [&h00000100, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IEnumUnknown Inherits IUnknown /* [local] */ Function Next( /* [in] */ celt As DWord, /* [out] */ rgelt As *IUnknown, /* [out] */ ByRef celtFetched As DWord) As HRESULT Function Skip( /* [in] */ celt As DWord) As HRESULT Function Reset() As HRESULT Function Clone( /* [out] */ ByRef enumUnk As IEnumUnknown) As HRESULT End Interface /* interface IBindCtx */ /* [unique][uuid][object] */ 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 /* interface IEnumMoniker */ /* [unique][uuid][object] */ Dim IID_IEnumMoniker = [&h00000102, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IEnumMoniker Inherits IUnknown /* [local] */ Function Next_( /* [in] */ celt As DWord, /* [length_is][size_is][out] */ rgelt As *IMoniker, /* [out] */ ByRef celtFetched As DWord) As HRESULT Function Skip( /* [in] */ celt As DWord) As HRESULT Function Reset() As HRESULT Function Clone( /* [out] */ enumMon As IEnumMoniker) As HRESULT End Interface /* interface IRunningObjectTable */ /* [uuid][object] */ Dim IID_IRunningObjectTable = [&h00000010, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IRunningObjectTable Inherits IUnknown Function Register( /* [in] */ grfFlags As DWord, /* [unique][in] */ unkObject As IUnknown, /* [unique][in] */ mkObjectName As IMoniker, /* [out] */ ByRef dwRegister As DWord) As HRESULT Function Revoke( /* [in] */ dwRegister As DWord) As HRESULT Function IsRunning( /* [unique][in] */ mkObjectName As IMoniker) As HRESULT Function GetObject( /* [unique][in] */ mkObjectName As IMoniker, /* [out] */ ByRef unkObject As IUnknown) As HRESULT Function NoteChangeTime( /* [in] */ dwRegister As DWord, /* [in] */ ByRef filetime As FILETIME) As HRESULT Function GetTimeOfLastChange( /* [unique][in] */ mkObjectName As IMoniker, /* [in] */ ByRef filetime As FILETIME) As HRESULT Function EnumRunning( /* [out] */ ByRef enumMoniker As IEnumMoniker) As HRESULT End Interface Dim IID_IPersist = [&h0000010c, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IPersist Inherits IUnknown Function GetClassID( /* [out] */ ByRef ClassID As CLSID) As HRESULT End Interface Dim IID_IPersistStream = [&h00000109, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &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 */ /* [unique][uuid][object] */ Const Enum MKSYS 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 End Enum /* [v1_enum] */ Const Enum MKREDUCE MKRREDUCE_ONE = (3 << 16) MKRREDUCE_TOUSER = (2 << 16) MKRREDUCE_THROUGHUSER = (1 << 16) MKRREDUCE_ALL = 0 End Enum Dim IID_IMoniker = [&h0000000f, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IMoniker Inherits IPersistStream /* [local] */ Function BindToObject( /* [unique][in] */ bc As IBindCtx, /* [unique][in] */ mkToLeft As IMoniker, /* [in] */ ByRef riidResult As IID, /* [iid_is][out] */ ByRef Result As Any) As HRESULT /* [local] */ Function BindToStorage( /* [unique][in] */ bc As IBindCtx, /* [unique][in] */ mkToLeft As IMoniker, /* [in] */ ByRef riid As IID, /* [iid_is][out] */ ByRef Obj As Any) As HRESULT Function Reduce( /* [unique][in] */ bc As IBindCtx, /* [in] */ dwReduceHowFar As DWord, /* [unique][out][in] */ ByRef mkToLeft As IMoniker, /* [out] */ ByRef mkReduced As IMoniker) As HRESULT Function ComposeWith( /* [unique][in] */ ByRef mkRight As IMoniker, /* [in] */ fOnlyIfNotGeneric As BOOL, /* [out] */ ByRef mkComposite As IMoniker) As HRESULT Function Enum_( /* [in] */ fForward As BOOL, /* [out] */ ByRef enumMoniker As IEnumMoniker) As HRESULT Function IsEqual( /* [unique][in] */ mkOtherMoniker As IMoniker) As HRESULT Function Hash( /* [out] */ ByRef dwHash As DWord) As HRESULT Function IsRunning( /* [unique][in] */ bc As IBindCtx, /* [unique][in] */ mkToLeft As IMoniker, /* [unique][in] */ mkNewlyRunning As IMoniker) As HRESULT Function GetTimeOfLastChange( /* [unique][in] */ bc As IBindCtx, /* [unique][in] */ mkToLeft As IMoniker, /* [out] */ ByRef FileTime As FILETIME) As HRESULT Function Inverse( /* [out] */ ByRef mk As IMoniker) As HRESULT Function CommonPrefixWith( /* [unique][in] */ mkOther As IMoniker, /* [out] */ ByRef mkPrefix As IMoniker) As HRESULT Function RelativePathTo( /* [unique][in] */ mkOther As IMoniker, /* [out] */ ByRef mkRelPath As IMoniker) As HRESULT Function GetDisplayName( /* [unique][in] */ bc As IBindCtx, /* [unique][in] */ mkToLeft As IMoniker, /* [out] */ ByRef pszDisplayName As LPOLESTR) As HRESULT Function ParseDisplayName( /* [unique][in] */ bc As IBindCtx, /* [unique][in] */ mkToLeft As IMoniker, /* [in] */ pszDisplayName As LPOLESTR, /* [out] */ ByRef chEaten As DWord, /* [out] */ ByRef mkOut As IMoniker) As HRESULT Function IsSystemMoniker( /* [out] */ ByRef dwMksys As DWord) As HRESULT End Interface /* interface IEnumString */ /* [unique][uuid][object] */ 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 /* interface ISequentialStream */ /* [unique][uuid][object] */ Dim IID_ISequentialStream = [&h0c733a30, &h2a1c, &h11ce, [&had, &he5, &h00, &haa, &h00, &h44, &h77, &h3d]] As IID Interface ISequentialStream Inherits IUnknown Function Read( /* [length_is][size_is][out] */ pv As VoidPtr, /* [in] */ cb As DWord, /* [out] */ ByRef cbRead As DWord) As HRESULT Function Write( /* [size_is][in] */ pv As VoidPtr, /* [in] */ cb As DWord, /* [out] */ ByRef cbWritten As DWord) As HRESULT End Interface /* interface IStream */ /* [unique][uuid][object] */ 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, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IStream Inherits ISequentialStream /* [local] */ Function Seek( /* [in] */ dlibMove As LARGE_INTEGER, /* [in] */ dwOrigin As DWord, /* [out] */ plibNewPosition As *ULARGE_INTEGER) As HRESULT Function SetSize( /* [in] */ libNewSize As ULARGE_INTEGER) As HRESULT /* [local] */ Function CopyTo( /* [unique][in] */ stm As IStream, /* [in] */ cb As ULARGE_INTEGER, /* [out] */ pcbRead As *ULARGE_INTEGER, /* [out] */ pcbWritten As *ULARGE_INTEGER) As HRESULT Function Commit( /* [in] */ grfCommitFlags As DWord) As HRESULT Function Revert() As HRESULT Function LockRegion( /* [in] */ libOffset As ULARGE_INTEGER, /* [in] */ cb As ULARGE_INTEGER, /* [in] */ dwLockType As DWord) As HRESULT Function UnlockRegion( /* [in] */ libOffset As ULARGE_INTEGER, /* [in] */ cb As ULARGE_INTEGER, /* [in] */ dwLockType As DWord) As HRESULT Function Stat( /* [out] */ pstatstg As *STATSTG, /* [in] */ grfStatFlag As DWord) As HRESULT Function Clone( /* [out] */ ByRef stm As IStream) As HRESULT End Interface /* interface IEnumSTATSTG */ /* [unique][uuid][object] */ Dim IID_IEnumSTATSTG = [&h0000000d, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IEnumSTATSTG Inherits IUnknown /* [local] */ Function Next_( /* [in] */ celt As DWord, /* [length_is][size_is][out] */ rgelt As *STATSTG, /* [out] */ ByRef celtFetched As DWord) As HRESULT Function Skip( /* [in] */ celt As DWord) As HRESULT Function Reset() As HRESULT Function Clone( /* [out] */ ByRef enumStat As IEnumSTATSTG) As HRESULT End Interface /* interface IStorage */ /* [unique][uuid][object] */ 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, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &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 /* interface IPersistFile */ /* [unique][uuid][object] */ Dim IID_IPersistFile = [&h0000010b, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID 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 /* interface IPersistStorage */ /* [unique][uuid][object] */ Dim IID_IPersistStorage = [&h0000010a, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IPersistStorage Inherits IPersist Function IsDirty() As HRESULT Function InitNew( /* [unique][in] */ Stg As IStorage) As HRESULT Function Load( /* [unique][in] */ Stg As IStorage) As HRESULT Function Save( /* [unique][in] */ StgSave As IStorage, /* [in] */ fSameAsLoad As BOOL) As HRESULT Function SaveCompleted( /* [unique][in] */ StgNew As IStorage) As HRESULT Function HandsOffStorage() As HRESULT End Interface /* interface ILockBytes */ /* [unique][uuid][object] */ Dim IID_ILockBytes = [&h0000000a, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface ILockBytes Inherits IUnknown /* [local] */ Function ReadAt( /* [in] */ ulOffset As ULARGE_INTEGER, /* [length_is][size_is][out] */ pv As VoidPtr, /* [in] */ cb As DWord, /* [out] */ ByRef cbRead As DWord) As HRESULT /* [local] */ Function WriteAt( /* [in] */ ulOffset As ULARGE_INTEGER, /* [size_is][in] */ pv As VoidPtr, /* [in] */ cb As DWord, /* [out] */ ByRef cbWritten As DWord) As HRESULT Function Flush() As HRESULT Function SetSize( /* [in] */ cb As ULARGE_INTEGER) As HRESULT Function LockRegion( /* [in] */ libOffset As ULARGE_INTEGER, /* [in] */ cb As ULARGE_INTEGER, /* [in] */ dwLockType As DWord) As HRESULT Function UnlockRegion( /* [in] */ libOffset As ULARGE_INTEGER, /* [in] */ cb As ULARGE_INTEGER, /* [in] */ dwLockType As DWord) As HRESULT Function Stat( /* [out] */ ByRef statstg As STATSTG, /* [in] */ grfStatFlag As DWord) As HRESULT End Interface /* interface IEnumFORMATETC */ /* [unique][uuid][object] */ 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 Dim IID_IEnumFORMATETC = [&h00000103, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IEnumFORMATETC Inherits IUnknown /* [local] */ Function Next_( /* [in] */ celt As DWord, /* [length_is][size_is][out] */ rgelt As *FORMATETC, /* [out] */ ByRef celtFetched As DWord) As HRESULT Function Skip( /* [in] */ celt As DWord) As HRESULT Function Reset() As HRESULT Function Clone( /* [out] */ ByRef penum As *IEnumFORMATETC) As HRESULT End Interface /* interface IEnumSTATDATA */ /* [unique][uuid][object] */ Const Enum ADVF ADVF_NODATA = 1 ADVF_PRIMEFIRST = 2 ADVF_ONLYONCE = 4 ADVF_DATAONSTOP = 64 ADVFCACHE_NOHANDLER = 8 ADVFCACHE_FORCEBUILTIN = 16 ADVFCACHE_ONSAVE = 32 End Enum Type STATDATA formatetc As FORMATETC DWORD advf As DWord pAdvSink As IAdviseSink dwConnection As DWord End Type Dim IID_IEnumSTATDATA = [&h00000105, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IEnumSTATDATA Inherits IUnknown /* [local] */ Function Next_( /* [in] */ celt As DWord, /* [length_is][size_is][out] */ rgelt As *STATDATA, /* [out] */ ByRef celtFetched As DWord) As HRESULT Function Skip( /* [in] */ celt As DWord) As HRESULT Function Reset() As HRESULT Function Clone( /* [out] */ ByRef penum As *IEnumSTATDATA) As HRESULT End Interface /* interface IRootStorage */ /* [unique][uuid][object] */ Dim IID_IRootStorage = [&h00000012, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IRootStorage Inherits IUnknown Function SwitchToFile( /* [in] */ pszFile As LPOLESTR) As HRESULT End Interface /* interface IAdviseSink */ /* [unique][async_uuid][uuid][object] */ 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 RemSTGMEDIUM tymed As DWord dwHandleType As DWord pData As DWord pUnkForRelease As DWord cbData As DWord data[ELM(1)] As Byte End Type /* [wire_marshal] */ 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 Type GDI_OBJECT ' ObjectType As DWord ' /* [switch_type] */ u As Union ' hBitmap As wireHBITMAP ' hPalette As wireHPALETTE ' hGeneric As wireHGLOBAL ' End Union End Type Type userSTGMEDIUM ' tymed As DWord ' /* [switch_type] */ u As Union ' /* Empty union arm */ ' hMetaFilePict As wireHMETAFILEPICT ' hHEnhMetaFile As wireHENHMETAFILE ' hGdiHandle As *GDI_OBJECT ' hGlobal As wireHGLOBAL ' lpszFileName As LPOLESTR ' pstm As *BYTE_BLOB ' pstg As BYTE_BLOB ' End Union ' pUnkForRelease As IUnknown End Type TypeDef wireSTGMEDIUM = /* [unique] */ *userSTGMEDIUM TypeDef ASYNC_STGMEDIUM = /* [unique] */ *userSTGMEDIUM TypeDef wireSTGMEDIUM = /* [wire_marshal] */ STGMEDIUM Type userFLAG_STGMEDIUM ' ContextFlags As Long ' fPassOwnership As Long ' Stgmed As userSTGMEDIUM End Type TypeDef wireFLAG_STGMEDIUM = /* [unique] */ *userFLAG_STGMEDIUM Type /* [wire_marshal] */ FLAG_STGMEDIUM ContextFlags As Long fPassOwnership As Long Stgmed As STGMEDIUM End Type Dim IID_IAdviseSink = [&h0000010f, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IAdviseSink Inherits IUnknown /* [local] */ Sub OnDataChange( /* [unique][in] */ pFormatetc As *FORMATETC, /* [unique][in] */ pStgmed As *STGMEDIUM) /* [local] */ Sub OnViewChange( /* [in] */ dwAspect As DWord, /* [in] */ lindex As Long) /* [local] */ Sub OnRename( /* [in] */ mk As IMoniker) /* [local] */ Sub OnSave() /* [local] */ Sub OnClose() End Interface /* interface AsyncIAdviseSink */ /* [uuid][unique][object] */ Dim IID_AsyncIAdviseSink = [&h00000150, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface AsyncIAdviseSink Inherits IUnknown /* [local] */ Sub Begin_OnDataChange( /* [unique][in] */ pFormatetc As *FORMATETC, /* [unique][in] */ pStgmed As *STGMEDIUM) /* [local] */ Sub Finish_OnDataChange() /* [local] */ Sub Begin_OnViewChange( /* [in] */ dwAspect As DWord, /* [in] */ lindex As Long) /* [local] */ Sub Finish_OnViewChange() /* [local] */ Sub Begin_OnRename( /* [in] */ mk As IMoniker) /* [local] */ Sub Finish_OnRename() /* [local] */ Sub Begin_OnSave() /* [local] */ Sub Finish_OnSave() /* [local] */ Sub Begin_OnClose() /* [local] */ Sub Finish_OnClose() End Interface ' IAdviseSink2 ' AsyncIAdviseSink2 Dim IID_IDataObject = [&h0000010e, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID 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, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &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 Dim IID_IGlobalInterfaceTable = [&h00000146, 0, 0, [&hC0, 0, 0, 0, 0, 0, 0, &h46]] As IID Interface IGlobalInterfaceTable Inherits IUnknown Function RegisterInterfaceInGlobal( /* [in] */ unk As IUnknown, /* [in] */ ByRef riid As IID, /* [out] */ ByRef dwCookie As DWord) As HRESULT Function RevokeInterfaceFromGlobal( /* [in] */ dwCookie As DWord) As HRESULT Function GetInterfaceFromGlobal( /* [in] */ dwCookie As DWord, /* [in] */ ByRef riid As IID, /* [iid_is][out] */ ByRef ppv As Any) As HRESULT End Interface ' 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