mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
[NTDLL] Implement LdrInitShimEngineDynamic.
This is the final step required to properly support SE_DynamicShim CORE-13283
This commit is contained in:
parent
b544640c29
commit
15d491fb29
2 changed files with 20 additions and 1 deletions
|
@ -156,7 +156,7 @@
|
||||||
@ stdcall LdrGetProcedureAddress(ptr ptr long ptr)
|
@ stdcall LdrGetProcedureAddress(ptr ptr long ptr)
|
||||||
@ stdcall -stub -version=0x600+ LdrGetProcedureAddressEx(ptr ptr long ptr long)
|
@ stdcall -stub -version=0x600+ LdrGetProcedureAddressEx(ptr ptr long ptr long)
|
||||||
@ stdcall -stub LdrHotPatchRoutine(ptr)
|
@ stdcall -stub LdrHotPatchRoutine(ptr)
|
||||||
@ stdcall -stub LdrInitShimEngineDynamic(ptr)
|
@ stdcall LdrInitShimEngineDynamic(ptr)
|
||||||
@ stdcall LdrInitializeThunk(long long long long)
|
@ stdcall LdrInitializeThunk(long long long long)
|
||||||
@ stdcall LdrLoadAlternateResourceModule(ptr ptr)
|
@ stdcall LdrLoadAlternateResourceModule(ptr ptr)
|
||||||
@ stub -version=0x600+ LdrLoadAlternateResourceModuleEx
|
@ stub -version=0x600+ LdrLoadAlternateResourceModuleEx
|
||||||
|
|
|
@ -1672,4 +1672,23 @@ LdrSetAppCompatDllRedirectionCallback(
|
||||||
return STATUS_NOT_IMPLEMENTED;
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
LdrInitShimEngineDynamic(IN PVOID BaseAddress)
|
||||||
|
{
|
||||||
|
ULONG_PTR Cookie;
|
||||||
|
NTSTATUS Status = LdrLockLoaderLock(0, NULL, &Cookie);
|
||||||
|
if (NT_SUCCESS(Status))
|
||||||
|
{
|
||||||
|
if (!g_pShimEngineModule)
|
||||||
|
{
|
||||||
|
g_pShimEngineModule = BaseAddress;
|
||||||
|
LdrpGetShimEngineInterface();
|
||||||
|
}
|
||||||
|
LdrUnlockLoaderLock(0, Cookie);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
Loading…
Reference in a new issue