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