list of interfaces with method numbers

Put simple Tips and Tricks that are not entire Tutorials in this forum
User avatar
jeeswg
Posts: 6902
Joined: 19 Dec 2016, 01:58
Location: UK

list of interfaces with method numbers

26 Aug 2019, 10:52

I am collecting interfaces with method numbers for quick reference. The list is essentially complete, but may be expanded whenever new interfaces are found. Do suggest any further interfaces to add.

The interfaces were taken from examples in the documentation (see lower down), and my scripts/libraries.

I also added in the interfaces listed here ('currently available' and 'requested'):
interfaces · maul-esel/COM-Classes Wiki · GitHub
https://github.com/maul-esel/COM-Classes/wiki/interfaces
(Note the typo there: 'IPropertyStoreChache' should be IPropertyStoreCache.)
And those listed here:
VistaAudio/VA.ahk at master · ahkscript/VistaAudio · GitHub
https://github.com/ahkscript/VistaAudio/blob/master/VA.ahk

All of the interface vtables (virtual method tables) start with:
0 IUnknown::QueryInterface [use ComObjQuery instead]
1 IUnknown::AddRef [use ObjAddRef instead]
2 IUnknown::Release [use ObjRelease instead]

The UIAutomationClient.h interfaces are listed here:
list of UI Automation interfaces with method numbers - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=74&t=69352

Code: Select all

;==================================================

;a list of interfaces and their methods
;[first released: 2019-08-26]
;[updated: 2019-11-15]
;115 interfaces

;INTERFACE - IAccessible
;INTERFACE - IApplicationDestinations
;INTERFACE - IApplicationDocumentLists
;INTERFACE - IAudioAutoGainControl
;INTERFACE - IAudioBass
;INTERFACE - IAudioClient
;INTERFACE - IAudioEndpointVolume
;INTERFACE - IAudioFlyoutController (undocumented)
;INTERFACE - IAudioMeterInformation
;INTERFACE - IAudioMidrange
;INTERFACE - IAudioMute
;INTERFACE - IAudioSessionControl
;INTERFACE - IAudioSessionControl2
;INTERFACE - IAudioSessionEnumerator
;INTERFACE - IAudioSessionManager
;INTERFACE - IAudioSessionManager2
;INTERFACE - IAudioTreble
;INTERFACE - IAudioVolumeLevel
;INTERFACE - IBindCtx
;INTERFACE - IColumnManager
;INTERFACE - IConnectionPointContainer
;INTERFACE - IConnector
;INTERFACE - IContextMenu
;INTERFACE - IContextMenu2
;INTERFACE - IContextMenu3
;INTERFACE - IControlInterface
;INTERFACE - ICreateTypeInfo
;INTERFACE - ICustomDestinationList
;INTERFACE - IDataObject
;INTERFACE - IDeviceTopology
;INTERFACE - IDispatch
;INTERFACE - IDropTarget
;INTERFACE - IEnumIDList
;INTERFACE - IEnumMoniker
;INTERFACE - IEnumNetworks
;INTERFACE - IEnumShellItems
;INTERFACE - IEnumSTATSTG
;INTERFACE - IEnumVARIANT
;INTERFACE - IFileDialog
;INTERFACE - IFileDialog2
;INTERFACE - IFileDialogControlEvents
;INTERFACE - IFileDialogCustomize
;INTERFACE - IFileOpenDialog
;INTERFACE - IFileOperation
;INTERFACE - IFileOperationProgressSink
;INTERFACE - IFileSaveDialog
;INTERFACE - IFolderView
;INTERFACE - IFolderView2
;INTERFACE - IImageList
;INTERFACE - IImageList2
;INTERFACE - IKnownFolder
;INTERFACE - IMalloc
;INTERFACE - IMMDevice
;INTERFACE - IMMDeviceCollection
;INTERFACE - IMMDeviceEnumerator
;INTERFACE - IMoniker
;INTERFACE - INameSpaceTreeControl
;INTERFACE - INameSpaceTreeControl2
;INTERFACE - INetwork
;INTERFACE - INetworkListManager
;INTERFACE - IObjectArray
;INTERFACE - IObjectCollection
;INTERFACE - IOleCommandTarget
;INTERFACE - IOleWindow
;INTERFACE - IOpenControlPanel
;INTERFACE - IOperationsProgressDialog
;INTERFACE - IPart
;INTERFACE - IPartsList
;INTERFACE - IPerChannelDbLevel
;INTERFACE - IPersist
;INTERFACE - IPersistFile
;INTERFACE - IPicture
;INTERFACE - IPolicyConfig (undocumented)
;INTERFACE - IPolicyConfigVista (undocumented)
;INTERFACE - IProgressDialog
;INTERFACE - IPropertyDescription
;INTERFACE - IPropertyStore
;INTERFACE - IPropertyStoreCache
;INTERFACE - IProvideClassInfo
;INTERFACE - IRichEditOLE
;INTERFACE - IRunningObjectTable
;INTERFACE - ISequentialStream
;INTERFACE - IServiceProvider
;INTERFACE - IShellBrowser
;INTERFACE - IShellFolder
;INTERFACE - IShellItem
;INTERFACE - IShellItem2
;INTERFACE - IShellItemArray
;INTERFACE - IShellItemImageFactory
;INTERFACE - IShellLibrary
;INTERFACE - IShellLink (IShellLinkA)
;INTERFACE - IShellLink (IShellLinkW)
;INTERFACE - IShellView
;INTERFACE - ISimpleAudioVolume
;INTERFACE - IStorage
;INTERFACE - IStream
;INTERFACE - ITaskbarList
;INTERFACE - ITaskbarList2
;INTERFACE - ITaskbarList3
;INTERFACE - ITaskbarList4
;INTERFACE - IThemeManager (undocumented)
;INTERFACE - ITrayNotify (undocumented)
;INTERFACE - ITypeComp
;INTERFACE - ITypeInfo
;INTERFACE - ITypeInfo2
;INTERFACE - ITypeLib
;INTERFACE - ITypeLib2
;INTERFACE - IUIAutomationBoolCondition
;INTERFACE - IUIAutomationCondition
;INTERFACE - IUIAutomationElementArray
;INTERFACE - IUIAutomationNotCondition
;INTERFACE - IUnknown
;INTERFACE - IUserNotification
;INTERFACE - IUserNotification2
;INTERFACE - IVirtualDesktopManager

;==================================================

;INTERFACE - IAccessible
;source: oleacc.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IDispatch::GetTypeInfoCount
4 IDispatch::GetTypeInfo
5 IDispatch::GetIDsOfNames
6 IDispatch::Invoke
7 IAccessible::get_accParent
8 IAccessible::get_accChildCount
9 IAccessible::get_accChild
10 IAccessible::get_accName
11 IAccessible::get_accValue
12 IAccessible::get_accDescription
13 IAccessible::get_accRole
14 IAccessible::get_accState
15 IAccessible::get_accHelp
16 IAccessible::get_accHelpTopic
17 IAccessible::get_accKeyboardShortcut
18 IAccessible::get_accFocus
19 IAccessible::get_accSelection
20 IAccessible::get_accDefaultAction
21 IAccessible::accSelect
22 IAccessible::accLocation
23 IAccessible::accNavigate
24 IAccessible::accHitTest
25 IAccessible::accDoDefaultAction
26 IAccessible::put_accName
27 IAccessible::put_accValue

;INTERFACE - IApplicationDestinations
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IApplicationDestinations::SetAppID
4 IApplicationDestinations::RemoveDestination
5 IApplicationDestinations::RemoveAllDestinations

;INTERFACE - IApplicationDocumentLists
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IApplicationDocumentLists::SetAppID
4 IApplicationDocumentLists::GetList

;INTERFACE - IAudioAutoGainControl
;source: devicetopology.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioAutoGainControl::GetEnabled
4 IAudioAutoGainControl::SetEnabled

;INTERFACE - IAudioBass
;source: devicetopology.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioBass::GetChannelCount
4 IAudioBass::GetLevelRange
5 IAudioBass::GetLevel
6 IAudioBass::SetLevel
7 IAudioBass::SetLevelUniform
8 IAudioBass::SetLevelAllChannels

;INTERFACE - IAudioClient
;source: Audioclient.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioClient::Initialize
4 IAudioClient::GetBufferSize
5 IAudioClient::GetStreamLatency
6 IAudioClient::GetCurrentPadding
7 IAudioClient::IsFormatSupported
8 IAudioClient::GetMixFormat
9 IAudioClient::GetDevicePeriod
10 IAudioClient::Start
11 IAudioClient::Stop
12 IAudioClient::Reset
13 IAudioClient::SetEventHandle
14 IAudioClient::GetService

;INTERFACE - IAudioEndpointVolume
;source: endpointvolume.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioEndpointVolume::RegisterControlChangeNotify
4 IAudioEndpointVolume::UnregisterControlChangeNotify
5 IAudioEndpointVolume::GetChannelCount
6 IAudioEndpointVolume::SetMasterVolumeLevel
7 IAudioEndpointVolume::SetMasterVolumeLevelScalar
8 IAudioEndpointVolume::GetMasterVolumeLevel
9 IAudioEndpointVolume::GetMasterVolumeLevelScalar
10 IAudioEndpointVolume::SetChannelVolumeLevel
11 IAudioEndpointVolume::SetChannelVolumeLevelScalar
12 IAudioEndpointVolume::GetChannelVolumeLevel
13 IAudioEndpointVolume::GetChannelVolumeLevelScalar
14 IAudioEndpointVolume::SetMute
15 IAudioEndpointVolume::GetMute
16 IAudioEndpointVolume::GetVolumeStepInfo
17 IAudioEndpointVolume::VolumeStepUp
18 IAudioEndpointVolume::VolumeStepDown
19 IAudioEndpointVolume::QueryHardwareSupport
20 IAudioEndpointVolume::GetVolumeRange

;INTERFACE - IAudioFlyoutController (undocumented)
;Set laptop brightness & show Win 10's native OSD - AutoHotkey Community
;https://autohotkey.com/boards/viewtopic.php?f=6&t=26921
;iids_tiraniddo.csv.txt
;https://www.scriptjunkie.us/wp-content/uploads/2019/05/iids_tiraniddo.csv.txt
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioFlyoutController::??? (undocumented)

;INTERFACE - IAudioMeterInformation
;source: endpointvolume.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioMeterInformation::GetPeakValue
4 IAudioMeterInformation::GetMeteringChannelCount
5 IAudioMeterInformation::GetChannelsPeakValues
6 IAudioMeterInformation::QueryHardwareSupport

;INTERFACE - IAudioMidrange
;source: devicetopology.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioMidrange::GetChannelCount
4 IAudioMidrange::GetLevelRange
5 IAudioMidrange::GetLevel
6 IAudioMidrange::SetLevel
7 IAudioMidrange::SetLevelUniform
8 IAudioMidrange::SetLevelAllChannels

;INTERFACE - IAudioMute
;source: devicetopology.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioMute::SetMute
4 IAudioMute::GetMute

;INTERFACE - IAudioSessionControl
;source: audiopolicy.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioSessionControl::GetState
4 IAudioSessionControl::GetDisplayName
5 IAudioSessionControl::SetDisplayName
6 IAudioSessionControl::GetIconPath
7 IAudioSessionControl::SetIconPath
8 IAudioSessionControl::GetGroupingParam
9 IAudioSessionControl::SetGroupingParam
10 IAudioSessionControl::RegisterAudioSessionNotification
11 IAudioSessionControl::UnregisterAudioSessionNotification

;INTERFACE - IAudioSessionControl2
;source: audiopolicy.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioSessionControl2::GetState
4 IAudioSessionControl2::GetDisplayName
5 IAudioSessionControl2::SetDisplayName
6 IAudioSessionControl2::GetIconPath
7 IAudioSessionControl2::SetIconPath
8 IAudioSessionControl2::GetGroupingParam
9 IAudioSessionControl2::SetGroupingParam
10 IAudioSessionControl2::RegisterAudioSessionNotification
11 IAudioSessionControl2::UnregisterAudioSessionNotification
12 IAudioSessionControl2::GetSessionIdentifier
13 IAudioSessionControl2::GetSessionInstanceIdentifier
14 IAudioSessionControl2::GetProcessId
15 IAudioSessionControl2::IsSystemSoundsSession
16 IAudioSessionControl2::SetDuckingPreference

;INTERFACE - IAudioSessionEnumerator
;source: audiopolicy.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioSessionEnumerator::GetCount
4 IAudioSessionEnumerator::GetSession

;INTERFACE - IAudioSessionManager
;source: audiopolicy.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioSessionManager::GetAudioSessionControl
4 IAudioSessionManager::GetSimpleAudioVolume

;INTERFACE - IAudioSessionManager2
;source: audiopolicy.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioSessionManager2::GetAudioSessionControl
4 IAudioSessionManager2::GetSimpleAudioVolume
5 IAudioSessionManager2::GetSessionEnumerator
6 IAudioSessionManager2::RegisterSessionNotification
7 IAudioSessionManager2::UnregisterSessionNotification
8 IAudioSessionManager2::RegisterDuckNotification
9 IAudioSessionManager2::UnregisterDuckNotification

;INTERFACE - IAudioTreble
;source: devicetopology.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioTreble::GetChannelCount
4 IAudioTreble::GetLevelRange
5 IAudioTreble::GetLevel
6 IAudioTreble::SetLevel
7 IAudioTreble::SetLevelUniform
8 IAudioTreble::SetLevelAllChannels

;INTERFACE - IAudioVolumeLevel
;source: devicetopology.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IAudioVolumeLevel::GetChannelCount
4 IAudioVolumeLevel::GetLevelRange
5 IAudioVolumeLevel::GetLevel
6 IAudioVolumeLevel::SetLevel
7 IAudioVolumeLevel::SetLevelUniform
8 IAudioVolumeLevel::SetLevelAllChannels

;INTERFACE - IBindCtx
;source: ObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IBindCtx::RegisterObjectBound
4 IBindCtx::RevokeObjectBound
5 IBindCtx::ReleaseBoundObjects
6 IBindCtx::SetBindOptions
7 IBindCtx::GetBindOptions
8 IBindCtx::GetRunningObjectTable
9 IBindCtx::RegisterObjectParam
10 IBindCtx::GetObjectParam
11 IBindCtx::EnumObjectParam
12 IBindCtx::RevokeObjectParam

;INTERFACE - IColumnManager
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IColumnManager::SetColumnInfo
4 IColumnManager::GetColumnInfo
5 IColumnManager::GetColumnCount
6 IColumnManager::GetColumns
7 IColumnManager::SetColumns

;INTERFACE - IConnectionPointContainer
;source: OCIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IConnectionPointContainer::EnumConnectionPoints
4 IConnectionPointContainer::FindConnectionPoint

;INTERFACE - IConnector
;source: devicetopology.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IConnector::GetType
4 IConnector::GetDataFlow
5 IConnector::ConnectTo
6 IConnector::Disconnect
7 IConnector::IsConnected
8 IConnector::GetConnectedTo
9 IConnector::GetConnectorIdConnectedTo
10 IConnector::GetDeviceIdConnectedTo

;INTERFACE - IContextMenu
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IContextMenu::QueryContextMenu
4 IContextMenu::InvokeCommand
5 IContextMenu::GetCommandString

;INTERFACE - IContextMenu2
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IContextMenu2::QueryContextMenu
4 IContextMenu2::InvokeCommand
5 IContextMenu2::GetCommandString
6 IContextMenu2::HandleMenuMsg

;INTERFACE - IContextMenu3
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IContextMenu3::QueryContextMenu
4 IContextMenu3::InvokeCommand
5 IContextMenu3::GetCommandString
6 IContextMenu3::HandleMenuMsg
7 IContextMenu3::HandleMenuMsg2

;INTERFACE - IControlInterface
;source: devicetopology.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IControlInterface::GetName
4 IControlInterface::GetIID

;INTERFACE - ICreateTypeInfo
;source: OAIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 ICreateTypeInfo::SetGuid
4 ICreateTypeInfo::SetTypeFlags
5 ICreateTypeInfo::SetDocString
6 ICreateTypeInfo::SetHelpContext
7 ICreateTypeInfo::SetVersion
8 ICreateTypeInfo::AddRefTypeInfo
9 ICreateTypeInfo::AddFuncDesc
10 ICreateTypeInfo::AddImplType
11 ICreateTypeInfo::SetImplTypeFlags
12 ICreateTypeInfo::SetAlignment
13 ICreateTypeInfo::SetSchema
14 ICreateTypeInfo::AddVarDesc
15 ICreateTypeInfo::SetFuncAndParamNames
16 ICreateTypeInfo::SetVarName
17 ICreateTypeInfo::SetTypeDescAlias
18 ICreateTypeInfo::DefineFuncAsDllEntry
19 ICreateTypeInfo::SetFuncDocString
20 ICreateTypeInfo::SetVarDocString
21 ICreateTypeInfo::SetFuncHelpContext
22 ICreateTypeInfo::SetVarHelpContext
23 ICreateTypeInfo::SetMops
24 ICreateTypeInfo::SetTypeIdldesc
25 ICreateTypeInfo::LayOut

;INTERFACE - ICustomDestinationList
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 ICustomDestinationList::SetAppID
4 ICustomDestinationList::BeginList
5 ICustomDestinationList::AppendCategory
6 ICustomDestinationList::AppendKnownCategory
7 ICustomDestinationList::AddUserTasks
8 ICustomDestinationList::CommitList
9 ICustomDestinationList::GetRemovedDestinations
10 ICustomDestinationList::DeleteList
11 ICustomDestinationList::AbortList

;INTERFACE - IDataObject
;source: ObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IDataObject::GetData
4 IDataObject::GetDataHere
5 IDataObject::QueryGetData
6 IDataObject::GetCanonicalFormatEtc
7 IDataObject::SetData
8 IDataObject::EnumFormatEtc
9 IDataObject::DAdvise
10 IDataObject::DUnadvise
11 IDataObject::EnumDAdvise

;INTERFACE - IDeviceTopology
;source: devicetopology.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IDeviceTopology::GetConnectorCount
4 IDeviceTopology::GetConnector
5 IDeviceTopology::GetSubunitCount
6 IDeviceTopology::GetSubunit
7 IDeviceTopology::GetPartById
8 IDeviceTopology::GetDeviceId
9 IDeviceTopology::GetSignalPath

;INTERFACE - IDispatch
;source: OAIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IDispatch::GetTypeInfoCount
4 IDispatch::GetTypeInfo
5 IDispatch::GetIDsOfNames
6 IDispatch::Invoke

;INTERFACE - IDropTarget
;source: oleidl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IDropTarget::DragEnter
4 IDropTarget::DragOver
5 IDropTarget::DragLeave
6 IDropTarget::Drop

;INTERFACE - IEnumIDList
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IEnumIDList::Next
4 IEnumIDList::Skip
5 IEnumIDList::Reset
6 IEnumIDList::Clone

;INTERFACE - IEnumMoniker
;source: ObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IEnumMoniker::Next
4 IEnumMoniker::Skip
5 IEnumMoniker::Reset
6 IEnumMoniker::Clone

;INTERFACE - IEnumNetworks
;source: netlistmgr.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IEnumNetworks::GetTypeInfoCount
4 IEnumNetworks::GetTypeInfo
5 IEnumNetworks::GetIDsOfNames
6 IEnumNetworks::Invoke
7 IEnumNetworks::get__NewEnum
8 IEnumNetworks::Next
9 IEnumNetworks::Skip
10 IEnumNetworks::Reset
11 IEnumNetworks::Clone

;INTERFACE - IEnumShellItems
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IEnumShellItems::Next
4 IEnumShellItems::Skip
5 IEnumShellItems::Reset
6 IEnumShellItems::Clone

;INTERFACE - IEnumSTATSTG
;source: ObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IEnumSTATSTG::Next
4 IEnumSTATSTG::Skip
5 IEnumSTATSTG::Reset
6 IEnumSTATSTG::Clone

;INTERFACE - IEnumVARIANT
;source: OAIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IEnumVARIANT::Next
4 IEnumVARIANT::Skip
5 IEnumVARIANT::Reset
6 IEnumVARIANT::Clone

;INTERFACE - IFileDialog
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IFileDialog::Show
4 IFileDialog::SetFileTypes
5 IFileDialog::SetFileTypeIndex
6 IFileDialog::GetFileTypeIndex
7 IFileDialog::Advise
8 IFileDialog::Unadvise
9 IFileDialog::SetOptions
10 IFileDialog::GetOptions
11 IFileDialog::SetDefaultFolder
12 IFileDialog::SetFolder
13 IFileDialog::GetFolder
14 IFileDialog::GetCurrentSelection
15 IFileDialog::SetFileName
16 IFileDialog::GetFileName
17 IFileDialog::SetTitle
18 IFileDialog::SetOkButtonLabel
19 IFileDialog::SetFileNameLabel
20 IFileDialog::GetResult
21 IFileDialog::AddPlace
22 IFileDialog::SetDefaultExtension
23 IFileDialog::Close
24 IFileDialog::SetClientGuid
25 IFileDialog::ClearClientData
26 IFileDialog::SetFilter

;INTERFACE - IFileDialog2
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IFileDialog2::Show
4 IFileDialog2::SetFileTypes
5 IFileDialog2::SetFileTypeIndex
6 IFileDialog2::GetFileTypeIndex
7 IFileDialog2::Advise
8 IFileDialog2::Unadvise
9 IFileDialog2::SetOptions
10 IFileDialog2::GetOptions
11 IFileDialog2::SetDefaultFolder
12 IFileDialog2::SetFolder
13 IFileDialog2::GetFolder
14 IFileDialog2::GetCurrentSelection
15 IFileDialog2::SetFileName
16 IFileDialog2::GetFileName
17 IFileDialog2::SetTitle
18 IFileDialog2::SetOkButtonLabel
19 IFileDialog2::SetFileNameLabel
20 IFileDialog2::GetResult
21 IFileDialog2::AddPlace
22 IFileDialog2::SetDefaultExtension
23 IFileDialog2::Close
24 IFileDialog2::SetClientGuid
25 IFileDialog2::ClearClientData
26 IFileDialog2::SetFilter
27 IFileDialog2::SetCancelButtonLabel
28 IFileDialog2::SetNavigationRoot

;INTERFACE - IFileDialogControlEvents
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IFileDialogControlEvents::OnItemSelected
4 IFileDialogControlEvents::OnButtonClicked
5 IFileDialogControlEvents::OnCheckButtonToggled
6 IFileDialogControlEvents::OnControlActivating

;INTERFACE - IFileDialogCustomize
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IFileDialogCustomize::EnableOpenDropDown
4 IFileDialogCustomize::AddMenu
5 IFileDialogCustomize::AddPushButton
6 IFileDialogCustomize::AddComboBox
7 IFileDialogCustomize::AddRadioButtonList
8 IFileDialogCustomize::AddCheckButton
9 IFileDialogCustomize::AddEditBox
10 IFileDialogCustomize::AddSeparator
11 IFileDialogCustomize::AddText
12 IFileDialogCustomize::SetControlLabel
13 IFileDialogCustomize::GetControlState
14 IFileDialogCustomize::SetControlState
15 IFileDialogCustomize::GetEditBoxText
16 IFileDialogCustomize::SetEditBoxText
17 IFileDialogCustomize::GetCheckButtonState
18 IFileDialogCustomize::SetCheckButtonState
19 IFileDialogCustomize::AddControlItem
20 IFileDialogCustomize::RemoveControlItem
21 IFileDialogCustomize::RemoveAllControlItems
22 IFileDialogCustomize::GetControlItemState
23 IFileDialogCustomize::SetControlItemState
24 IFileDialogCustomize::GetSelectedControlItem
25 IFileDialogCustomize::SetSelectedControlItem
26 IFileDialogCustomize::StartVisualGroup
27 IFileDialogCustomize::EndVisualGroup
28 IFileDialogCustomize::MakeProminent
29 IFileDialogCustomize::SetControlItemText

;INTERFACE - IFileOpenDialog
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IFileOpenDialog::Show
4 IFileOpenDialog::SetFileTypes
5 IFileOpenDialog::SetFileTypeIndex
6 IFileOpenDialog::GetFileTypeIndex
7 IFileOpenDialog::Advise
8 IFileOpenDialog::Unadvise
9 IFileOpenDialog::SetOptions
10 IFileOpenDialog::GetOptions
11 IFileOpenDialog::SetDefaultFolder
12 IFileOpenDialog::SetFolder
13 IFileOpenDialog::GetFolder
14 IFileOpenDialog::GetCurrentSelection
15 IFileOpenDialog::SetFileName
16 IFileOpenDialog::GetFileName
17 IFileOpenDialog::SetTitle
18 IFileOpenDialog::SetOkButtonLabel
19 IFileOpenDialog::SetFileNameLabel
20 IFileOpenDialog::GetResult
21 IFileOpenDialog::AddPlace
22 IFileOpenDialog::SetDefaultExtension
23 IFileOpenDialog::Close
24 IFileOpenDialog::SetClientGuid
25 IFileOpenDialog::ClearClientData
26 IFileOpenDialog::SetFilter
27 IFileOpenDialog::GetResults
28 IFileOpenDialog::GetSelectedItems

;INTERFACE - IFileOperation
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IFileOperation::Advise
4 IFileOperation::Unadvise
5 IFileOperation::SetOperationFlags
6 IFileOperation::SetProgressMessage
7 IFileOperation::SetProgressDialog
8 IFileOperation::SetProperties
9 IFileOperation::SetOwnerWindow
10 IFileOperation::ApplyPropertiesToItem
11 IFileOperation::ApplyPropertiesToItems
12 IFileOperation::RenameItem
13 IFileOperation::RenameItems
14 IFileOperation::MoveItem
15 IFileOperation::MoveItems
16 IFileOperation::CopyItem
17 IFileOperation::CopyItems
18 IFileOperation::DeleteItem
19 IFileOperation::DeleteItems
20 IFileOperation::NewItem
21 IFileOperation::PerformOperations
22 IFileOperation::GetAnyOperationsAborted

;INTERFACE - IFileOperationProgressSink
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IFileOperationProgressSink::StartOperations
4 IFileOperationProgressSink::FinishOperations
5 IFileOperationProgressSink::PreRenameItem
6 IFileOperationProgressSink::PostRenameItem
7 IFileOperationProgressSink::PreMoveItem
8 IFileOperationProgressSink::PostMoveItem
9 IFileOperationProgressSink::PreCopyItem
10 IFileOperationProgressSink::PostCopyItem
11 IFileOperationProgressSink::PreDeleteItem
12 IFileOperationProgressSink::PostDeleteItem
13 IFileOperationProgressSink::PreNewItem
14 IFileOperationProgressSink::PostNewItem
15 IFileOperationProgressSink::UpdateProgress
16 IFileOperationProgressSink::ResetTimer
17 IFileOperationProgressSink::PauseTimer
18 IFileOperationProgressSink::ResumeTimer

;INTERFACE - IFileSaveDialog
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IFileSaveDialog::Show
4 IFileSaveDialog::SetFileTypes
5 IFileSaveDialog::SetFileTypeIndex
6 IFileSaveDialog::GetFileTypeIndex
7 IFileSaveDialog::Advise
8 IFileSaveDialog::Unadvise
9 IFileSaveDialog::SetOptions
10 IFileSaveDialog::GetOptions
11 IFileSaveDialog::SetDefaultFolder
12 IFileSaveDialog::SetFolder
13 IFileSaveDialog::GetFolder
14 IFileSaveDialog::GetCurrentSelection
15 IFileSaveDialog::SetFileName
16 IFileSaveDialog::GetFileName
17 IFileSaveDialog::SetTitle
18 IFileSaveDialog::SetOkButtonLabel
19 IFileSaveDialog::SetFileNameLabel
20 IFileSaveDialog::GetResult
21 IFileSaveDialog::AddPlace
22 IFileSaveDialog::SetDefaultExtension
23 IFileSaveDialog::Close
24 IFileSaveDialog::SetClientGuid
25 IFileSaveDialog::ClearClientData
26 IFileSaveDialog::SetFilter
27 IFileSaveDialog::SetSaveAsItem
28 IFileSaveDialog::SetProperties
29 IFileSaveDialog::SetCollectedProperties
30 IFileSaveDialog::GetProperties
31 IFileSaveDialog::ApplyProperties

;INTERFACE - IFolderView
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IFolderView::GetCurrentViewMode
4 IFolderView::SetCurrentViewMode
5 IFolderView::GetFolder
6 IFolderView::Item
7 IFolderView::ItemCount
8 IFolderView::Items
9 IFolderView::GetSelectionMarkedItem
10 IFolderView::GetFocusedItem
11 IFolderView::GetItemPosition
12 IFolderView::GetSpacing
13 IFolderView::GetDefaultSpacing
14 IFolderView::GetAutoArrange
15 IFolderView::SelectItem
16 IFolderView::SelectAndPositionItems

;INTERFACE - IFolderView2
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IFolderView2::GetCurrentViewMode
4 IFolderView2::SetCurrentViewMode
5 IFolderView2::GetFolder
6 IFolderView2::Item
7 IFolderView2::ItemCount
8 IFolderView2::Items
9 IFolderView2::GetSelectionMarkedItem
10 IFolderView2::GetFocusedItem
11 IFolderView2::GetItemPosition
12 IFolderView2::GetSpacing
13 IFolderView2::GetDefaultSpacing
14 IFolderView2::GetAutoArrange
15 IFolderView2::SelectItem
16 IFolderView2::SelectAndPositionItems
17 IFolderView2::SetGroupBy
18 IFolderView2::GetGroupBy
19 IFolderView2::SetViewProperty
20 IFolderView2::GetViewProperty
21 IFolderView2::SetTileViewProperties
22 IFolderView2::SetExtendedTileViewProperties
23 IFolderView2::SetText
24 IFolderView2::SetCurrentFolderFlags
25 IFolderView2::GetCurrentFolderFlags
26 IFolderView2::GetSortColumnCount
27 IFolderView2::SetSortColumns
28 IFolderView2::GetSortColumns
29 IFolderView2::GetItem
30 IFolderView2::GetVisibleItem
31 IFolderView2::GetSelectedItem
32 IFolderView2::GetSelection
33 IFolderView2::GetSelectionState
34 IFolderView2::InvokeVerbOnSelection
35 IFolderView2::SetViewModeAndIconSize
36 IFolderView2::GetViewModeAndIconSize
37 IFolderView2::SetGroupSubsetCount
38 IFolderView2::GetGroupSubsetCount
39 IFolderView2::SetRedraw
40 IFolderView2::IsMoveInSameFolder
41 IFolderView2::DoRename

;INTERFACE - IImageList
;source: commoncontrols.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IImageList::Add
4 IImageList::ReplaceIcon
5 IImageList::SetOverlayImage
6 IImageList::Replace
7 IImageList::AddMasked
8 IImageList::Draw
9 IImageList::Remove
10 IImageList::GetIcon
11 IImageList::GetImageInfo
12 IImageList::Copy
13 IImageList::Merge
14 IImageList::Clone
15 IImageList::GetImageRect
16 IImageList::GetIconSize
17 IImageList::SetIconSize
18 IImageList::GetImageCount
19 IImageList::SetImageCount
20 IImageList::SetBkColor
21 IImageList::GetBkColor
22 IImageList::BeginDrag
23 IImageList::EndDrag
24 IImageList::DragEnter
25 IImageList::DragLeave
26 IImageList::DragMove
27 IImageList::SetDragCursorImage
28 IImageList::DragShowNolock
29 IImageList::GetDragImage
30 IImageList::GetItemFlags
31 IImageList::GetOverlayImage

;INTERFACE - IImageList2
;source: commoncontrols.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IImageList2::Add
4 IImageList2::ReplaceIcon
5 IImageList2::SetOverlayImage
6 IImageList2::Replace
7 IImageList2::AddMasked
8 IImageList2::Draw
9 IImageList2::Remove
10 IImageList2::GetIcon
11 IImageList2::GetImageInfo
12 IImageList2::Copy
13 IImageList2::Merge
14 IImageList2::Clone
15 IImageList2::GetImageRect
16 IImageList2::GetIconSize
17 IImageList2::SetIconSize
18 IImageList2::GetImageCount
19 IImageList2::SetImageCount
20 IImageList2::SetBkColor
21 IImageList2::GetBkColor
22 IImageList2::BeginDrag
23 IImageList2::EndDrag
24 IImageList2::DragEnter
25 IImageList2::DragLeave
26 IImageList2::DragMove
27 IImageList2::SetDragCursorImage
28 IImageList2::DragShowNolock
29 IImageList2::GetDragImage
30 IImageList2::GetItemFlags
31 IImageList2::GetOverlayImage
32 IImageList2::Resize
33 IImageList2::GetOriginalSize
34 IImageList2::SetOriginalSize
35 IImageList2::SetCallback
36 IImageList2::GetCallback
37 IImageList2::ForceImagePresent
38 IImageList2::DiscardImages
39 IImageList2::PreloadImages
40 IImageList2::GetStatistics
41 IImageList2::Initialize
42 IImageList2::Replace2
43 IImageList2::ReplaceFromImageList

;INTERFACE - IKnownFolder
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IKnownFolder::GetId
4 IKnownFolder::GetCategory
5 IKnownFolder::GetShellItem
6 IKnownFolder::GetPath
7 IKnownFolder::SetPath
8 IKnownFolder::GetIDList
9 IKnownFolder::GetFolderType
10 IKnownFolder::GetRedirectionCapabilities
11 IKnownFolder::GetFolderDefinition

;INTERFACE - IMalloc
;source: ObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IMalloc::Alloc
4 IMalloc::Realloc
5 IMalloc::Free
6 IMalloc::GetSize
7 IMalloc::DidAlloc
8 IMalloc::HeapMinimize

;INTERFACE - IMMDevice
;source: mmdeviceapi.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IMMDevice::Activate
4 IMMDevice::OpenPropertyStore
5 IMMDevice::GetId
6 IMMDevice::GetState

;INTERFACE - IMMDeviceCollection
;source: mmdeviceapi.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IMMDeviceCollection::GetCount
4 IMMDeviceCollection::Item

;INTERFACE - IMMDeviceEnumerator
;source: mmdeviceapi.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IMMDeviceEnumerator::EnumAudioEndpoints
4 IMMDeviceEnumerator::GetDefaultAudioEndpoint
5 IMMDeviceEnumerator::GetDevice
6 IMMDeviceEnumerator::RegisterEndpointNotificationCallback
7 IMMDeviceEnumerator::UnregisterEndpointNotificationCallback

;INTERFACE - IMoniker
;source: ObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IMoniker::GetClassID
4 IMoniker::IsDirty
5 IMoniker::Load
6 IMoniker::Save
7 IMoniker::GetSizeMax
8 IMoniker::BindToObject
9 IMoniker::BindToStorage
10 IMoniker::Reduce
11 IMoniker::ComposeWith
12 IMoniker::Enum
13 IMoniker::IsEqual
14 IMoniker::Hash
15 IMoniker::IsRunning
16 IMoniker::GetTimeOfLastChange
17 IMoniker::Inverse
18 IMoniker::CommonPrefixWith
19 IMoniker::RelativePathTo
20 IMoniker::GetDisplayName
21 IMoniker::ParseDisplayName
22 IMoniker::IsSystemMoniker

;INTERFACE - INameSpaceTreeControl
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 INameSpaceTreeControl::Initialize
4 INameSpaceTreeControl::TreeAdvise
5 INameSpaceTreeControl::TreeUnadvise
6 INameSpaceTreeControl::AppendRoot
7 INameSpaceTreeControl::InsertRoot
8 INameSpaceTreeControl::RemoveRoot
9 INameSpaceTreeControl::RemoveAllRoots
10 INameSpaceTreeControl::GetRootItems
11 INameSpaceTreeControl::SetItemState
12 INameSpaceTreeControl::GetItemState
13 INameSpaceTreeControl::GetSelectedItems
14 INameSpaceTreeControl::GetItemCustomState
15 INameSpaceTreeControl::SetItemCustomState
16 INameSpaceTreeControl::EnsureItemVisible
17 INameSpaceTreeControl::SetTheme
18 INameSpaceTreeControl::GetNextItem
19 INameSpaceTreeControl::HitTest
20 INameSpaceTreeControl::GetItemRect
21 INameSpaceTreeControl::CollapseAll

;INTERFACE - INameSpaceTreeControl2
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 INameSpaceTreeControl2::Initialize
4 INameSpaceTreeControl2::TreeAdvise
5 INameSpaceTreeControl2::TreeUnadvise
6 INameSpaceTreeControl2::AppendRoot
7 INameSpaceTreeControl2::InsertRoot
8 INameSpaceTreeControl2::RemoveRoot
9 INameSpaceTreeControl2::RemoveAllRoots
10 INameSpaceTreeControl2::GetRootItems
11 INameSpaceTreeControl2::SetItemState
12 INameSpaceTreeControl2::GetItemState
13 INameSpaceTreeControl2::GetSelectedItems
14 INameSpaceTreeControl2::GetItemCustomState
15 INameSpaceTreeControl2::SetItemCustomState
16 INameSpaceTreeControl2::EnsureItemVisible
17 INameSpaceTreeControl2::SetTheme
18 INameSpaceTreeControl2::GetNextItem
19 INameSpaceTreeControl2::HitTest
20 INameSpaceTreeControl2::GetItemRect
21 INameSpaceTreeControl2::CollapseAll
22 INameSpaceTreeControl2::SetControlStyle
23 INameSpaceTreeControl2::GetControlStyle
24 INameSpaceTreeControl2::SetControlStyle2
25 INameSpaceTreeControl2::GetControlStyle2

;INTERFACE - INetwork
;source: netlistmgr.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 INetwork::GetTypeInfoCount
4 INetwork::GetTypeInfo
5 INetwork::GetIDsOfNames
6 INetwork::Invoke
7 INetwork::GetName
8 INetwork::SetName
9 INetwork::GetDescription
10 INetwork::SetDescription
11 INetwork::GetNetworkId
12 INetwork::GetDomainType
13 INetwork::GetNetworkConnections
14 INetwork::GetTimeCreatedAndConnected
15 INetwork::get_IsConnectedToInternet
16 INetwork::get_IsConnected
17 INetwork::GetConnectivity
18 INetwork::GetCategory
19 INetwork::SetCategory

;INTERFACE - INetworkListManager
;source: netlistmgr.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 INetworkListManager::GetTypeInfoCount
4 INetworkListManager::GetTypeInfo
5 INetworkListManager::GetIDsOfNames
6 INetworkListManager::Invoke
7 INetworkListManager::GetNetworks
8 INetworkListManager::GetNetwork
9 INetworkListManager::GetNetworkConnections
10 INetworkListManager::GetNetworkConnection
11 INetworkListManager::get_IsConnectedToInternet
12 INetworkListManager::get_IsConnected
13 INetworkListManager::GetConnectivity
14 INetworkListManager::SetSimulatedProfileInfo
15 INetworkListManager::ClearSimulatedProfileInfo

;INTERFACE - IObjectArray
;source: ObjectArray.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IObjectArray::GetCount
4 IObjectArray::GetAt

;INTERFACE - IObjectCollection
;source: ObjectArray.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IObjectCollection::GetCount
4 IObjectCollection::GetAt
5 IObjectCollection::AddObject
6 IObjectCollection::AddFromArray
7 IObjectCollection::RemoveObjectAt
8 IObjectCollection::Clear

;INTERFACE - IOleCommandTarget
;source: DocObj.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IOleCommandTarget::QueryStatus
4 IOleCommandTarget::Exec

;INTERFACE - IOleWindow
;source: oleidl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IOleWindow::GetWindow
4 IOleWindow::ContextSensitiveHelp

;INTERFACE - IOpenControlPanel
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IOpenControlPanel::Open
4 IOpenControlPanel::GetPath
5 IOpenControlPanel::GetCurrentView

;INTERFACE - IOperationsProgressDialog
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IOperationsProgressDialog::StartProgressDialog
4 IOperationsProgressDialog::StopProgressDialog
5 IOperationsProgressDialog::SetOperation
6 IOperationsProgressDialog::SetMode
7 IOperationsProgressDialog::UpdateProgress
8 IOperationsProgressDialog::UpdateLocations
9 IOperationsProgressDialog::ResetTimer
10 IOperationsProgressDialog::PauseTimer
11 IOperationsProgressDialog::ResumeTimer
12 IOperationsProgressDialog::GetMilliseconds
13 IOperationsProgressDialog::GetOperationStatus

;INTERFACE - IPart
;source: devicetopology.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IPart::GetName
4 IPart::GetLocalId
5 IPart::GetGlobalId
6 IPart::GetPartType
7 IPart::GetSubType
8 IPart::GetControlInterfaceCount
9 IPart::GetControlInterface
10 IPart::EnumPartsIncoming
11 IPart::EnumPartsOutgoing
12 IPart::GetTopologyObject
13 IPart::Activate
14 IPart::RegisterControlChangeCallback
15 IPart::UnregisterControlChangeCallback

;INTERFACE - IPartsList
;source: devicetopology.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IPartsList::GetCount
4 IPartsList::GetPart

;INTERFACE - IPerChannelDbLevel
;source: devicetopology.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IPerChannelDbLevel::GetChannelCount
4 IPerChannelDbLevel::GetLevelRange
5 IPerChannelDbLevel::GetLevel
6 IPerChannelDbLevel::SetLevel
7 IPerChannelDbLevel::SetLevelUniform
8 IPerChannelDbLevel::SetLevelAllChannels

;INTERFACE - IPersist
;source: ObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IPersist::GetClassID

;INTERFACE - IPersistFile
;source: ObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IPersistFile::GetClassID
4 IPersistFile::IsDirty
5 IPersistFile::Load
6 IPersistFile::Save
7 IPersistFile::SaveCompleted
8 IPersistFile::GetCurFile

;INTERFACE - IPicture
;source: OCIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IPicture::get_Handle
4 IPicture::get_hPal
5 IPicture::get_Type
6 IPicture::get_Width
7 IPicture::get_Height
8 IPicture::Render
9 IPicture::set_hPal
10 IPicture::get_CurDC
11 IPicture::SelectPicture
12 IPicture::get_KeepOriginalFormat
13 IPicture::put_KeepOriginalFormat
14 IPicture::PictureChanged
15 IPicture::SaveAsFile
16 IPicture::get_Attributes

;INTERFACE - IPolicyConfig (undocumented)
;Programmatically (or Command Line) change the default sound playback device in Windows 7 : Dave Amenta
;https://web.archive.org/web/20190210235530/http://daveamenta.com/2011-05/programmatically-or-command-line-change-the-default-sound-playback-device-in-windows-7/
;VistaAudio/VA.ahk at master · ahkscript/VistaAudio · GitHub
;https://github.com/ahkscript/VistaAudio/blob/master/VA.ahk
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IPolicyConfig::GetMixFormat (undocumented)
4 IPolicyConfig::GetDeviceFormat (undocumented)
5 IPolicyConfig::ResetDeviceFormat (undocumented)
6 IPolicyConfig::SetDeviceFormat (undocumented)
7 IPolicyConfig::GetProcessingPeriod (undocumented)
8 IPolicyConfig::SetProcessingPeriod (undocumented)
9 IPolicyConfig::GetShareMode (undocumented)
10 IPolicyConfig::SetShareMode (undocumented)
11 IPolicyConfig::GetPropertyValue (undocumented)
12 IPolicyConfig::SetPropertyValue (undocumented)
13 IPolicyConfig::SetDefaultEndpoint (undocumented)
14 IPolicyConfig::SetEndpointVisibility (undocumented)

;INTERFACE - IPolicyConfigVista (undocumented)
;Programmatically (or Command Line) change the default sound playback device in Windows 7 : Dave Amenta
;https://web.archive.org/web/20190210235530/http://daveamenta.com/2011-05/programmatically-or-command-line-change-the-default-sound-playback-device-in-windows-7/
;VistaAudio/VA.ahk at master · ahkscript/VistaAudio · GitHub
;https://github.com/ahkscript/VistaAudio/blob/master/VA.ahk
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IPolicyConfigVista::GetMixFormat (undocumented)
4 IPolicyConfigVista::GetDeviceFormat (undocumented)
5 IPolicyConfigVista::SetDeviceFormat (undocumented)
6 IPolicyConfigVista::GetProcessingPeriod (undocumented)
7 IPolicyConfigVista::SetProcessingPeriod (undocumented)
8 IPolicyConfigVista::GetShareMode (undocumented)
9 IPolicyConfigVista::SetShareMode (undocumented)
10 IPolicyConfigVista::GetPropertyValue (undocumented)
11 IPolicyConfigVista::SetPropertyValue (undocumented)
12 IPolicyConfigVista::SetDefaultEndpoint (undocumented)
13 IPolicyConfigVista::SetEndpointVisibility (undocumented)

;INTERFACE - IProgressDialog
;source: ShlObj.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IProgressDialog::StartProgressDialog
4 IProgressDialog::StopProgressDialog
5 IProgressDialog::SetTitle
6 IProgressDialog::SetAnimation
7 IProgressDialog::HasUserCancelled
8 IProgressDialog::SetProgress
9 IProgressDialog::SetProgress64
10 IProgressDialog::SetLine
11 IProgressDialog::SetCancelMsg
12 IProgressDialog::Timer

;INTERFACE - IPropertyDescription
;source: propsys.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IPropertyDescription::GetPropertyKey
4 IPropertyDescription::GetCanonicalName
5 IPropertyDescription::GetPropertyType
6 IPropertyDescription::GetDisplayName
7 IPropertyDescription::GetEditInvitation
8 IPropertyDescription::GetTypeFlags
9 IPropertyDescription::GetViewFlags
10 IPropertyDescription::GetDefaultColumnWidth
11 IPropertyDescription::GetDisplayType
12 IPropertyDescription::GetColumnState
13 IPropertyDescription::GetGroupingRange
14 IPropertyDescription::GetRelativeDescriptionType
15 IPropertyDescription::GetRelativeDescription
16 IPropertyDescription::GetSortDescription
17 IPropertyDescription::GetSortDescriptionLabel
18 IPropertyDescription::GetAggregationType
19 IPropertyDescription::GetConditionType
20 IPropertyDescription::GetEnumTypeList
21 IPropertyDescription::CoerceToCanonicalValue
22 IPropertyDescription::FormatForDisplay
23 IPropertyDescription::IsValueCanonical

;INTERFACE - IPropertyStore
;source: propsys.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IPropertyStore::GetCount
4 IPropertyStore::GetAt
5 IPropertyStore::GetValue
6 IPropertyStore::SetValue
7 IPropertyStore::Commit

;INTERFACE - IPropertyStoreCache
;source: propsys.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IPropertyStoreCache::GetCount
4 IPropertyStoreCache::GetAt
5 IPropertyStoreCache::GetValue
6 IPropertyStoreCache::SetValue
7 IPropertyStoreCache::Commit
8 IPropertyStoreCache::GetState
9 IPropertyStoreCache::GetValueAndState
10 IPropertyStoreCache::SetState
11 IPropertyStoreCache::SetValueAndState

;INTERFACE - IProvideClassInfo
;source: OCIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IProvideClassInfo::GetClassInfo

;INTERFACE - IRichEditOLE
;source: RichOle.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IRichEditOLE::GetClientSite
4 IRichEditOLE::GetObjectCount
5 IRichEditOLE::GetLinkCount
6 IRichEditOLE::GetObject
7 IRichEditOLE::InsertObject
8 IRichEditOLE::ConvertObject
9 IRichEditOLE::ActivateAs
10 IRichEditOLE::SetHostNames
11 IRichEditOLE::SetLinkAvailable
12 IRichEditOLE::SetDvaspect
13 IRichEditOLE::HandsOffStorage
14 IRichEditOLE::SaveCompleted
15 IRichEditOLE::InPlaceDeactivate
16 IRichEditOLE::ContextSensitiveHelp
17 IRichEditOLE::GetClipboardData
18 IRichEditOLE::ImportDataObject

;INTERFACE - IRunningObjectTable
;source: ObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IRunningObjectTable::Register
4 IRunningObjectTable::Revoke
5 IRunningObjectTable::IsRunning
6 IRunningObjectTable::GetObject
7 IRunningObjectTable::NoteChangeTime
8 IRunningObjectTable::GetTimeOfLastChange
9 IRunningObjectTable::EnumRunning

;INTERFACE - ISequentialStream
;source: ObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 ISequentialStream::Read
4 ISequentialStream::Write

;INTERFACE - IServiceProvider
;source: servprov.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IServiceProvider::QueryService

;INTERFACE - IShellBrowser
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IShellBrowser::GetWindow
4 IShellBrowser::ContextSensitiveHelp
5 IShellBrowser::InsertMenusSB
6 IShellBrowser::SetMenuSB
7 IShellBrowser::RemoveMenusSB
8 IShellBrowser::SetStatusTextSB
9 IShellBrowser::EnableModelessSB
10 IShellBrowser::TranslateAcceleratorSB
11 IShellBrowser::BrowseObject
12 IShellBrowser::GetViewStateStream
13 IShellBrowser::GetControlWindow
14 IShellBrowser::SendControlMsg
15 IShellBrowser::QueryActiveShellView
16 IShellBrowser::OnViewWindowActive
17 IShellBrowser::SetToolbarItems

;INTERFACE - IShellFolder
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IShellFolder::ParseDisplayName
4 IShellFolder::EnumObjects
5 IShellFolder::BindToObject
6 IShellFolder::BindToStorage
7 IShellFolder::CompareIDs
8 IShellFolder::CreateViewObject
9 IShellFolder::GetAttributesOf
10 IShellFolder::GetUIObjectOf
11 IShellFolder::GetDisplayNameOf
12 IShellFolder::SetNameOf

;INTERFACE - IShellItem
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IShellItem::BindToHandler
4 IShellItem::GetParent
5 IShellItem::GetDisplayName
6 IShellItem::GetAttributes
7 IShellItem::Compare

;INTERFACE - IShellItem2
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IShellItem2::BindToHandler
4 IShellItem2::GetParent
5 IShellItem2::GetDisplayName
6 IShellItem2::GetAttributes
7 IShellItem2::Compare
8 IShellItem2::GetPropertyStore
9 IShellItem2::GetPropertyStoreWithCreateObject
10 IShellItem2::GetPropertyStoreForKeys
11 IShellItem2::GetPropertyDescriptionList
12 IShellItem2::Update
13 IShellItem2::GetProperty
14 IShellItem2::GetCLSID
15 IShellItem2::GetFileTime
16 IShellItem2::GetInt32
17 IShellItem2::GetString
18 IShellItem2::GetUInt32
19 IShellItem2::GetUInt64
20 IShellItem2::GetBool

;INTERFACE - IShellItemArray
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IShellItemArray::BindToHandler
4 IShellItemArray::GetPropertyStore
5 IShellItemArray::GetPropertyDescriptionList
6 IShellItemArray::GetAttributes
7 IShellItemArray::GetCount
8 IShellItemArray::GetItemAt
9 IShellItemArray::EnumItems

;INTERFACE - IShellItemImageFactory
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IShellItemImageFactory::GetImage

;INTERFACE - IShellLibrary
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IShellLibrary::LoadLibraryFromItem
4 IShellLibrary::LoadLibraryFromKnownFolder
5 IShellLibrary::AddFolder
6 IShellLibrary::RemoveFolder
7 IShellLibrary::GetFolders
8 IShellLibrary::ResolveFolder
9 IShellLibrary::GetDefaultSaveFolder
10 IShellLibrary::SetDefaultSaveFolder
11 IShellLibrary::GetOptions
12 IShellLibrary::SetOptions
13 IShellLibrary::GetFolderType
14 IShellLibrary::SetFolderType
15 IShellLibrary::GetIcon
16 IShellLibrary::SetIcon
17 IShellLibrary::Commit
18 IShellLibrary::Save
19 IShellLibrary::SaveInKnownFolder

;INTERFACE - IShellLink (IShellLinkA)
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IShellLink::GetPath
4 IShellLink::GetIDList
5 IShellLink::SetIDList
6 IShellLink::GetDescription
7 IShellLink::SetDescription
8 IShellLink::GetWorkingDirectory
9 IShellLink::SetWorkingDirectory
10 IShellLink::GetArguments
11 IShellLink::SetArguments
12 IShellLink::GetHotkey
13 IShellLink::SetHotkey
14 IShellLink::GetShowCmd
15 IShellLink::SetShowCmd
16 IShellLink::GetIconLocation
17 IShellLink::SetIconLocation
18 IShellLink::SetRelativePath
19 IShellLink::Resolve
20 IShellLink::SetPath

;INTERFACE - IShellLink (IShellLinkW)
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IShellLink::GetPath
4 IShellLink::GetIDList
5 IShellLink::SetIDList
6 IShellLink::GetDescription
7 IShellLink::SetDescription
8 IShellLink::GetWorkingDirectory
9 IShellLink::SetWorkingDirectory
10 IShellLink::GetArguments
11 IShellLink::SetArguments
12 IShellLink::GetHotkey
13 IShellLink::SetHotkey
14 IShellLink::GetShowCmd
15 IShellLink::SetShowCmd
16 IShellLink::GetIconLocation
17 IShellLink::SetIconLocation
18 IShellLink::SetRelativePath
19 IShellLink::Resolve
20 IShellLink::SetPath

;INTERFACE - IShellView
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IShellView::GetWindow
4 IShellView::ContextSensitiveHelp
5 IShellView::TranslateAccelerator
6 IShellView::EnableModeless
7 IShellView::UIActivate
8 IShellView::Refresh
9 IShellView::CreateViewWindow
10 IShellView::DestroyViewWindow
11 IShellView::GetCurrentInfo
12 IShellView::AddPropertySheetPages
13 IShellView::SaveViewState
14 IShellView::SelectItem
15 IShellView::GetItemObject

;INTERFACE - ISimpleAudioVolume
;source: Audioclient.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 ISimpleAudioVolume::SetMasterVolume
4 ISimpleAudioVolume::GetMasterVolume
5 ISimpleAudioVolume::SetMute
6 ISimpleAudioVolume::GetMute

;INTERFACE - IStorage
;source: ObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IStorage::CreateStream
4 IStorage::OpenStream
5 IStorage::CreateStorage
6 IStorage::OpenStorage
7 IStorage::CopyTo
8 IStorage::MoveElementTo
9 IStorage::Commit
10 IStorage::Revert
11 IStorage::EnumElements
12 IStorage::DestroyElement
13 IStorage::RenameElement
14 IStorage::SetElementTimes
15 IStorage::SetClass
16 IStorage::SetStateBits
17 IStorage::Stat

;INTERFACE - IStream
;source: ObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IStream::Read
4 IStream::Write
5 IStream::Seek
6 IStream::SetSize
7 IStream::CopyTo
8 IStream::Commit
9 IStream::Revert
10 IStream::LockRegion
11 IStream::UnlockRegion
12 IStream::Stat
13 IStream::Clone

;INTERFACE - ITaskbarList
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 ITaskbarList::HrInit
4 ITaskbarList::AddTab
5 ITaskbarList::DeleteTab
6 ITaskbarList::ActivateTab
7 ITaskbarList::SetActiveAlt

;INTERFACE - ITaskbarList2
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 ITaskbarList2::HrInit
4 ITaskbarList2::AddTab
5 ITaskbarList2::DeleteTab
6 ITaskbarList2::ActivateTab
7 ITaskbarList2::SetActiveAlt
8 ITaskbarList2::MarkFullscreenWindow

;INTERFACE - ITaskbarList3
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 ITaskbarList3::HrInit
4 ITaskbarList3::AddTab
5 ITaskbarList3::DeleteTab
6 ITaskbarList3::ActivateTab
7 ITaskbarList3::SetActiveAlt
8 ITaskbarList3::MarkFullscreenWindow
9 ITaskbarList3::SetProgressValue
10 ITaskbarList3::SetProgressState
11 ITaskbarList3::RegisterTab
12 ITaskbarList3::UnregisterTab
13 ITaskbarList3::SetTabOrder
14 ITaskbarList3::SetTabActive
15 ITaskbarList3::ThumbBarAddButtons
16 ITaskbarList3::ThumbBarUpdateButtons
17 ITaskbarList3::ThumbBarSetImageList
18 ITaskbarList3::SetOverlayIcon
19 ITaskbarList3::SetThumbnailTooltip
20 ITaskbarList3::SetThumbnailClip

;INTERFACE - ITaskbarList4
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 ITaskbarList4::HrInit
4 ITaskbarList4::AddTab
5 ITaskbarList4::DeleteTab
6 ITaskbarList4::ActivateTab
7 ITaskbarList4::SetActiveAlt
8 ITaskbarList4::MarkFullscreenWindow
9 ITaskbarList4::SetProgressValue
10 ITaskbarList4::SetProgressState
11 ITaskbarList4::RegisterTab
12 ITaskbarList4::UnregisterTab
13 ITaskbarList4::SetTabOrder
14 ITaskbarList4::SetTabActive
15 ITaskbarList4::ThumbBarAddButtons
16 ITaskbarList4::ThumbBarUpdateButtons
17 ITaskbarList4::ThumbBarSetImageList
18 ITaskbarList4::SetOverlayIcon
19 ITaskbarList4::SetThumbnailTooltip
20 ITaskbarList4::SetThumbnailClip
21 ITaskbarList4::SetTabProperties

;INTERFACE - IThemeManager (undocumented)
;Change w7 theme (for automatic postinstall) - AutoHotkey Community
;https://autohotkey.com/boards/viewtopic.php?f=5&t=18879
;C:\Windows\diagnostics\system\AERO\CL_Utility.ps1
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IThemeManager::??? (undocumented)
4 IThemeManager::ApplyTheme (undocumented)

;INTERFACE - ITrayNotify (undocumented)
;ITrayNotify
;https://www.geoffchappell.com/studies/windows/shell/explorer/interfaces/itraynotify/index.htm
;NOTIFYITEM
;https://www.geoffchappell.com/studies/windows/shell/explorer/interfaces/notifyitem.htm
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 ITrayNotify::RegisterCallback (undocumented)
4 ITrayNotify::SetPreference (undocumented)
5 ITrayNotify::EnableAutoTray (undocumented)

;INTERFACE - ITypeComp
;source: OAIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 ITypeComp::Bind
4 ITypeComp::BindType

;INTERFACE - ITypeInfo
;source: OAIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 ITypeInfo::GetTypeAttr
4 ITypeInfo::GetTypeComp
5 ITypeInfo::GetFuncDesc
6 ITypeInfo::GetVarDesc
7 ITypeInfo::GetNames
8 ITypeInfo::GetRefTypeOfImplType
9 ITypeInfo::GetImplTypeFlags
10 ITypeInfo::GetIDsOfNames
11 ITypeInfo::Invoke
12 ITypeInfo::GetDocumentation
13 ITypeInfo::GetDllEntry
14 ITypeInfo::GetRefTypeInfo
15 ITypeInfo::AddressOfMember
16 ITypeInfo::CreateInstance
17 ITypeInfo::GetMops
18 ITypeInfo::GetContainingTypeLib
19 ITypeInfo::ReleaseTypeAttr
20 ITypeInfo::ReleaseFuncDesc
21 ITypeInfo::ReleaseVarDesc

;INTERFACE - ITypeInfo2
;source: OAIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 ITypeInfo2::GetTypeAttr
4 ITypeInfo2::GetTypeComp
5 ITypeInfo2::GetFuncDesc
6 ITypeInfo2::GetVarDesc
7 ITypeInfo2::GetNames
8 ITypeInfo2::GetRefTypeOfImplType
9 ITypeInfo2::GetImplTypeFlags
10 ITypeInfo2::GetIDsOfNames
11 ITypeInfo2::Invoke
12 ITypeInfo2::GetDocumentation
13 ITypeInfo2::GetDllEntry
14 ITypeInfo2::GetRefTypeInfo
15 ITypeInfo2::AddressOfMember
16 ITypeInfo2::CreateInstance
17 ITypeInfo2::GetMops
18 ITypeInfo2::GetContainingTypeLib
19 ITypeInfo2::ReleaseTypeAttr
20 ITypeInfo2::ReleaseFuncDesc
21 ITypeInfo2::ReleaseVarDesc
22 ITypeInfo2::GetTypeKind
23 ITypeInfo2::GetTypeFlags
24 ITypeInfo2::GetFuncIndexOfMemId
25 ITypeInfo2::GetVarIndexOfMemId
26 ITypeInfo2::GetCustData
27 ITypeInfo2::GetFuncCustData
28 ITypeInfo2::GetParamCustData
29 ITypeInfo2::GetVarCustData
30 ITypeInfo2::GetImplTypeCustData
31 ITypeInfo2::GetDocumentation2
32 ITypeInfo2::GetAllCustData
33 ITypeInfo2::GetAllFuncCustData
34 ITypeInfo2::GetAllParamCustData
35 ITypeInfo2::GetAllVarCustData
36 ITypeInfo2::GetAllImplTypeCustData

;INTERFACE - ITypeLib
;source: OAIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 ITypeLib::GetTypeInfoCount
4 ITypeLib::GetTypeInfo
5 ITypeLib::GetTypeInfoType
6 ITypeLib::GetTypeInfoOfGuid
7 ITypeLib::GetLibAttr
8 ITypeLib::GetTypeComp
9 ITypeLib::GetDocumentation
10 ITypeLib::IsName
11 ITypeLib::FindName
12 ITypeLib::ReleaseTLibAttr

;INTERFACE - ITypeLib2
;source: OAIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 ITypeLib2::GetTypeInfoCount
4 ITypeLib2::GetTypeInfo
5 ITypeLib2::GetTypeInfoType
6 ITypeLib2::GetTypeInfoOfGuid
7 ITypeLib2::GetLibAttr
8 ITypeLib2::GetTypeComp
9 ITypeLib2::GetDocumentation
10 ITypeLib2::IsName
11 ITypeLib2::FindName
12 ITypeLib2::ReleaseTLibAttr
13 ITypeLib2::GetCustData
14 ITypeLib2::GetLibStatistics
15 ITypeLib2::GetDocumentation2
16 ITypeLib2::GetAllCustData

;INTERFACE - IUIAutomationBoolCondition
;source: UIAutomationClient.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IUIAutomationBoolCondition::get_BooleanValue

;INTERFACE - IUIAutomationCondition
;source: UIAutomationClient.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release

;INTERFACE - IUIAutomationElementArray
;source: UIAutomationClient.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IUIAutomationElementArray::get_Length
4 IUIAutomationElementArray::GetElement

;INTERFACE - IUIAutomationNotCondition
;source: UIAutomationClient.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IUIAutomationNotCondition::GetChild

;INTERFACE - IUnknown
;source: Unknwn.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release

;INTERFACE - IUserNotification
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IUserNotification::SetBalloonInfo
4 IUserNotification::SetBalloonRetry
5 IUserNotification::SetIconInfo
6 IUserNotification::Show
7 IUserNotification::PlaySound

;INTERFACE - IUserNotification2
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IUserNotification2::SetBalloonInfo
4 IUserNotification2::SetBalloonRetry
5 IUserNotification2::SetIconInfo
6 IUserNotification2::Show
7 IUserNotification2::PlaySound

;INTERFACE - IVirtualDesktopManager
;source: ShObjIdl.h
0 IUnknown::QueryInterface
1 IUnknown::AddRef
2 IUnknown::Release
3 IVirtualDesktopManager::IsWindowOnCurrentVirtualDesktop
4 IVirtualDesktopManager::GetWindowDesktopId
5 IVirtualDesktopManager::MoveWindowToDesktop

;==================================================

FIND INTERFACE INFORMATION

To find interface information, search .h files (header files), in the SDK folder, for the interface name plus 'Vtbl' e.g. IColumnManagerVtbl.
An example SDK folder:
C:\Program Files (x86)\Windows Kits\8.1

EXAMPLES OF USING INTERFACES

Some examples of using interfaces in the documentation:
[ITaskbarList]
DllCall() - Syntax & Usage | AutoHotkey
https://www.autohotkey.com/docs/commands/DllCall.htm
[IProvideClassInfo and ITypeInfo]
ComObjQuery() - Syntax & Usage | AutoHotkey
https://www.autohotkey.com/docs/commands/ComObjQuery.htm

An example of using an interface:

Code: Select all

;temporarily remove the active window from the taskbar by using COM

;based on:
;DllCall() - Syntax & Usage | AutoHotkey
;https://www.autohotkey.com/docs/commands/DllCall.htm

;see also:
;ITaskbarList (shobjidl_core.h) | Microsoft Docs
;https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nn-shobjidl_core-itaskbarlist
;list of interfaces with method numbers - AutoHotkey Community
;https://autohotkey.com/boards/viewtopic.php?f=74&t=67431

IID_ITaskbarList := "{56FDF342-FD6D-11d0-958A-006097C9A090}"
CLSID_TaskbarList := "{56FDF344-FD6D-11d0-958A-006097C9A090}"

pTL := ComObjCreate(CLSID_TaskbarList, IID_ITaskbarList)
hWnd := WinExist("A")
DllCall(NumGet(NumGet(pTL+0)+3*A_PtrSize), "Ptr",pTL) ;ITaskbarList::HrInit
DllCall(NumGet(NumGet(pTL+0)+5*A_PtrSize), "Ptr",pTL, "Ptr",hWnd) ;ITaskbarList::DeleteTab
Sleep, 3000
DllCall(NumGet(NumGet(pTL+0)+4*A_PtrSize), "Ptr",pTL, "Ptr",hWnd) ;ITaskbarList::AddTab
ObjRelease(pTL)

Sleep, 3000

;demonstrate the same thing again but using a vtable function:
pTL := ComObjCreate(CLSID_TaskbarList, IID_ITaskbarList)
hWnd := WinExist("A")
DllCall(VTable(pTL, 3), "Ptr",pTL) ;ITaskbarList::HrInit
DllCall(VTable(pTL, 5), "Ptr",pTL, "Ptr",hWnd) ;ITaskbarList::DeleteTab
Sleep, 3000
DllCall(VTable(pTL, 4), "Ptr",pTL, "Ptr",hWnd) ;ITaskbarList::AddTab
ObjRelease(pTL)

VTable(ptr, n)
{
	return NumGet(NumGet(ptr+0), n*A_PtrSize)
}

EXAMPLES OF USING INTERFACES: ADDREF / RELEASE

A demonstration of IUnknown::AddRef/IUnknown::Release versus ObjAddRef/ObjRelease.

Code: Select all

q:: ;test IUnknown::AddRef/IUnknown::Release and ObjAddRef/ObjRelease
oArray := []
pIfc := &oArray
MsgBox, % vRefCount := NumGet(&oArray + A_PtrSize) ;undocumented

DllCall(NumGet(NumGet(pIfc+0)+1*A_PtrSize), "Ptr",pIfc) ;IUnknown::AddRef
ObjAddRef(pIfc)
MsgBox, % vRefCount := NumGet(&oArray + A_PtrSize) ;undocumented

DllCall(NumGet(NumGet(pIfc+0)+2*A_PtrSize), "Ptr",pIfc) ;IUnknown::Release
ObjRelease(pIfc)
MsgBox, % vRefCount := NumGet(&oArray + A_PtrSize) ;undocumented
return

GET INTERFACE INFORMATION FROM HEADER FILES

Some code to get interface information from the selected header file text.
E.g. open ShObjIdl.h in Notepad/Notepad2/Notepad++, search for IColumnManagerVtbl, select the text of the vtable definition, and trigger the hotkey.
E.g. select from 'typedef struct IColumnManagerVtbl' to just after 'END_INTERFACE'.
This script is not guaranteed to be foolproof, although it did work on all of the vtables listed above (apart from: IProgressDialog and IRichEditOLE).

Code: Select all

q:: ;get interface info from selected header file text
WinGetTitle, vWinTitle, A
;vText := JEE_GetSelectedText()
vText := JEE_GetSelectedTextSimple()
vIndex := 0
vIfc := "MyInterface"
vOutput := ";source: " RegExReplace(vWinTitle, " - Notepad.*") "`r`n"
Loop Parse, vText, % "`n", % "`r"
{
	vTemp := Trim(A_LoopField)
	if InStr(vTemp, "typedef struct")
	&& InStr(vTemp, "Vtbl")
		vIfc := RegExReplace(vTemp, "^.*typedef struct (.*)Vtbl$", "$1")

	if InStr(vTemp, "STDMETHODCALLTYPE")
	{
		vMtd := RegExReplace(vTemp, "^.*\*([^ ]*) \)\(.*$", "$1")
		if (vIndex >= 0) && (vIndex <= 2)
		&& (vMtd ~= "^(QueryInterface|AddRef|Release)$")
			vOutput .= vIndex " IUnknown::" vMtd "`r`n"
		else
			vOutput .= vIndex " " vIfc "::" vMtd "`r`n"
		vIndex++
	}
}
Clipboard := ";INTERFACE - " vIfc "`r`n" vOutput
MsgBox, % "done"
return

JEE_GetSelectedTextSimple(vWait:=3)
{
	Clipboard := ""
	SendInput, ^c
	ClipWait, % vWait
	if ErrorLevel
	{
		MsgBox, % "error: failed to retrieve clipboard text"
		Exit
	}
	return Clipboard
}

MOVING BETWEEN INTERFACES

Here I present a first attempt at a list of how to get from one interface to another.

Code: Select all

IShellBrowser - ComObjCreate: Shell.Application -> .Windows (ShellWindows) -> .Item (InternetExplorer): QueryInterface -> IServiceProvider::QueryInterface -> IShellBrowser
	IOleWindow - IShellBrowser::QueryInterface -> IOleWindow
	IShellView - IShellBrowser::QueryActiveShellView -> IShellView
		IFolderView - IShellView::QueryInterface -> IFolderView
			IEnumIDList - IFolderView::Items -> IEnumIDList
		IFolderView2 - IShellView::QueryInterface -> IFolderView2
			IColumnManager - IFolderView2::QueryInterface -> IColumnManager
IShellFolder - DllCall: shell32\SHBindToParent -> IShellFolder
IShellFolder - DllCall: shell32\SHGetDesktopFolder -> IShellFolder
	IContextMenu - IShellFolder::GetUIObjectOf -> IContextMenu
		IContextMenu2 - IContextMenu::QueryInterface -> IContextMenu2
		IContextMenu3 - IContextMenu::QueryInterface -> IContextMenu3
	IDataObject - IShellFolder::GetUIObjectOf -> IDataObject
IDropTarget - DllCall: user32\GetProp -> IDropTarget
IFileDialog - ComObjCreate: CLSID_FileOpenDialog and IID_IFileDialog -> IFileDialog
	IFileDialogCustomize - IFileDialog::QueryInterface -> IFileDialogCustomize
	IShellItem - IFileDialog::GetResult -> IShellItem
INetworkListManager - ComObjCreate: CLSID_NetworkListManager and IID_INetworkListManager -> INetworkListManager
	IEnumNetworks - INetworkListManager::GetNetworks -> IEnumNetworks
		INetwork - IEnumNetworks::Next -> INetwork
IOleCommandTarget - ComObjCreate: Shell.Application -> .Windows (ShellWindows) -> .Item (InternetExplorer) -> .Document: QueryInterface -> IOleCommandTarget
IShellLink (IShellLinkW) - ComObjCreate: CLSID_ShellLink and IID_IShellLinkW -> IShellLink
	IPersistFile - IShellLink::QueryInterface -> IPersistFile
IPropertyDescription - DllCall: propsys\PSGetPropertyDescriptionByName -> IPropertyDescription
IProvideClassInfo - ComObjCreate: CLSID_XXX and IID_IXXX -> IXXX -> IXXX::QueryInterface -> IProvideClassInfo
	ITypeInfo - IProvideClassInfo::GetClassInfo -> ITypeInfo
ITaskbarList - ComObjCreate: CLSID_TaskbarList and IID_ITaskbarList -> ITaskbarList
ITrayNotify (undocumented) - ComObjCreate: CLSID_TrayNotify and IID_ITrayNotify -> ITrayNotify
IUnknown

INTERFACES FROM VA.AHK (+ ISIMPLEAUDIOVOLUME)

Code: Select all

IAudioAutoGainControl
IAudioBass
IAudioClient
IAudioEndpointVolume
IAudioMeterInformation
IAudioMidrange
IAudioMute
IAudioSessionControl
IAudioSessionControl2
IAudioSessionEnumerator
IAudioSessionManager
IAudioSessionManager2
IAudioTreble
IAudioVolumeLevel
IConnector
IControlInterface
IDeviceTopology
IMMDevice
IMMDeviceCollection
IMMDeviceEnumerator
IPart
IPartsList
IPerChannelDbLevel
IPolicyConfig (undocumented)
IPolicyConfigVista (undocumented)
ISimpleAudioVolume

SOURCES FOR CLSIDS

registry keys:
HKEY_CLASSES_ROOT\CLSID
HKEY_CLASSES_ROOT\TypeLib

Internet links:
iids_tiraniddo.csv.txt
https://www.scriptjunkie.us/wp-content/uploads/2019/05/iids_tiraniddo.csv.txt

.h files (header files) that come with Visual Studio Express for Windows Desktop
e.g. in C:\Program Files (x86)\Windows Kits\8.1
e.g. literal string: IID_IColumnManager: d8ec27bb-3f3b-4042-b10a-4acfd924d453
e.g. split up for DEFINE_GUID
DEFINE_GUID(SID_STopLevelBrowser, 0x4C96BE40L, 0x915C, 0x11CF, 0x99, 0xD3, 0x00, 0xAA, 0x00, 0x4A, 0xE8, 0x37);

LINKS

[Show: a method used by various Explorer interfaces]
IModalWindow::Show (shobjidl_core.h) | Microsoft Docs
https://docs.microsoft.com/en-gb/windows/win32/api/shobjidl_core/nf-shobjidl_core-imodalwindow-show

Links (lists of Winapi messages / functions / structs):
List of Windows Messages - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=74&t=39218
list of dll functions with parameter types for DllCall - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=74&t=30832
list of handy dll functions - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=74&t=34017
list of structs with parameters (sizes and types) - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=74&t=30497
classic low-level Winapi functions - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=5&t=67409

Links (Explorer and Internet Explorer):
Shell.Application property - Windows applications | Microsoft Docs
https://docs.microsoft.com/en-us/windows/win32/shell/shell-application
Shell.Windows method - Windows applications | Microsoft Docs
https://docs.microsoft.com/en-us/windows/win32/shell/shell-windows
ShellWindows object - Windows applications | Microsoft Docs
https://docs.microsoft.com/en-us/windows/win32/shell/shellwindows
ShellWindows.Item method - Windows applications | Microsoft Docs
https://docs.microsoft.com/en-us/windows/win32/shell/shellwindows-item
InternetExplorer object (Windows) | Microsoft Docs
https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa752084(v=vs.85)
Document property (Internet Explorer) | Microsoft Docs
https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa752052%28v%3dvs.85%29

Links (getting interface info):
objects: interfaces: method names and offset numbers - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=5&t=67389
Last edited by jeeswg on 15 Nov 2019, 14:03, edited 8 times in total.
homepage | tutorials | wish list | fun threads | donate
WARNING: copy your posts/messages before hitting Submit as you may lose them due to CAPTCHA
User avatar
hoppfrosch
Posts: 443
Joined: 07 Oct 2013, 04:05
Location: Rhine-Maine-Area, Hesse, Germany
Contact:

Re: list of interfaces with method numbers

31 Aug 2019, 11:19

Just for completeness and to highlight/remember a forgotten gem:
maul-esel once presented "AHK classes that implement COM interfaces": COM-Classes
User avatar
jeeswg
Posts: 6902
Joined: 19 Dec 2016, 01:58
Location: UK

Re: list of interfaces with method numbers

07 Sep 2019, 16:24

Thanks, the COM-Classes link and others are mentioned here:
objects: interfaces: method names and offset numbers - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=5&t=67389

I've added in all of the interfaces listed here:
interfaces · maul-esel/COM-Classes Wiki · GitHub
https://github.com/maul-esel/COM-Classes/wiki/interfaces
Although I could do with some clarification re. 'Audio classes' and 'IUIAutomation & friends'.
I have so far added the interfaces mentioned in VA.ahk, and some UI Automation interfaces.

[EDIT:] I added the UIAutomationClient.h interfaces, here:
list of UI Automation interfaces with method numbers - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=74&t=69352

I'd be interested in any further key interfaces to add.
homepage | tutorials | wish list | fun threads | donate
WARNING: copy your posts/messages before hitting Submit as you may lose them due to CAPTCHA

Return to “Tips and Tricks (v1)”

Who is online

Users browsing this forum: No registered users and 36 guests