I started to search github for code that accesses "monitorFriendlyDeviceName" and found this snippet in the chrome code:
Code:
// Gets a user-friendly name for a given display using EDID data. Returns an
// empty string if the provided path is unset/nullopt or EDID data is not
// available for the device.
std::string GetFriendlyDeviceName(
const absl::optional<DISPLAYCONFIG_PATH_INFO>& path) {
if (!path)
return std::string();
DISPLAYCONFIG_TARGET_DEVICE_NAME targetName = {};
targetName.header.type = DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME;
targetName.header.size = sizeof(targetName);
targetName.header.adapterId = path->targetInfo.adapterId;
targetName.header.id = path->targetInfo.id;
LONG result = DisplayConfigGetDeviceInfo(&targetName.header);
if (result == ERROR_SUCCESS && targetName.flags.friendlyNameFromEdid)
return base::WideToUTF8(targetName.monitorFriendlyDeviceName);
return std::string();
}
So it appears that the flags determine where the monitor friendly name comes from and just like Vanguard3000 said it appears to be derived from the EDID which in this case makes it worthless.
I am going to change the patch to use the deviceName info to see if that is unique.