diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index 8e97cdb6f7..f9a0770b7c 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -1284,7 +1284,7 @@ @ stdcall -register RtlCaptureContext(ptr) ntdll.RtlCaptureContext @ stdcall RtlCaptureStackBackTrace(long long ptr ptr) ntdll.RtlCaptureStackBackTrace @ stdcall -arch=x86_64 RtlCompareMemory(ptr ptr long) ntdll.RtlCompareMemory -# @ stub -arch=x86_64 RtlCopyMemory +@ stdcall -arch=x86_64 RtlCopyMemory(ptr ptr long) ntdll.RtlCopyMemory @ cdecl -arch=arm,x86_64 RtlDeleteFunctionTable(ptr) ntdll.RtlDeleteFunctionTable @ stdcall RtlFillMemory(ptr long long) ntdll.RtlFillMemory @ cdecl -arch=x86_64 RtlInstallFunctionTableCallback(long long long ptr ptr ptr) ntdll.RtlInstallFunctionTableCallback diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 191115bbd4..270d7ff8d1 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -474,6 +474,7 @@ # @ stub RtlConvertVariantToProperty @ stdcall RtlCopyLuid(ptr ptr) @ stdcall RtlCopyLuidAndAttributesArray(long ptr ptr) +@ stdcall -arch=x86_64 RtlCopyMemory(ptr ptr long) # @ stub RtlCopyMemoryStreamTo # @ stub RtlCopyOutOfProcessMemoryStreamTo # @ stub RtlCopyRangeList diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c index 8f6f386e45..855bdb96c5 100644 --- a/dlls/ntdll/rtl.c +++ b/dlls/ntdll/rtl.c @@ -533,6 +533,15 @@ SIZE_T WINAPI RtlCompareMemoryUlong(const ULONG *Source1, SIZE_T Length, ULONG d return i * sizeof(ULONG); } +/****************************************************************************** + * RtlCopyMemory [NTDLL.@] + */ +#undef RtlCopyMemory +void WINAPI RtlCopyMemory(void *dest, const void *src, SIZE_T len) +{ + memcpy(dest, src, len); +} + /****************************************************************************** * RtlAssert [NTDLL.@] *