Results 1 to 5 of 5

Thread: [twinBASIC] tbShellLib - Shell Interface Library (x64-compatible successor to oleexp)

  1. #1

    Thread Starter
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    3,620

    Lightbulb [twinBASIC] tbShellLib - Shell Interface Library (x64-compatible successor to oleexp)

    twinBASIC Shell Library :: tbShellLib

    Current Version: 2.3.30 (December 5th, 2022)


    tbShellLib is a project to create an x64-compatible interface set as a successor to oleexp, since upgrading that with midl is nigh impossible due to some issues, and twinBASIC will eventually support exporting Type Libraries anyway.

    The current form of this project is a twinpack file, which can be added to twinBASIC projects as a reference (Settings -> References -> twinpack Packages). Since the full scope of language features can be used in this form, it will include the addon modules internally.

    Please submit any bugs here on the project GitHub page, and if there's any interfaces you use that haven't been implemented yet, please let me know, as actively used interfaces will go to the top of the priority list.

    This project will aim for ~90-95% coverage of oleexp; I'm not planning on spending time on some interfaces that aren't usable beyond Windows 98/ME.

    Coclasses
    twinBASIC now supports coclasses!
    You can once again use e.g.
    Dim pExpBrowse As ExplorerBrowser
    Set pExpBrowse = New ExplorerBrowser



    Requirements

    The use of coclasses means tbShellLib now requires twinBASIC Beta 167 or newer.


    Project Download

    Option 1: This project is published to the twinBASIC Package Manager; you can directly add it to your project via Settings->COM Type Library / Active-X References->TWINPACK Packages. It will show up in the list automatically, and selecting it will download it from the twinBASIC Package server.

    Option 2: The attachment here has the current ,twinpack package, and the source .twinproj

    Option 3: This project is also available on GitHub, which includes an Export folder where you can browse the source from your web browser.



    Update (v2.3.30): Fixed CM_COLUMNINFO bug; other misc bug fixes.

    Update (v2.2.26): Added IWebBrowser2 interface I thought it already had.

    Update (v2.1.24): twinBASIC now supports in-project CoClass syntax! All coclasses from oleexp have been added (I think, if you find one missing please let me know), and can once again be used with the New keyword. The prior sCLSID constants have been left in. Also greatly expanded the API declare coverage to match what was in oleexp, though a few DLLs are still pending. Finally, tbShellLib now declares an compiler constant, TB_SHELLLIB_DEFINED, to help avoid conflicts with other projects (chiefly, my upcoming Common Controls 64-bit compatible library). tbShellLib now requires twinBASIC Beta 167 or newer.

    Update (v2.0.20): The project has reached it's initial goal of implementing all but the most obsolete oleexp.tlb interfaces. In addition, with similar exception of a small set of highly obsolete items, the API coverage is now available. Note that this was subject to extensive cleanup; native-language declares can't use the last param as retval on APIs, so all of those were converted, and TLB APIs pass Strings as BSTR, while native language passes ANSI strings, so there's currently a mix of either using LongPtr or tB's DeclareWide for BSTR/LPWSTR support (if it says String you can use a String without StrPtr).

    Update (v1.9.17, 15 Oct 2022): Extensive new interface additions; all remaining oleexp additions have been added including WIC and NetCon, and the majority of remaining original olelib interfaces have been added as well.

    Update (v1.2.10): twinBASIC now supports [ PreserveSig ] as an attribute to have HRESULT values as a function return instead of only available via Err.LastHResult; tbShellLib now has this implemented wherever it is in oleexp. Like in VB, this means they're not Implements compatible, and at some point in the next few weeks, there will also be a tbShellLibImpl as a counterpart to oleexpimp.tlb. This update also adds all DirectShow interfaces (and mDirectShow.bas), most remaining oleexp interfaces, and several additional olelib interfaces.

    Update (v1.1.9): Added class factory/typelib interfaces from olelib plus oleexp extensions; added manipulation.idl stuff (internial scrolling), and a few misc others.

    Update (v1.1.6): Added a small number of interfaces I shouldn't have left out of the first major release... IShellExtInit, IShellExtPropPage (and related structs/apis), IQueryAssociations, IItemNameLimits, IObjectWithSite, a few others.
    Attached Files Attached Files
    Last edited by fafalone; Dec 5th, 2022 at 05:27 AM. Reason: Corrected typos/outdated info in description; no project update

  2. #2

    Thread Starter
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    3,620

    Re: [twinBASIC] tbShellLib - Shell Interface Library (x64-compatible successor to ole

    Currently Implemented Interfaces in Bold (oleexp additions) (as of v1.1.8)
    IAccessible
    IAccessibleHandler
    IAccessibleWindowlessSite
    IAccIdentity
    IAccPropServer
    IAccPropServices; coclass CAccPropServices
    IApplicationAssociationRegistration*; coclass ApplicationAssociationRegistration
    IApplicationAssociationRegistrationUI*; coclass ApplicationAssociationRegistrationUI
    IApplicationDestinations
    IApplicationDocumentLists; coclass ApplicationDocumentLists
    IAppPublisher
    IAssocHandler
    IAssocHandlerInvoker
    IAutoCompleteDropDown
    IBrowserFrameOptions
    IColumnManager
    ICommDlgBrowser*
    ICommDlgBrowser2*
    ICommDlgBrowser3*
    ICondition, coclass LeafCondition et al.
    ICondition2
    IConditionFactory; coclass ConditionFactory
    IConditionFactory2
    IConditionGenerator
    IContextMenu3
    IContextMenuCB
    ICurrentItem
    ICustomizeInfoTip
    ICreateObject
    ICustomDestinationsList; coclass DestinationList
    IDataObjectAsyncCapability‡
    IDefaultExtractIconInit
    IDefaultFolderMenuInitialize; coclass DefFolderMenu
    IDelegateFolder
    IDelegateItem
    IDisplayItem
    IDragSourceHelperr; coclass DragDropHelper
    IDragSourceHelper2r; coclass DragDropHelper
    IDropTargetHelperr; coclass DragDropHelper
    IDynamicHWHandler
    IEntity
    IEnumAssocHandlers
    IEnumerableView
    IEnumExplorerCommand
    IEnumFullIDList
    IEnumPublishedApps
    IEnumReadyCallback
    IEnumResources*
    IEnumShellItems
    IExecuteCommand; coclasses ExecuteFolder, ExecuteUnknown, and AppShellVerbHandler
    IExecuteCommandHost
    IExplorerBrowser; coclass ExplorerBrowser
    IExplorerBrowserEvents
    IExplorerCommand
    IExplorerCommandProvider
    IExplorerCommandState
    IExplorerPaneVisibility*
    IFileDialog
    IFileDialog2
    IFileDialogControlEvents
    IFileDialogCustomize
    IFileDialogEvents
    IFileIsInUse
    IFileOpenDialog; coclass FileOpenDialog
    IFileOperation; coclass FileOperation
    IFileOperationProgressSink
    IFileSaveDialog; coclass FileSaveDialog
    IFileSystemBindData
    IFileSystemBindData2
    IFilterCondition
    IFolderView2
    IFolderViewOptions
    IFolderViewSettings
    IFrameworkInputPane; coclass FrameworkInputPane
    IFrameworkInputPaneHandler
    IHomeGroup; coclass HomeGroup
    IHWEventHandler2
    IIdentityName
    IImageList; coclass ImageList***
    IImageList2
    IImageRecompress; coclass ImageRecompress
    IInertiaProcessor; coclass InertiaProcessor
    IInitializeCommand
    IInitializeNetworkFolder, coclass NetworkPlaces
    IInitializeWithBindCtx
    IInitializeWithFile
    IInitializeWithItem
    IInitializeWithPropertyStore
    IInitializeWithStream
    IInitializeWithWindow
    IInternetSecurityManagerEx
    IInternetSecurityManagerEx2
    IInternetZoneManagerEx
    IInternetZoneManagerEx2
    IInterval, coclass Interval
    IItemFilter
    IItemNameLimits
    IKnownFolder
    IKnownFolderManager; coclass KnownFolderManager
    IManipulationProcessor; coclass ManipulationProcessor
    IManipulationEvents
    IMessageFilter
    IMetaData
    IModalWindow
    IMultiQI
    INamedEntity
    INamedEntityCollector
    INamedPropertyStore
    INameSpaceTreeControl
    INameSpaceTreeControl2; coclass NamespaceTreeControl
    INameSpaceTreeControlAccessible
    INameSpaceTreeControlCustomDraw
    INameSpaceTreeControlDropHandler
    INameSpaceTreeControlEvents
    INameSpaceTreeControlFolderCapabilities
    INamespaceWalk
    INamespaceWalkCB
    INamespaceWalkCB2
    INewMenuClient
    INewWindowManager
    IObjectArray
    IObjectCollection; coclass EnumerableObjectCollection
    IObjectWithFolderEnumMode
    IObjectWithPropertyKey
    IObjMgr
    IOperationsProgressDialog
    IParentAndItem
    IPersistFolder3
    IPreviewHandler
    IPreviewHandlerFrame
    IPreviewHandlerVisuals
    IPreviewItem
    IPreviousVersionsInfo; coclass PreviousVersions
    IProgressDialog
    IPropertyChange
    IPropertyChangeArray
    IPropertyDescription
    IPropertyDescription2
    IPropertyDescriptionAliasInfo
    IPropertyDescriptionList
    IPropertyDescriptionRelatedPropertyInfo
    IPropertyDescriptionSearchInfo
    IPropertyEnumType
    IPropertyEnumType2
    IPropertyEnumTypeList
    IPropertyStore
    IPropertyStoreCache
    IPropertyStoreCapabilities
    IPropertyStoreFactory
    IPropertySystem
    IPublishedApp*
    IPublishedApp2*
    IQueryParser, coclass QueryParser
    IQueryParserManager, coclass QueryParserManager
    IQuerySolution
    IRelatedItem
    IRelationship
    IResolveShellLink
    IResultsFolder
    IRichChunk*
    ISchemaLocalizerSupport
    ISchemaProvider
    ISearchBoxInfo*
    ISearchFolderItemFactory; coclass SearchFolderItemFactory
    ISharedBitmap
    ISharingConfigurationManager; coclass SharingConfigurationManager
    IShellApp
    IShellChangeNotify
    IShellFolderViewCB*
    IShellIconOverlay
    IShellIconOverlayIdentifier*
    IShellIconOverlayManager; coclass CFSIconOverlayManager
    IShellImageDataFactory; coclass ShellImageDataFactory
    IShellImageData
    IShellImageDataAbort*
    IShellItem
    IShellItem2
    IShellItemArray
    IShellItemFilter
    IShellItemImageFactory
    IShellItemResources
    IShellLibrary
    IShellLinkDataList
    IShellMenu*
    IShellMenuCallback*
    IShellRunDll
    IShellTaskScheduler; coclass ShellTaskScheduler
    IShellWindows; coclass ShellWindows
    IStartMenuPinnedList
    IStreamAsync
    ISystemInformation; coclass SystemInformation
    ITaskbarList3
    ITaskbarList4; coclass TaskbarList
    ITaskService, coclass TaskS
    IThumbnailCache; coclass LocalThumbnailCache
    IThumbnailHandlerFactory
    IThumbnailProvider
    IThumbnailSettings
    ITokenCollection
    ITrackShellMenu; coclass TrackShellMenu
    ITranscodeImage; coclass ImageTranscode
    ITransferAdviseSink*
    ITransferDestination*
    ITransferMediumItem
    ITransferSource*
    IUri
    IUserNotification2; coclass UserNotification
    IUserNotificationCallback
    IUseToBrowseItem
    IViewStateIdentityItem
    IVirtualDesktopManager, coclass VirtualDesktopManager
    IVisualProperties
    IZoneIdentifier; coclass PersistentZoneIdentifier
    IZoneIdentifier2
    IZombie
    Task Manager
    IAction
    IActionCollection
    IBootTrigger
    IComHandlerAction
    IDailyTrigger
    IEmailAction
    IEventTrigger
    IExecAction
    IExecAction2
    IIdleSettings
    IIdleTrigger
    ILogonTrigger
    IMaintenanceSettings
    IMonthlyDOWTrigger
    IMonthlyTrigger
    INetworkSettings
    IPrincipal
    IPrincipal2
    IRegisteredTask
    IRegisteredTaskCollection
    IRegistrationInfo
    IRegistrationTrigger
    IRepetitionPattern
    IRunningTask
    IRunningTaskCollection
    ISessionStateChangeTrigger
    IShowMessageAction
    ITaskDefinition
    ITaskFolder
    ITaskFolderCollection
    ITaskHandler
    ITaskHandlerStatus
    ITaskNamedValueCollection
    ITaskNamedValuePair
    ITaskService; coclass TaskScheduler
    ITaskSettings
    ITaskSettings2
    ITaskSettings3
    ITaskVariables
    ITimeTrigger
    ITrigger
    ITriggerCollection
    IWeeklyTrigger

    Spell Checking
    IComprehensiveSpellCheckProvider
    IEnumSpellingError
    IOptionDescription
    ISpellChecker
    ISpellChecker2
    ISpellCheckerChangedEventHandler
    ISpellCheckerFactory; coclass SpellCheckerFactory
    ISpellCheckProvider
    ISpellCheckProviderFactory
    ISpellingError
    IUserDictionariesRegistrar

    ListView
    IDrawPropertyControl
    IListView
    IListViewFooter
    IListViewFooterCallback
    ILVRange
    IOwnerDataCallback
    IPropertyControl
    IPropertyControlBase
    IPropertyValue
    ISubItemCallback

    Shell Automation
    DFConstraint
    DShellFolderViewEvents, coclass ShellFolderViewOC
    Folder
    Folder2
    Folder3
    FolderItem
    FolderItem2, coclass FolderItem
    FolderItems
    FolderItems2
    FolderItems3
    FolderItemVerb
    FolderItemVerbs
    IFolderViewOC
    IShellFolderViewDual
    IShellFolderViewDual2
    IShellFolderViewDual3, coclass ShellFolderView
    IShellDispatch
    IShellDispatch2
    IShellDispatch3
    IShellDispatch4
    IShellDispatch5
    IShellDispatch6, coclass Shell
    IShellLinkDual
    IShellLinkDual2, coclass ShellLinkObject
    Core Audio
    IActivateAudioInterfaceAsyncOperation
    IActivateAudioInterfaceCompletionHandler
    IAudioAutoGainControl
    IAudioBass
    IAudioCaptureClient
    IAudioChannelConfig
    IAudioClient
    IAudioClient2
    IAudioClient3
    IAudioClock
    IAudioClock2
    IAudioClockAdjustment
    IAudioEndpointFormatControl
    IAudioEndpointLastBufferControl
    IAudioEndpointOffloadStreamMeter
    IAudioEndpointOffloadStreamMute
    IAudioEndpointOffloadStreamVolume
    IAudioEndpointVolume
    IAudioEndpointVolumeCallback
    IAudioEndpointVolumeEx
    IAudioInputSelector
    IAudioLfxControl

    IAudioLoudness
    IAudioMeterInformation
    IAudioMidrange
    IAudioMute
    IAudioOutputSelector
    IAudioPeakMeter
    IAudioRenderClient
    IAudioSessionControl
    IAudioSessionControl2
    IAudioSessionEnumerator
    IAudioSessionEvents
    IAudioSessionManager
    IAudioSessionManager2
    IAudioSessionNotification
    IAudioStreamVolume
    IAudioSystemEffects
    IAudioSystemEffects2
    IAudioTreble
    IAudioVolumeDuckNotification
    IAudioVolumeLevel
    IChannelAudioVolume
    IConnector

    IControlChangeNotify
    IControlInterface
    IDeviceSpecificProperty
    IDeviceTopology
    IHardwareAudioEngineBase
    IKsControl
    IKsFormatSupport
    IKsJackContainerId
    IKsJackDescription
    IKsJackDescription2
    IKsJackSinkInformation
    IMMDevice
    IMMDeviceActivator
    IMMDeviceCollection
    IMMDeviceEnumerator
    IMMEndpoint
    IMMNotificationClient
    IPart
    IPartsList
    IPolicyConfig
    IPerChannelDbLevel
    ISimpleAudioVolume
    ISubunit
    DirectShow**
    IAMAnalogVideoDecoder
    IAMAsyncReaderTimestampScaling
    IAMAudioInputMixer
    IAMAudioRendererStats
    IAMBufferNegotiation
    IAMCameraControl
    IAMCertifiedOutputProtection
    IAMChannelInfo
    IAMClockAdjust
    IAMClockSlave
    IAMCollection
    IAMCopyCaptureFileProgress
    IAMCrossbar
    IAMDecoderCaps
    IAMExtendedErrorInfo
    IAMExtendedSeeking
    IAMMediaContent
    IAMMediaContent2
    IAMNetShowConfig
    IAMNetShowExProps
    IAMNetShowPreroll
    IAMNetworkStatus
    IAMStats
    IBaseFilter, multiple coclasses
    IBasicAudio
    IBasicVideo
    IBasicVideo2
    ICaptureGraphBuilder
    ICaptureGraphBuilder2
    IDeferredCommand
    IEnumFilters
    IEnumMediaTypes
    IEnumPins
    IFileSinkFilter
    IFilterGraph, coclass FilterGraph
    IFilterGraph2
    IFilterGraph3
    IFilterInfo
    IGraphBuilder
    IMediaControl
    IMediaEvent
    IMediaEventEx
    IMediaFilter
    IMediaPosition
    IMediaSample
    IMediaSample2
    IMediaSample3
    IMediaTypeInfo
    IPin
    IPinInfo
    IQueueCommand
    IReferenceClock
    IRegFilterInfo
    ISampleGrabber, coclass SampleGrabber
    ISampleGrabberCB
    IVideoWindow
    Windows Imaging Component (WIC)ª
    IWICBitmap
    IWICBitmapClipper
    IWICBitmapCodecInfo
    IWICBitmapCodecProgressNotification
    IWICBitmapDecoder
    IWICBitmapDecoderInfo
    IWICBitmapEncoder
    IWICBitmapEncoderInfo
    IWICBitmapFlipRotator
    IWICBitmapFrameDecode
    IWICBitmapFrameEncode
    IWICBitmapLock
    IWICBitmapScaler
    IWICBitmapSource
    IWICBitmapSourceTransform
    IWICColorContext
    IWICColorTransform
    IWICComponentFactory
    IWICComponentInfo
    IWICDdsDecoder
    IWICDdsEncoder
    IWICDdsFrameDecode
    IWICDevelopRaw
    IWICDevelopRawNotificationCallback
    IWICEnumMetadataItem
    IWICFastMetadataEncoder
    IWICFormatConverter
    IWICFormatConverterInfo
    IWICImageEncoder
    IWICImagingFactory, coclass WICImagingFactory
    IWICImagingFactory2, coclass WICImagingFactory2
    IWICJpegFrameDecode
    IWICJpegFrameEncode
    IWICMetadataBlockReader
    IWICMetadataBlockWriter
    IWICMetadataHandlerInfo
    IWICMetadataQueryReader
    IWICMetadataQueryWriter
    IWICMetadataReader
    IWICMetadataReaderInfo
    IWICMetadataWriter
    IWICMetadataWriterInfo
    IWICPalette
    IWICPersistStream
    IWICPixelFormatInfo
    IWICPixelFormatInfo2
    IWICPlanarBitmapFrameEncode
    IWICPlanarBitmapSourceTransform
    IWICPlanarFormatConverter
    IWICProgressCallback
    IWICProgressiveLevelControl
    IWICStream
    IWICStreamProvider
    Portable Devices
    IEnumPortableDeviceConnectors****
    IEnumPortableDeviceObjectIDs
    IPortableDevice, coclasses PortableDevice, PortableDeviceFTM
    IPortableDeviceCapabilities
    IPortableDeviceConnector****
    IPortableDeviceContent
    IPortableDeviceContent2
    IPortableDeviceDispatchFactory, coclass PortableDeviceDispatchFactory
    IPortableDeviceEventCallback
    IPortableDeviceKeyCollection, coclass PortableDeviceKeyCollection
    IPortableDeviceManager, coclass PortableDeviceManager

    IPortableDeviceProperties
    IPortableDevicePropertiesBulkCallback
    IPortableDevicePropVariantCollection, coclass PortableDevicePropVariantCollection
    IPortableDeviceResources
    IPortableDeviceService, coclass PortableDeviceService
    IPortableDeviceServiceCapabilities
    IPortableDeviceServiceMethodCallback
    IPortableDeviceServiceMethods
    IPortableDeviceServiceOpenCallback
    IPortableDeviceValues, coclass PortableDeviceValues
    IPortableDeviceValuesCollection
    IPortableDeviceWebControl, coclass PortableDeviceWebControl
    IWpdSerializer, coclass WpdSerializer
    Net Connections
    IEnumNetConnection
    IEnumNetSharingEveryConnection
    IEnumNetSharingPortMapping
    IEnumNetSharingPrivateConnection
    IEnumNetSharingPublicConnection
    INetConnection
    INetConnectionConnectUi
    INetConnectionManager, coclass ConnectionManager
    INetConnectionProps
    INetSharingConfiguration
    INetSharingEveryConnectionCollection
    INetSharingManager, coclass NetSharingManager
    INetSharingPortMapping
    INetSharingPortMappingCollection
    INetSharingPortMappingProps
    INetSharingPrivateConnectionCollection
    INetSharingPublicConnectionCollection

    All related types/enums for finished interfaces are provided.

  3. #3

    Thread Starter
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    3,620

    Re: [twinBASIC] tbShellLib - Shell Interface Library (x64-compatible successor to ole

    Interfaces Included From Original OLELIB
    IACList
    IACList2
    IActionProgress
    IActionProgressDialog

    IActiveDesktop
    IAddressBarParser; coclass AddressBarParser
    IAdviseSink
    IAuthenticate
    IAutoComplete
    IAutoComplete2
    IBindCtx
    IBindHost
    IBinding
    IBindProtocol
    IBindStatusCallback

    ICallAddRelease
    ICallGION
    ICallInvoke
    ICallQI
    ICategorizer; multiple coclasses‡
    ICategoryProvider
    ICatInformation; coclass StdComponentCategoriesMgr
    ICatRegister
    ICDBurn; coclass CDBurn
    IClassFactory
    IClassFactory2
    IColumnProvider
    IConnectionPoint
    IConnectionPointContainer
    IContextMenu
    IContextMenu2
    IContinueCallback
    ICopyHookA
    ICopyHookW
    ICreateErrorInfo
    ICreateTypeInfo
    ICreateTypeInfo2
    ICreateTypeLib
    ICreateTypeLib2

    ICustomDoc
    IDataObject
    IDeskBand
    IDiscMaster; coclass MSDiscMasterObj
    IDiscMasterProgressEvents
    IDiscRecorder; coclass MSDiscRecorderObj
    IDispatch (renamed IDispatchUnrestricted)

    IDocHostShowUI
    IDocHostUIHandler
    IDocHostUIHandler2
    IDockingWindow
    IDockingWindowFrame
    IDockingWindowSite
    IDropSource
    IDropTarget
    IDynamicHWHandler
    IEmptyVolumeCache
    IEmptyVolumeCache2
    IEmptyVolumeCacheCallBack
    IEnumACString
    IEnumCATEGORYINFO
    IEnumConnectionPoints
    IEnumConnections
    IEnumDiscMasterFormats
    IEnumDiscRecorders; coclass MSEnumDiscRecordersObj
    IEnumExtraSearch
    IEnumFORMATETC
    IEnumGUID
    IEnumHLITEM
    IEnumIDList
    IEnumMoniker
    IEnumOleDocumentViews
    IEnumOLEVERB
    IEnumSTATDATA
    IEnumSTATPROPSETSTG
    IEnumSTATPROPSTG
    IEnumSTATSTG
    IEnumSTATURL
    IEnumString
    IEnumUnknown
    IEnumVARIANT
    IEnumWorkItems
    IErrorInfo
    IErrorLog
    IExtractIconA
    IExtractIconW
    IExtractImage
    IExtractImage2
    IFillLockBytes
    IFolderFilter
    IFolderFilterSite
    IFolderView
    IFolderViewHost; coclass FolderViewHost
    IHlink
    IHlinkBrowseContext
    IHlinkFrame
    IHlinkSite
    IHlinkTarget
    IHttpNegotiate
    IHWEventHandler
    IHWEventHandler2
    IInputObject
    IInputObjectSite
    IInternetBindInfo
    IInternetHostSecurityManager
    IInternetPriority
    IInternetProtocol
    IInternetProtocolInfo
    IInternetProtocolRoot
    IInternetProtocolSink
    IInternetSecurityManager
    IInternetSecurityMgrSite
    IInternetSession
    IInternetZoneManager
    IJolietDiscMaster
    ILayoutStorage
    ILockBytes
    IMalloc
    IMarshal
    IMoniker

    INetCrawler; coclass NetCrawler
    INewShortcutHookA
    INewShortcutHookW
    IObjectSafety
    IObjectWithSite
    IOleCache
    IOleClientSite
    IOleCommandTarget
    IOleContainer
    IOleControl
    IOleControlSite
    IOleDocument
    IOleDocumentSite
    IOleDocumentView
    IOleInPlaceActiveObject
    IOleInPlaceFrame
    IOleInPlaceObject
    IOleInPlaceSite
    IOleInPlaceUIWindow
    IOleLink
    IOleObject
    IOleWindow
    IParseDisplayName
    IPerPropertyBrowsing
    IPersist
    IPersistFile; coclass ImageProperties
    IPersistFolder
    IPersistFolder2
    IPersistIDList
    IPersistMemory
    IPersistMoniker
    IPersistPropertyBag
    IPersistPropertyBag2
    IPersistStorage
    IPersistStream
    IPersistStreamInit
    IPrint
    IProfferService
    IProgressDialog
    IPropertyBag
    IPropertyBag2
    IPropertyNotifySink
    IPropertySetStorage
    IPropertyStorage
    IPropertyUI; coclass PropertiesUI
    IProvideClassInfo
    IProvideTaskPage

    IPublishingWizard; coclass PublishingWizard
    IQueryAssociations
    IQueryCancelAutoPlay; coclass QueryCancelAutoPlay
    IQueryContinue
    IQueryInfo
    IRecordInfo
    IRedbookDiscMaster
    IRichEditOle
    IRichEditOleCallback
    IRootStorage
    IRunningObjectTable
    IScheduledWorkItem
    ISchedulingAgent
    ISearchContext
    ISequentialStream
    IServiceProvider
    IShellBrowser
    IShellExecuteHookA
    IShellExecuteHookW
    IShellExtInit
    IShellFolder2
    IShellFolder
    IShellIcon
    IShellLinkA
    IShellLinkW; coclass ShellLinkW
    IShellPropSheetExt
    IShellView2
    IShellView
    ISpecifyPropertyPages
    IStorage
    IStream
    ISupportErrorInfo
    ITaskbarList
    ITaskbarList2
    ITask
    ITaskTrigger
    ITextDocument
    ITextFont
    ITextPara
    ITextRange
    ITextSelection
    ITextStoryRanges
    ITypeComp
    ITypeInfo
    ITypeInfo2
    ITypeLib
    ITypeLib2
    IUniformResourceLocatorA
    IUniformResourceLocatorW
    IUnknown (renamed IUnknownUnrestricted)
    IUrlHistoryStg
    IUrlHistoryStg2
    IURLSearchHook
    IURLSearchHook2
    IUserEventTimer; coclass UserEventTimer
    IUserEventTimerCallback; coclass UserEventTimerCallback
    IUserNotification
    IViewObject
    IViewObject2

    IWebWizardExtension; coclass WebWizardHost
    IWindowForBindingUI
    IWinInetHttpInfo
    IWinInetInfo

    IWizardExtension
    IWizardSite

  4. #4

    Thread Starter
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    3,620

    Re: [twinBASIC] tbShellLib - Shell Interface Library (x64-compatible successor to ole

    Major Update (v2.0.20): The project has reached it's initial goal of implementing all but the most obsolete oleexp.tlb interfaces. In addition, with similar exception of a small set of highly obsolete items, the API coverage is now available. Note that this was subject to extensive cleanup; native-language declares can't use the last param as retval on APIs, so all of those were converted, and TLB APIs pass Strings as BSTR, while native language passes ANSI strings, so there's currently a mix of either using LongPtr or tB's DeclareWide for BSTR/LPWSTR support (if it says String you can use a String without StrPtr).

  5. #5

    Thread Starter
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    3,620

    Re: [twinBASIC] tbShellLib - Shell Interface Library (x64-compatible successor to ole

    Project Updated to v2.1.24

    twinBASIC now supports in-project CoClass syntax! All coclasses from oleexp have been added (I think, if you find one missing please let me know), and can once again be used with the New keyword. The prior sCLSID constants have been left in. Also greatly expanded the API declare coverage to match what was in oleexp, though a few DLLs are still pending. Finally, tbShellLib now declares an compiler constant, TB_SHELLLIB_DEFINED, to help avoid conflicts with other projects (chiefly, my upcoming Common Controls 64-bit compatible library). tbShellLib now requires twinBASIC Beta 167 or newer.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width