mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +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 -stub -version=0x600+ LdrGetProcedureAddressEx(ptr ptr long ptr long)
|
||||
@ stdcall -stub LdrHotPatchRoutine(ptr)
|
||||
@ stdcall -stub LdrInitShimEngineDynamic(ptr)
|
||||
@ stdcall LdrInitShimEngineDynamic(ptr)
|
||||
@ stdcall LdrInitializeThunk(long long long long)
|
||||
@ stdcall LdrLoadAlternateResourceModule(ptr ptr)
|
||||
@ stub -version=0x600+ LdrLoadAlternateResourceModuleEx
|
||||
|
|
|
@ -1672,4 +1672,23 @@ LdrSetAppCompatDllRedirectionCallback(
|
|||
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 */
|
||||
|
|
Loading…
Reference in a new issue