[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

svn path=/trunk/; revision=70697
This commit is contained in:
Thomas Faber 2016-02-07 09:38:47 +00:00
parent cab26c80f1
commit ba31c44d1e

View file

@ -170,6 +170,18 @@ BasepProbeForDllManifest(IN PVOID DllHandle,
/* 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;