- RtlWriteRegistryValue(RTL_REGISTRY_CONTROL,
- L"Session Manager\\Environment",
- L"PROCESSOR_IDENTIFIER",
- REG_SZ,
- Buffer,
- (wcslen(Buffer) + 1) * sizeof(WCHAR));
+ RtlInitUnicodeString(&VariableName, L"PROCESSOR_IDENTIFIER");
+ swprintf(Buffer, L"%wZ, %wZ", &Identifier, &VendorIdentifier);
+ RtlFreeUnicodeString(&VendorIdentifier);
+ RtlFreeUnicodeString(&Identifier);
+
+ Status = NtSetValueKey(EnvironmentKey,
+ &VariableName,
+ 0,
+ REG_SZ,
+ Buffer,
+ (wcslen(Buffer) + 1) * sizeof(WCHAR));
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("SM: Failed to set the PROCESSOR_IDENTIFIER environment variable (Status %08lx)", Status);
+ goto done;