{
WCHAR wbuf[MAX_PATH];
char buf[PATH_MAX];
- BOOL iswow64 = FALSE;
wbuf[0] = L'\0';
switch (option)
case 'S':
GetSystemDirectoryW (wbuf, MAX_PATH);
- if (!windows_flag
- && IsWow64Process (GetCurrentProcess (), &iswow64) && iswow64)
- {
- /* When calling NtQueryInformationFile(FileNameInformation) on WOW64,
- the returned path will point to SysWOW64. This breaks path
- redirection to the network related files under device/etc. This
- here is a bad hack to make sure that the conversion will convert
- the case *and* stick to System32. */
- PWCHAR last_bs = wcsrchr (wbuf, L'\\');
- if (last_bs)
- wcpcpy (last_bs + 1, L"Sysnative");
- }
break;
case 'W':
|| osversion.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)
exit (EXIT_FAILURE);
- BOOL is_wow64 = FALSE;
- if (IsWow64Process (GetCurrentProcess (), &is_wow64) && is_wow64)
- {
- SYSTEM_INFO natinfo;
- GetNativeSystemInfo (&natinfo);
- fputs ("\nRunning under WOW64 on ", stdout);
- switch (natinfo.wProcessorArchitecture)
- {
- case PROCESSOR_ARCHITECTURE_IA64:
- puts ("IA64");
- break;
- case PROCESSOR_ARCHITECTURE_AMD64:
- puts ("AMD64");
- break;
- default:
- puts("??");
- break;
- }
- }
-
if (GetSystemMetrics (SM_REMOTESESSION))
printf ("\nRunning in Terminal Service session\n");