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


Сборка драйверов IddCx 1.4

Из-за изменений, внесенных в IddCx 1.3 для Windows 10 версии 1809, косвенный драйвер отображения (IDD), созданный для IddCx версии 1.4, может работать в Windows 10 версии 1809 с помощью проверок среды выполнения, чтобы проверить, доступны ли изменения DDI в IddCx 1.4 в этой системе. Дополнительные сведения см. в статье о создании драйвера WDF для нескольких версий Windows .

Начиная с IddCx 1.4, драйвер IddCx можно создать для установки в Windows 10 версии 1803 и более поздних версий, выполнив указанные ниже действия. ПРИМЕЧАНИЕ. Этот драйвер не загружается в Windows 10 версии 1607–1709.

  • Создайте и свяжите драйвер с помощью заголовков и библиотек IddCx 1.4 из комплекта драйверов Windows (WDK).
  • Задайте для IDDCX_MINIMUM_VERSION_REQUIRED значение 3 в среде сборки. Это сообщает ОС минимальную версию IddCx, для которой был создан драйвер, в данном случае 1.3.
  • При инициализации структур IddCx используйте соответствующий макрос XXX_INIT. Например, используйте макрос IDD_CX_CLIENT_CONFIG_INIT() для инициализации структуры IDD_CX_CLIENT_CONFIG. Макрос использует код среды выполнения, чтобы установить правильный размер для поля Size в соответствии с версией IddCx, под которой работает драйвер.
  • Используйте макрос IDD_IS_FIELD_AVAILABLE(), чтобы определить, содержится ли в структуре, переданной драйверу из IddCx, это поле. ПРИМЕЧАНИЕ. IddCx 1.4 не расширял существующие структуры, передаваемые из IddCx в драйвер, поэтому этот макрос не должен использоваться в IddCx 1.4.
  • Используйте макрос IDD_IS_FUNCTION_AVAILABLE(), чтобы определить, доступна ли данная функция IddCx в ОС, на котором запущен драйвер. Например, используйте IDD_IS_FUNCTION_AVAILABLE(IddCxAdapterSetRenderAdapter), чтобы определить, поддерживается ли функция IddCxAdapterSetRenderAdapter() в этой операционной системе.

В следующей таблице перечислены версии IddCx, поддерживаемые различными выпусками ОС.

Версия ОС Версия IddCx, поставляемая с ОС Версия iddCx драйверов, которые могут выполняться
1607 (RS1) 1.0 1.0
1703 (RS2) 1.0 1.0
1709 (RS3) 1.2 1.0 и 1.2
1803 (RS4) 1.3 1.0-1.3 и 1.4 выше(*)
1809 (RS5) 1.3 1.0-1.3 и 1.4 выше(*)
1903 (19H1) 1.4 1.0-1.3 и 1.4 выше(*)
1909 (19H2) 1.4 1.0-1.3 и 1.4 выше(*)
2004 (20H1) 1.4 1.0-1.3 и 1.4 выше(*)
Не применимо 1,6 1.0-1.3 и 1.4 выше(*)

* IDD, совместимый с IddCx 1.4 и более поздних версий, должен использовать динамические макросы, такие как IDD_IS_FUNCTION_AVAILABLE(), чтобы определять во время выполнения, какие функции ОС он может вызывать. Эти динамические макросы определены в iddcx.h.

Для поддержки всех возможных версий Windows:

  • Напишите драйвер IddCx 1.0 для Windows 10 версии 1607–1709.
  • Напишите один драйвер IddCx 1.4 или более поздней версии для Windows 10 версии 1803 и более поздних версий.