diff --git a/reactos/dll/ntdll/ldr/startup.c b/reactos/dll/ntdll/ldr/startup.c index 49a4a2c8527..4af6ebd7eb3 100644 --- a/reactos/dll/ntdll/ldr/startup.c +++ b/reactos/dll/ntdll/ldr/startup.c @@ -71,10 +71,8 @@ LoadImageFileExecutionOptions(PPEB Peb) { NTSTATUS Status = STATUS_SUCCESS; ULONG Value = 0; - UNICODE_STRING ValueString; UNICODE_STRING ImageName; UNICODE_STRING ImagePathName; - WCHAR ValueBuffer[64]; ULONG ValueSize; if (Peb->ProcessParameters && @@ -106,21 +104,14 @@ LoadImageFileExecutionOptions(PPEB Peb) /* global flag */ Status = LdrQueryImageFileExecutionOptions(&ImageName, L"GlobalFlag", - REG_SZ, - (PVOID)ValueBuffer, - sizeof(ValueBuffer), + REG_DWORD, + (PVOID)&Value, + sizeof(Value), &ValueSize); if (NT_SUCCESS(Status)) { - ValueString.Buffer = ValueBuffer; - ValueString.Length = ValueSize - sizeof(WCHAR); - ValueString.MaximumLength = sizeof(ValueBuffer); - Status = RtlUnicodeStringToInteger(&ValueString, 16, &Value); - if (NT_SUCCESS(Status)) - { - Peb->NtGlobalFlag |= Value; - DPRINT("GlobalFlag: Key='%S', Value=0x%lx\n", ValueBuffer, Value); - } + Peb->NtGlobalFlag = Value; + DPRINT("GlobalFlag: Value=0x%lx\n", Value); } /* * FIXME: