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


Сборка драйверов 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. Макрос использует код среды выполнения, чтобы задать для поля Размер правильный размер для версии 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 выше(*)

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

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

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