diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2008-04-28 08:47:06 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2008-04-28 08:47:06 +0000 |
commit | aacf1864d89d9cf6b80b517655605ee73720e40a (patch) | |
tree | 7ed5815983554596092838a5096af8e91eaac8ac /winsup/cygwin/wincap.cc | |
parent | 533ce3fb55349f6d9fcfd000be47f2dd52446de8 (diff) | |
download | cygnal-aacf1864d89d9cf6b80b517655605ee73720e40a.tar.gz cygnal-aacf1864d89d9cf6b80b517655605ee73720e40a.tar.bz2 cygnal-aacf1864d89d9cf6b80b517655605ee73720e40a.zip |
* 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.
Diffstat (limited to 'winsup/cygwin/wincap.cc')
-rw-r--r-- | winsup/cygwin/wincap.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc index eee302036..4ce3ca1ce 100644 --- a/winsup/cygwin/wincap.cc +++ b/winsup/cygwin/wincap.cc @@ -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; |