The process is like this:
The control calls the webbrowser's IOleControl.OnAmbientPropertyChange implementation in the SynchDOCDOWNLOADCTLFLAG function in http://csexwb2.googlecode.com/svn/trunk/cEXWB.cs to notify the webbrowser control about a change in ambient properties inside the ActiveX host.
The the webbrowser control then calls its host's IDispatch.Invoke implementation to query for the updated download control flag.
The host's IDispatch.Invoke implementation for the DISPID_AMBIENT_DLCONTROL dispid looks like this
[DispId(HTMLDispIDs.DISPID_AMBIENT_DLCONTROL)]
public int Idispatch_AmbiantDlControl_Invoke_Handler()
{
return (int)m_DLCtlFlags;
}
Check Controlling Download and Execution to see the list of flags you can use to change the behavior of the browser.