Поделиться через


Функция 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

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

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

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

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

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

Примеры

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

Монитор Резолюция Положение рабочего стола Режим цвета
1 1920x1080 @ 30Гц 0,0 SDR
2 1024x768 @ 30Гц 1024,0 SDRWCG
3 3840x2160 @ 30Гц 0,1848 HDR

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

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

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

Монитор Флаги Подробности
1 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Нет изменений в текущих данных режима
2 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Настройка нового цветового режима
3 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Нет изменений в текущих данных режима

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

Монитор Флаги Подробности
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

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

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

Монитор Флаги Подробности
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 из текущей конфигурации

Монитор Флаги Подробности
1 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Нет изменений в текущих данных режима
3 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID Нет изменений в текущих данных режима

Требования

Требование Ценность
минимальные поддерживаемые клиентские Обновление Windows 11 версии 22H2 сентября (IddCx версии 1.10)
заголовка iddcx.h

См. также

IDARG_IN_ADAPTERDISPLAYCONFIGUPDATE2