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