Hi, I have developed an Asynchronous Pluggable Protocol that parses incoming requests from its own namespace (lets say foo:) into file: or http: format and forwards them to standard FileProtocol or HttpProtocol objects for furthe processing. I don't create my own IInternetProtocolSink or IInternetBindInfo handlers but forward the ones received in IInternetProtocolRoot::Start call. It works fine on IE6. But I have a problem on IE7. When I call Start on FileProtocol or HttpProtocol I receive 0x800401E4 (Invalid syntax) error. I wrote my own IInternetProtocolSink and IInternetBindInfo handler, but it works only with FileProtocol. With HttpProtocol I get 0x80004002 (No such interface supported) error. I have the following call sequence: FOOIInternetProtocolRoot::Start("foo://localhost/http://www.foo.com", 0x0) HttpProtocol::Start("http://www.foo.com") : 0x80004002 FOOProtocolHandlerSink::InternalQueryInterface({A158A630-ED6F-45FB-B987-F68676F57752}) : 0x80004002 FOOIInternetBindInfo::GetBindInfo() FOOIInternetBindInfo::GetBindString(BINDSTRING_USER_AGENT) => 0 items: FOOIInternetBindInfo::GetBindString(BINDSTRING_ACCEPT_MIMES) => 6 items: ... FOOProtocolHandlerSink::InternalQueryInterface({6D5140C1-7436-11CE-8034-00AA006009FA}) : 0x80004002 FOOProtocolHandlerSink::InternalQueryInterface({6D5140C1-7436-11CE-8034-00AA006009FA}) : 0x80004002 FOOIInternetProtocolRoot::Terminate(0x0) I have no idea what the first interfaces is. The second one is IServiceProvider, but I what services I supposed to provide? Can you please explain why simple passing the existing IInternetProtocolSink and IInternetBindInfo handlers does not work in my case? Is it because I transform URL or there is another reason? And do I need to go forward and realize IServiceProvider and all further requested interfaces to make HttpProtocol working on IE7? Thank a lot.