/// <summary> /// Applies one or more path information configurations /// </summary> /// <param name="pathInfos">An array of path information configuration</param> /// <param name="flags">DisplayConfigFlags flags</param> public static void SetDisplaysConfig(PathInfo[] pathInfos, DisplayConfigFlags flags) { try { var configsV2 = pathInfos.Select(config => config.GetPathInfoV2()).Cast <IPathInfo>().ToArray(); DisplayApi.SetDisplayConfig(configsV2, flags); configsV2.DisposeAll(); } catch (NVIDIAApiException ex) { if (ex.Status != Status.IncompatibleStructureVersion) { throw; } } catch (NVIDIANotSupportedException) { // ignore } var configsV1 = pathInfos.Select(config => config.GetPathInfoV1()).Cast <IPathInfo>().ToArray(); DisplayApi.SetDisplayConfig(configsV1, flags); configsV1.DisposeAll(); }