Author: tfaber Date: Sun Feb 7 09:38:47 2016 New Revision: 70697
URL: http://svn.reactos.org/svn/reactos?rev=70697&view=rev Log: [KERNEL32] - Hide STATUS_SXS_INVALID_ACTCTXDATA_FORMAT in BasepProbeForDllManifest and fake a manifest not found status instead. Windows's RtlCreateActivationContext will always return this code since we call it with a completely invalid structure. Should fix boot on VMware-Hybrid testbot. CORE-10843
Modified: trunk/reactos/dll/win32/kernel32/client/actctx.c
Modified: trunk/reactos/dll/win32/kernel32/client/actctx.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/a... ============================================================================== --- trunk/reactos/dll/win32/kernel32/client/actctx.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/client/actctx.c [iso-8859-1] Sun Feb 7 09:38:47 2016 @@ -170,6 +170,18 @@
/* Store activation context pointer if it was created successfully */ if (NT_SUCCESS(Status)) *ActCtx = Result; + + /* CORE-10843: Windows always returns this since we pass the wrong struct */ + if (Status == STATUS_SXS_INVALID_ACTCTXDATA_FORMAT) + { + /* Fake "Manifest not found" so the load doesn't fail */ + static int Once; + if (Once++) + { + DPRINT1("HACK: Passed invalid ACTIVATION_CONTEXT_DATA!\n"); + } + Status = STATUS_RESOURCE_DATA_NOT_FOUND; + } }
return Status;