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/…
==============================================================================
--- 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;