Prior to Windows Internet Explorer 7, Urlmon.dll would quietly handle exceptions raised by all pluggable protocols. Developers trying to debug a custom handler in this configuration should use a debugging tool that can trap the exceptions before they are passed to Urlmon.dll.
The version of Urlmon.dll that shipped with Internet Explorer 7 no longer handles exceptions. Developers must implement a global exception handler within the pluggable protocol itself.
Some functions and methods return a non-standard HRESULT value, such as IInternetSecurityManager::SetZoneMapping. Many of these return values are generated by a macro that sets the low word to a valid Microsoft Win32 error code and the high word to 8007.