Функция IddCxAdapterDisplayConfigUpdate2 (iddcx.h)

Удаленный драйвер может вызвать IddCxAdapterDisplayConfigUpdate2 , чтобы позволить клиенту сообщить серверу, как обновить конфигурацию монитора.

Синтаксис

HRESULT IddCxAdapterDisplayConfigUpdate2(
  IDDCX_ADAPTER                              AdapterObject,
  const IDARG_IN_ADAPTERDISPLAYCONFIGUPDATE2 *pInArgs
);

Параметры

AdapterObject

[in] Объект IDDCX_ADAPTER удаленного адаптера, для котором задана конфигурация отображения.

pInArgs

[in] Указатель на структуру IDARG_IN_ADAPTERDISPLAYCONFIGUPDATE2 , содержащую входные аргументы функции.

Возвращаемое значение

IddCxAdapterDisplayConfigUpdate2 возвращает STATUS_SUCCESS при успешном выполнении; В противном случае возвращается соответствующий код ошибки.

Комментарии

Драйвер удаленного непрямого дисплея может вызвать IddCxAdapterDisplayConfigUpdate2 , чтобы задать режим, цветоиметрию и другие значения, которые ОС должна использовать для определенного монитора. Только удаленные драйверы могут вызывать эту функцию.

Дополнительные сведения о поддержке HDR см. в разделе Обновления IddCx версии 1.10.

Структура IDDCX_DISPLAYCONFIGPATH2 определяется таким образом, что не вся информация должна предоставляться в каждом вызове. Например, некоторые пути могут не предоставлять данные цветометрии, если цветовой режим не является HDR или WCG, или iddCxAdapterDisplayConfigUpdate2 может быть вызван для обновления уровня белого SDR, только если изменения макета не требуются.

Режимы управления (установка флага IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID для пути) имеют некоторые дополнительные правила и пояснения:

  • Если какой-либо путь IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID задан , он должен быть задан для всех указанных путей.
  • Если IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID указан для всех путей, все активные в настоящее время пути, отсутствуют в списке путей, станут неактивными.
  • Если заданы только флаги, отличные от IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID , то должны присутствовать только обновляемые пути.
  • В зависимости от указанного цветового режима для пути могут потребоваться дополнительные данные. В следующей таблице показано, какие дополнительные флаги необходимо задать.
Цветовой режим IDDCX_DISPLAYCONFIGPATH2_FLAGS_MONITOR_COLORIMETRY_VALID IDDCX_DISPLAYCONFIGPATH2_FLAGS_MONITOR_SDRWHITELEVEL_VALID
SDR Нет Нет
SDRWCG Да Нет
HDR Да Да

Первый и последующий вызов IddCxAdapterDisplayConfigUpdate2

При первом включении пути в вызов IddCxAdapterDisplayConfigUpdate2 требования отличаются от последующих. Требования приведены в следующей таблице.

Поле "Путь" Требуется в начальном вызове пути Можно обновить после первоначального вызова Как клиент Windows получает сведения
Режим Да Да QueryDisplayConfig предоставляет конфигурацию отображения клиента и WM_DISPLAYCHANGE отправляется при изменении конфигурации отображения; AdvancedColorInfo.CurrentAdvancedColorKind предоставляет цветовой режим
Масштаб Да Да Драйверы могут использовать метод, используемый для IddCxAdapterDisplayConfigUpdate
Физический размер Да, если EDID не передан Нет Не требуется при передаче EDID
Колориметрия Да для цветового режима без SDR Да Большинство полей из соответствующих полей AdvancedColorInfo
Уровень белого SDR Да для цветового режима HDR, значение по умолчанию — 80 нит Да AdvancedColorInfo.SdrWhiteLevelInNits. Дополнительные сведения см. в статье DirectX with Advanced Color on HDR/SDR displays

Различия в поведении при работе в Windows 11 версии 22H2 с обновлением за сентябрь

Из-за базовых функциональных возможностей ОС поддержка драйверов, запрашивающих цветовые режимы HDR и WCG при работе в Windows 11 версии 22H2 сентябрьского обновления, немного отличается от поддержки при запуске на платформе Windows, выходящем в 2024 году. Драйвер может использовать функцию IddCxGetVersion для определения операционной системы, в которой он работает. В следующей таблице описывается, какие цветовые режимы может запрашивать драйвер в зависимости от дескриптора монитора, ранее предоставленного для ОС:

Тип Edid 22H2 Сентябрь Обновление возможных цветовых режимов Выпуск платформы в возможных цветовых режимах 2024
None SDR, HDR SDR, SDRWCG, HDR
SDR SDR, SDRWCG SDR, SDRWCG
HDR SDR, HDR SDR, SDRWCG, HDR

Примеры

Ниже приведены некоторые примеры путей для включения в последующие вызовы IddCxAdapterDisplayConfigUpdate2 . В начале каждого сценария удаленный сеанс имеет следующие настроенные пути:

Azure Monitor Решение Положение рабочего стола Цветовой режим
1 1920x1080 при 30 Гц 0,0 SDR
2 1024x768 при 30 Гц 1024,0 SDRWCG
3 3840x2160 при 30 Гц 0,1848 HDR

Сценарий 1. Изменение положения рабочего стола монитора 3 налево от монитора 1

Azure Monitor Флаги Сведения
1 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Нет изменений в данных текущего режима
2 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Нет изменений в данных текущего режима
3 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Изменение положения рабочего стола на -3840,0

Сценарий 2. Изменение монитора 2 с SDRWCG на SDR

Azure Monitor Флаги Сведения
1 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Нет изменений в данных текущего режима
2 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Установка нового цветового режима
3 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Нет изменений в данных текущего режима

Сценарий 3. Изменение монитора 1 с SDR на HDR

Azure Monitor Флаги Сведения
1 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID, IDDCX_DISPLAYCONFIGPATH2_FLAGS_MONITOR_COLORIMETRY_VALID, IDDCX_DISPLAYCONFIGPATH2_FLAGS_MONITOR_SDRWHITELEVEL_VALID Установка нового цветового режима, колориметрии и белого уровня SDR
2 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Нет изменений в данных текущего режима
3 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Нет изменений в данных текущего режима

Сценарий 4. Изменение коэффициента масштабирования монитора 2

Azure Monitor Флаги Сведения
2 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MONITOR_SCALE_FACTOR_VALID Установка нового коэффициента масштабирования

Сценарий 5. Изменение коэффициента масштабирования монитора 2 и положения рабочего стола монитора 3 налево от монитора 1

Azure Monitor Флаги Сведения
1 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Нет изменений в данных текущего режима
2 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID, IDDCX_DISPLAYCONFIGPATH2_FLAGS_MONITOR_SCALE_FACTOR_VALID Не изменяйте данные текущего режима, задайте новый коэффициент масштабирования
3 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Изменение положения рабочего стола на -3840,0

Сценарий 6. Удаление монитора 2 из текущей конфигурации

Azure Monitor Флаги Сведения
1 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Нет изменений в данных текущего режима
3 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Нет изменений в данных текущего режима

Требования

Требование Значение
Минимальная версия клиента Windows 11, версия 22H2 сентябрьское обновление (IddCx версии 1.10)
Верхняя часть iddcx.h

См. также раздел

IDARG_IN_ADAPTERDISPLAYCONFIGUPDATE2