[PATCH 3/3] kernel32: Implement SetProcessDEPPolicy().
Zebediah Figura
z.figura12 at gmail.com
Thu Jan 28 22:08:22 CST 2021
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
dlls/kernel32/process.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 227d49ea37e..085fff1454e 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -562,11 +562,19 @@ DEP_SYSTEM_POLICY_TYPE WINAPI GetSystemDEPPolicy(void)
/**********************************************************************
* SetProcessDEPPolicy (KERNEL32.@)
*/
-BOOL WINAPI SetProcessDEPPolicy(DWORD newDEP)
+BOOL WINAPI SetProcessDEPPolicy( DWORD flags )
{
- FIXME("(%d): stub\n", newDEP);
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return FALSE;
+ ULONG dep_flags = 0;
+
+ TRACE("%#x\n", flags);
+
+ if (flags & PROCESS_DEP_ENABLE)
+ dep_flags |= MEM_EXECUTE_OPTION_DISABLE | MEM_EXECUTE_OPTION_PERMANENT;
+ if (flags & PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION)
+ dep_flags |= MEM_EXECUTE_OPTION_DISABLE_THUNK_EMULATION;
+
+ return set_ntstatus( NtSetInformationProcess( GetCurrentProcess(), ProcessExecuteFlags,
+ &dep_flags, sizeof(dep_flags) ) );
}
/**********************************************************************
--
2.30.0
More information about the wine-devel
mailing list