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