How about to add subj? I'd like to get an information that my previous stream object is freed. It's obvious that it's easy to add such event somewhere near that location:
function TContentManager.CloseFakeHandleAndReleaseStream(Handle: THandle): BOOL;
...............
if Pair.m_Handle = Handle then
begin
>>>>>>>>>>>>>>>>>>>
Here we call OnUnloadExternalStreamAsync(Pair.m_Stream);
>>>>>>>>>>>>>>>>>>>
Pair.Free;
Result := True;
break;
end;
...............
It would be good to have Sender here too, but I didn't investigate your classes too deeply to suggest any solution for that.
Thanks.