Hi, I am trying to implemented a custom download manager. So far I have got this: IDownloadManager::Download() creates a modeless dialog, creates a IBindStatusCallback object, registers this BSCB object with IMoniker and calls BindToStorage() function. Everyting is working fine, but I cannot abort the Download as I expected. Here is what I'm doing: First I get a backup pointer to IBinding inside OnStartBinding. When I need to cancel the download (for example if I could not create a file inside OnDataAvailable) I call Abort() method on this pointer. This actually stops binding because neither OnDataAvailable nor OnProgress is called anymore. The problem is according to MSDN after calling Abort() only OnStopBinding will be called. However this is not the case. OnStopBinding is never called. I have tried returning S_OK, S_FALSE and E_ABORT from OnDataAvailable. The return value did not change anything.