Commit 4022fb9b authored by Alexandre Julliard's avatar Alexandre Julliard

server: Don't report alternate 64-bit machines as supported.

parent 818b5777
...@@ -3385,24 +3385,24 @@ NTSTATUS WINAPI NtQuerySystemInformationEx( SYSTEM_INFORMATION_CLASS class, ...@@ -3385,24 +3385,24 @@ NTSTATUS WINAPI NtQuerySystemInformationEx( SYSTEM_INFORMATION_CLASS class,
ret = STATUS_BUFFER_TOO_SMALL; ret = STATUS_BUFFER_TOO_SMALL;
break; break;
} }
for (i = 0; i < supported_machines_count; i++) memset( machines, 0, len );
/* native machine */
machines[0].Machine = supported_machines[0];
machines[0].UserMode = 1;
machines[0].KernelMode = 1;
machines[0].Native = 1;
machines[0].Process = (supported_machines[0] == machine || is_machine_64bit( machine ));
machines[0].WoW64Container = 0;
machines[0].ReservedZero0 = 0;
/* wow64 machines */
for (i = 1; i < supported_machines_count; i++)
{ {
machines[i].Machine = supported_machines[i]; machines[i].Machine = supported_machines[i];
machines[i].UserMode = 1; machines[i].UserMode = 1;
machines[i].KernelMode = machines[i].Native = i == 0;
machines[i].Process = supported_machines[i] == machine; machines[i].Process = supported_machines[i] == machine;
machines[i].WoW64Container = 0; machines[i].WoW64Container = 1;
machines[i].ReservedZero0 = 0;
} }
machines[i].Machine = 0;
machines[i].KernelMode = 0;
machines[i].UserMode = 0;
machines[i].Native = 0;
machines[i].Process = 0;
machines[i].WoW64Container = 0;
machines[i].ReservedZero0 = 0;
ret = STATUS_SUCCESS; ret = STATUS_SUCCESS;
break; break;
} }
......
...@@ -1857,10 +1857,9 @@ static void init_supported_machines(void) ...@@ -1857,10 +1857,9 @@ static void init_supported_machines(void)
if (prefix_type == PREFIX_64BIT) if (prefix_type == PREFIX_64BIT)
{ {
supported_machines[count++] = IMAGE_FILE_MACHINE_ARM64; supported_machines[count++] = IMAGE_FILE_MACHINE_ARM64;
supported_machines[count++] = IMAGE_FILE_MACHINE_AMD64;
supported_machines[count++] = IMAGE_FILE_MACHINE_I386; supported_machines[count++] = IMAGE_FILE_MACHINE_I386;
/* supported_machines[count++] = IMAGE_FILE_MACHINE_ARMNT; not supported yet */
} }
supported_machines[count++] = IMAGE_FILE_MACHINE_ARMNT;
#else #else
#error Unsupported machine #error Unsupported machine
#endif #endif
...@@ -1877,15 +1876,9 @@ void init_registry(void) ...@@ -1877,15 +1876,9 @@ void init_registry(void)
static const WCHAR classes_i386[] = {'S','o','f','t','w','a','r','e','\\', static const WCHAR classes_i386[] = {'S','o','f','t','w','a','r','e','\\',
'C','l','a','s','s','e','s','\\', 'C','l','a','s','s','e','s','\\',
'W','o','w','6','4','3','2','N','o','d','e'}; 'W','o','w','6','4','3','2','N','o','d','e'};
static const WCHAR classes_amd64[] = {'S','o','f','t','w','a','r','e','\\',
'C','l','a','s','s','e','s','\\',
'W','o','w','6','4','6','4','N','o','d','e'};
static const WCHAR classes_arm[] = {'S','o','f','t','w','a','r','e','\\', static const WCHAR classes_arm[] = {'S','o','f','t','w','a','r','e','\\',
'C','l','a','s','s','e','s','\\', 'C','l','a','s','s','e','s','\\',
'W','o','w','A','A','3','2','N','o','d','e'}; 'W','o','w','A','A','3','2','N','o','d','e'};
static const WCHAR classes_arm64[] = {'S','o','f','t','w','a','r','e','\\',
'C','l','a','s','s','e','s','\\',
'W','o','w','A','A','6','4','N','o','d','e'};
static const WCHAR perflib[] = {'S','o','f','t','w','a','r','e','\\', static const WCHAR perflib[] = {'S','o','f','t','w','a','r','e','\\',
'M','i','c','r','o','s','o','f','t','\\', 'M','i','c','r','o','s','o','f','t','\\',
'W','i','n','d','o','w','s',' ','N','T','\\', 'W','i','n','d','o','w','s',' ','N','T','\\',
...@@ -1956,8 +1949,7 @@ void init_registry(void) ...@@ -1956,8 +1949,7 @@ void init_registry(void)
{ {
case IMAGE_FILE_MACHINE_I386: name.str = classes_i386; name.len = sizeof(classes_i386); break; case IMAGE_FILE_MACHINE_I386: name.str = classes_i386; name.len = sizeof(classes_i386); break;
case IMAGE_FILE_MACHINE_ARMNT: name.str = classes_arm; name.len = sizeof(classes_arm); break; case IMAGE_FILE_MACHINE_ARMNT: name.str = classes_arm; name.len = sizeof(classes_arm); break;
case IMAGE_FILE_MACHINE_AMD64: name.str = classes_amd64; name.len = sizeof(classes_amd64); break; default: continue;
case IMAGE_FILE_MACHINE_ARM64: name.str = classes_arm64; name.len = sizeof(classes_arm64); break;
} }
if ((key = create_key_recursive( hklm, &name, current_time ))) if ((key = create_key_recursive( hklm, &name, current_time )))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment