Function calls
The following list shows the order in which the main functions
are called, when the webbrowser control moves from one page to
another:
OnPropertyChanged
OnBeforeNavigate2
OnDownloadBegin
OnStatusTextChanged
OnProgressChanged
OnStatusTextChanged
OnGetHostInfo
OnGetOptionKey
OnDownloadComplete
OnStatusTextChanged
OnPropertyChanged
OnStatusTextChanged
OnCommandStateChanged
OnDownloadBegin
OnCommandStateChanged
OnStatusTextChanged
OnCommandStateChanged
OntitleChanged
OnNavigationComplete
OnUpdateUI
OnCommandStateChanged
OntitleChanged
OnStatusTextChanged
OnProgressChanged
OnDownloadComplete
OnDocumentComplete
OnProgressChanged
Interfaces
If you override QueryInterface and QueryService you can log the
sequence of the calls made by the webbrowser for it's interfaces.
When the webbrowser control is created the following interfaces are
called:
IServiceProvider
SID_SToplevelBrowser -
{02BA3B52-0547-11D1-B833-00C04FC9B31F}
IOleInPlaceSite
IServiceProvider
SID_STOPLEVELBROWSER - IShellBrowser
IServiceProvider
ITargetFrame2 - IUnknown
IServiceProvider
{20C46561-8491-11CF-960C-0080C7F4EE85} -
IShellBrowser
IDispatch
IServiceProvider
ITargetFrame2 - IUnknown
IPropertyNotifySink
IOleInPlaceSite
IServiceProvider
ITargetFrame2 - ITargetFramePriv
IOleCommandTarget
IPropertyNotifySink
IServiceProvider
ITargetFrame2 - IUnknown
IServiceProvider
{4C96BE40-915C-11CF-99D3-00AA004AE837}-{DFEED31E-78ED-11D2-86BA-00C04F8EEA99}
IServiceProvider
{4C96BE40-915C-11CF-99D3-00AA004AE837} -
IServiceProvider
IDocHostUIHandler
IDocHostShowUI
IServiceProvider
{4C96BE40-915C-11CF-99D3-00AA004AE837} -
IServiceProvider
IServiceProvider
IMimeInfo - IMimeInfo
IServiceProvider
{4C96BE40-915C-11CF-99D3-00AA004AE837} -
IOleCommandTarget
IOleCommand.Exec(OLECMDID=24)
IServiceProvider
IOleUndoManager - IOleUndoManager
IServiceProvider
{4C96BE40-915C-11CF-99D3-00AA004AE837} -
IServiceProvider
IServiceProvider
HTML Document - HTML Document
IServiceProvider
{4C96BE40-915C-11CF-99D3-00AA004AE837} -
IServiceProvider
IServiceProvider
{53A2D5B1-D2FC-11D0-84E0-006097C9987D} -
{53A2D5B0-D2FC-11D0-84E0-006097C9987D}
IServiceProvider
{6D12FE80-7911-11CF-9534-0000C05BAE0B} - IUnknown
IServiceProvider
IElementBehaviorFactory - IElementBehaviorFactory
IServiceProvider
ITargetFrame2 - IUnknown
IOleCommand.Exec(OLECMDID=25)
IServiceProvider
IInternetProtocol - IInternetProtocol
IServiceProvider
{3050F312-98B5-11CF-BB82-00AA00BDCE0B} -
{3050F312-98B5-11CF-BB82-00AA00BDCE0B}
IServiceProvider
{3050F316-98B5-11CF-BB82-00AA00BDCE0B} -
{3050F316-98B5-11CF-BB82-00AA00BDCE0B}
IPropertyNotifySink
IServiceProvider
{4C96BE40-915C-11CF-99D3-00AA004AE837} -
IServiceProvider
IServiceProvider
{4C96BE40-915C-11CF-99D3-00AA004AE837} -
IOleWindow
IServiceProvider
ITargetFrame2 - IUnknown
IPropertyNotifySink
IServiceProvider
ITargetFrame2 - IUnknown
IServiceProvider
{4C96BE40-915C-11CF-99D3-00AA004AE837} -
IShellBrowser
IOleCommand.Exec(OLECMDID=39)
IServiceProvider
{3050F4B5-98B5-11CF-BB82-00AA00BDCE0B} -
IOleCommandTarget
IServiceProvider
{3050F4B5-98B5-11CF-BB82-00AA00BDCE0B} -
IOleCommandTarget
IServiceProvider
{4C96BE40-915C-11CF-99D3-00AA004AE837} -
IServiceProvider
IOleCommand.Exec(OLECMDID=29)
IServiceProvider
ITargetFrame2 - IUnknown
IOleCommand.Exec(OLECMDID=25)
IServiceProvider
ITargetFrame2 - IUnknown
IServiceProvider
ITargetFrame2 - IUnknown
IPropertyNotifySink
IServiceProvider
{4C96BE40-915C-11CF-99D3-00AA004AE837} -
IUrlHistoryStg
IServiceProvider
{4C96BE40-915C-11CF-99D3-00AA004AE837} -
IServiceProvider
IServiceProvider
{4C96BE40-915C-11CF-99D3-00AA004AE837} -
IShellBrowser
IOleCommand.Exec(OLECMDID=39)
IPropertyNotifySink
IServiceProvider
ITargetFrame2 - IUnknown
IOleCommand.Exec(OLECMDID=37)
IOleCommand.Exec(OLECMDID=20)
IServiceProvider
IHTMLDialog - IUnknown
IServiceProvider
IHTMLDialog - IUnknown
IServiceProvider
IInternetSecurityManager -
IInternetSecurityManager
IServiceProvider
IInternetSecurityManager -
IInternetSecurityManager