Hi Huw,
Dmitry Timoshkov dmitry@baikal.ru wrote:
CoRegisterSurrogate() is currently a stub. Do we know what this is supposed to do?
I'd guess that the stored ISurrogate pointer is used from inside of CoFreeUnusedLibraries() to call ISurrogate::FreeSurrogate(). This part still needs to be investigated and implemented.
Attached patch (on top of the previosuly sent series) follows https://docs.microsoft.com/en-us/windows/win32/api/objidl/nf-objidl-isurroga... and relies on DllCanUnloadNow() being properly implemented in the DLL servers. If it looks good I'll send it later for considering once main patch set is accepted.