https://bugs.winehq.org/show_bug.cgi?id=43270 --- Comment #18 from Nikolay Sivov <bunglehead(a)gmail.com> --- (In reply to Daniel Kamil Kozar from comment #17)
Created attachment 61896 [details] Preliminary implementation of SxsLookupClrGuid
This is the patch that I was able to cook up. It makes EAC plugins work without having to use native sxs.dll. There is a number of things that irk me code-wise, but I don't have enough knowledge to decide how they should be done in the target implementation. Namely : 1. I just copied the definitions of the structs available under ACTCTX_SECTION_KEYED_DATA.lpData returned by FindActCtxSectionGuid. This makes it possible to then access the real data that SxsLookupClrGuid needs. 2. It seems to me that the SXS_LOOKUP_CLR_GUID_USE_ACTCTX flag of this function cannot be supported without extra work in actctx.c (and perhaps having an internal interface between these two files?), since FindActCtxSectionGuid calls find_guid() internally, which has no way of passing the activation context to use during the lookup.
Let me know what you think, also if the patch is no good.
This needs a lot of cleanup, and some tests too. Issues so far: - no need for a new source file, use sxs.c; - no reason to use ntdll heap API as far as I can tell; - most of the helpers are unnecessary I think; - SXS_LOOKUP_CLR_GUID_USE_ACTCTX is easy to handle - you simply have to temporary activate given context to be able to access it; - there's no tests. Please note that patches are not picked up from here, and for a proper review wine-devel(a)winehq.org list should be used. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.