mirror of
https://github.com/reactos/reactos.git
synced 2026-06-05 19:43:39 +08:00
[NTDLL] Implement LdrInitShimEngineDynamic.
This is the final step required to properly support SE_DynamicShim CORE-13283
This commit is contained in:
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user