Myah Caron : kernelbase: Implement VirtualAlloc2.
Alexandre Julliard
julliard at winehq.org
Mon Oct 26 16:59:43 CDT 2020
Module: wine
Branch: master
Commit: c55349f6c8aa12801666145f0e345fbe3e6e11c3
URL: https://source.winehq.org/git/wine.git/?a=commit;h=c55349f6c8aa12801666145f0e345fbe3e6e11c3
Author: Myah Caron <qsniyg at protonmail.com>
Date: Sat Oct 17 01:44:52 2020 +0000
kernelbase: Implement VirtualAlloc2.
Signed-off-by: Myah Caron <qsniyg at protonmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/kernelbase/kernelbase.spec | 1 +
dlls/kernelbase/memory.c | 15 +++++++++++++++
include/winbase.h | 1 +
3 files changed, 17 insertions(+)
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index 9c7babde7fd..da35b5e5c6e 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -1672,6 +1672,7 @@
# @ stub VerifyPackageId
# @ stub VerifyPackageRelativeApplicationId
# @ stub VerifyScripts
+@ stdcall VirtualAlloc2(long ptr long long long ptr long)
@ stdcall VirtualAlloc(ptr long long long)
@ stdcall VirtualAllocEx(long ptr long long long)
@ stdcall VirtualAllocExNuma(long ptr long long long long)
diff --git a/dlls/kernelbase/memory.c b/dlls/kernelbase/memory.c
index 4ead38f2bc0..2bfd3893e8e 100644
--- a/dlls/kernelbase/memory.c
+++ b/dlls/kernelbase/memory.c
@@ -299,6 +299,21 @@ LPVOID WINAPI DECLSPEC_HOTPATCH VirtualAllocEx( HANDLE process, void *addr, SIZE
}
+/***********************************************************************
+ * VirtualAlloc2 (kernelbase.@)
+ */
+LPVOID WINAPI DECLSPEC_HOTPATCH VirtualAlloc2( HANDLE process, void *addr, SIZE_T size,
+ DWORD type, DWORD protect,
+ MEM_EXTENDED_PARAMETER *parameters, ULONG count )
+{
+ LPVOID ret = addr;
+
+ if (!set_ntstatus( NtAllocateVirtualMemoryEx( process, &ret, &size, type, protect, parameters, count )))
+ return NULL;
+ return ret;
+}
+
+
/***********************************************************************
* VirtualFree (kernelbase.@)
*/
diff --git a/include/winbase.h b/include/winbase.h
index f1c3198c21a..82797efc2b0 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -2744,6 +2744,7 @@ WINBASEAPI BOOL WINAPI VerifyVersionInfoA(LPOSVERSIONINFOEXA,DWORD,DWORDL
WINBASEAPI BOOL WINAPI VerifyVersionInfoW(LPOSVERSIONINFOEXW,DWORD,DWORDLONG);
#define VerifyVersionInfo WINELIB_NAME_AW(VerifyVersionInfo)
WINBASEAPI LPVOID WINAPI VirtualAlloc(LPVOID,SIZE_T,DWORD,DWORD);
+WINBASEAPI LPVOID WINAPI VirtualAlloc2(HANDLE,LPVOID,SIZE_T,DWORD,DWORD,MEM_EXTENDED_PARAMETER*,ULONG);
WINBASEAPI LPVOID WINAPI VirtualAllocEx(HANDLE,LPVOID,SIZE_T,DWORD,DWORD);
WINBASEAPI LPVOID WINAPI VirtualAllocExNuma(HANDLE,void*,SIZE_T,DWORD,DWORD,DWORD);
WINBASEAPI BOOL WINAPI VirtualFree(LPVOID,SIZE_T,DWORD);
More information about the wine-cvs
mailing list