Juan Lang : kernel32: Implement GetErrorMode/SetErrorMode on top of NTDLL.
Alexandre Julliard
julliard at winehq.org
Mon Aug 16 12:25:06 CDT 2010
Module: wine
Branch: master
Commit: 5e87ca772ed20897673f42eab18af313ef6fe316
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5e87ca772ed20897673f42eab18af313ef6fe316
Author: Juan Lang <juan.lang at gmail.com>
Date: Mon Jun 21 11:04:04 2010 -0700
kernel32: Implement GetErrorMode/SetErrorMode on top of NTDLL.
---
dlls/kernel32/process.c | 16 +++++++++++-----
1 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index fc170f9..65dc2eb 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -70,8 +70,6 @@ typedef struct
DWORD dwReserved;
} LOADPARMS32;
-static UINT process_error_mode;
-
static DWORD shutdown_flags = 0;
static DWORD shutdown_priority = 0x280;
static BOOL is_wow64;
@@ -2450,8 +2448,12 @@ BOOL WINAPI GetExitCodeProcess( HANDLE hProcess, LPDWORD lpExitCode )
*/
UINT WINAPI SetErrorMode( UINT mode )
{
- UINT old = process_error_mode;
- process_error_mode = mode;
+ UINT old;
+
+ NtQueryInformationProcess( GetCurrentProcess(), ProcessDefaultHardErrorMode,
+ &old, sizeof(old), NULL );
+ NtSetInformationProcess( GetCurrentProcess(), ProcessDefaultHardErrorMode,
+ &mode, sizeof(mode) );
return old;
}
@@ -2460,7 +2462,11 @@ UINT WINAPI SetErrorMode( UINT mode )
*/
UINT WINAPI GetErrorMode( void )
{
- return process_error_mode;
+ UINT mode;
+
+ NtQueryInformationProcess( GetCurrentProcess(), ProcessDefaultHardErrorMode,
+ &mode, sizeof(mode), NULL );
+ return mode;
}
/**********************************************************************
More information about the wine-cvs
mailing list