private static string MonitorFriendlyName(NativeMethods.LUID adapterId, uint targetId) { var deviceName = new NativeMethods.DISPLAYCONFIG_TARGET_DEVICE_NAME(); deviceName.header.size = (uint)Marshal.SizeOf(typeof(NativeMethods.DISPLAYCONFIG_TARGET_DEVICE_NAME)); deviceName.header.adapterId = adapterId; deviceName.header.id = targetId; deviceName.header.type = NativeMethods.DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME; int error = NativeMethods.DisplayConfigGetDeviceInfo(ref deviceName); if (error != NativeMethods.ERROR_SUCCESS) { throw new Win32Exception(error); } return(deviceName.monitorFriendlyDeviceName); }
static bool Equals(NativeMethods.LUID a, NativeMethods.LUID b) { return(a.HighPart == b.HighPart && a.LowPart == b.LowPart); }