* autoload.cc (IsWow64Process): Remove.

(Wow64DisableWow64FsRedirection): Remove.
	(Wow64RevertWow64FsRedirection): Remove.
	* ntdll.h (enum _PROCESSINFOCLASS): Define ProcessWow64Information.
	* init.cc (respawn_wow64_process): Use NtQueryInformationProcess to
	get WOW64 state.
	* wincap.cc (wincapc::init): Ditto.
	* wincap.h (wincapc::wow64): Change type to ULONG.
This commit is contained in:
Corinna Vinschen
2008-04-28 08:47:06 +00:00
parent 533ce3fb55
commit aacf1864d8
6 changed files with 24 additions and 11 deletions

View File

@@ -11,6 +11,7 @@ details. */
#include "winsup.h"
#include "security.h"
#include "ntdll.h"
/* Minimal set of capabilities which is equivalent to NT4. */
static NO_COPY wincaps wincap_unknown = {
@@ -394,7 +395,10 @@ wincapc::init ()
if (has_osversioninfoex && version.wProductType != VER_NT_WORKSTATION)
((wincaps *)caps)->is_server = true;
if (IsWow64Process (GetCurrentProcess (), &wow64) && !wow64)
if (NT_SUCCESS (NtQueryInformationProcess (GetCurrentProcess (),
ProcessWow64Information,
&wow64, sizeof wow64, NULL))
&& !wow64)
{
((wincaps *)caps)->needs_count_in_si_lpres2 = false;
((wincaps *)caps)->has_restricted_stack_args = false;