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/actctx.c?rev=70697&r1=70696&r2=70697&view=diff
==============================================================================
--- 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;


Reply via email to