Rainbow Six Siege checks if the export exists but then doesn't actually use it
From: Etaash Mathamsetty etaash.mathamsetty@gmail.com
--- dlls/kernel32/kernel32.spec | 1 + dlls/kernelbase/kernelbase.spec | 1 + 2 files changed, 2 insertions(+)
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index caa6c92b653..fd1704c99ae 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -286,6 +286,7 @@ @ stdcall -import CreateFile2(wstr long long long ptr) @ stdcall -import CreateFileA(str long long ptr long long long) @ stdcall CreateFileTransactedA(str long long ptr long long long ptr ptr ptr) +@ stub CreateFileMapping2 @ stdcall CreateFileMappingA(long ptr long long long str) # @ stub CreateFileMappingNumaA @ stdcall CreateFileMappingFromApp(long ptr long int64 wstr) kernelbase.CreateFileMappingFromApp diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec index daab63e85e2..99b263f1e1f 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -192,6 +192,7 @@ @ stdcall CreateFiberEx(long long long ptr ptr) @ stdcall CreateFile2(wstr long long long ptr) @ stdcall CreateFileA(str long long ptr long long long) +@ stub CreateFileMapping2 @ stdcall CreateFileMappingFromApp(long ptr long int64 wstr) @ stdcall CreateFileMappingNumaW(long ptr long long long wstr long) @ stdcall CreateFileMappingW(long ptr long long long wstr)
Does this stub actually improves anything in the game behaviour? Otherwise if it just queries it that probably doesn't justify adding a spec (or empty coded) stub, it is better to have some implementation at once.
On Mon Apr 14 15:14:49 2025 +0000, Paul Gofman wrote:
it improves the behavior by allowing the game to launch (it doesn't launch without this export present)
On Thu Apr 17 16:29:39 2025 +0000, Etaash Mathamsetty wrote:
it improves the behavior by allowing the game to launch (it doesn't launch without this export present)
can confirm. without stub it just gives this error: `The procedure entry point CreateFileMapping2 could not be located in the dynamic link library api-ms-win-core-memory-l1-1-7.dll`
This merge request was closed by Etaash Mathamsetty.
Is this fixed by a different PR? I'm running into this issue as well.
On Thu Apr 17 16:27:25 2025 +0000, Dahipppo1555 wrote:
Did you find any other workaround? I'm getting this in Crossover.
On Sat May 24 16:46:03 2025 +0000, Juan Islando wrote:
Is this fixed by a different PR? I'm running into this issue as well.
This was fixed with 177ed29851f74a26331b6a14ae84c4dbce4f0d70.