Компоненты распространяемой платформы
Примечание.
Если драйвер предназначен только для Windows 10 или более поздней версии, вам не нужно распространять WDF или предоставлять Монетталлер в пакете драйвера. Необходимые действия:
- В Visual Studio на странице свойств "Параметры проекта" в разделе "Параметры драйвера -> Целевая версия ОС" выберите Windows 10 или более поздней. Это эквивалентно добавлению следующего в файл .vcxproj:
<PropertyGroup Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
- В разделе производителя INF укажите 10.0 в качестве целевой версии ОС, как показано ниже.
[Manufacturer]
%MyMfg% = MyMfg, NTamd64.10.0
В этом разделе описаны обновления распространяемой платформы, предоставляемые Корпорацией Майкрософт, которые включены в состав комплекта драйверов Windows (WDK) и как определить, какие из них необходимо добавить в пакет драйвера.
Обновления распространяемой платформы позволяют запускать драйвер, созданный с более поздней версией платформы, чем тот, который входит в операционную систему. Например, KMDF 1.11 входит в Windows 8. Но вы можете запустить драйвер KMDF 1.11 в Windows Vista или Windows 7. Прежде чем это сделать, необходимо убедиться, что библиотека платформы KMDF 1.11 заменяет библиотеку платформы, включенную в более раннюю операционную систему (в этом случае KMDF 1.7 и KMDF 1.9 соответственно). Для этого необходимо распространить предоставленный корпорацией Майкрософт совместно установщик или MSU-файл с пакетом драйвера.
Когда нужно включить в пакет драйвера совместное установщик или MSU?
Сначала определите, какие версии Windows будет поддерживать ваш драйвер. На основе этого определите , какую версию платформы следует использовать.
Если выбранная версия WDF является более последней, чем версия, которая поставляется с целевой ОС, добавьте в пакет драйвера файл совместного установщика или MSU.
Например, вы хотите, чтобы драйвер выполнялся в Windows 7. Вы можете создать драйвер с помощью WDF 1.11 или WDF 1.9. Если выбрать версию 1.9, которая предоставляется в Windows 7, обновление системы не требуется. С другой стороны, если выбрать версию 1.11, необходимо включить пакет обновления WDF 1.11 с драйвером.
Следует ли включать в состав установщика или MSU-файл?
Если установка драйвера активируется путем подключения нового аппаратного устройства к системе и установки только драйвера, включите в пакет драйвера совместное установщик. Затем обратитесь к совместному установщику в INF-файле, как описано в разделе "Указание совместного установщика KMDF" в INF-файле.
Если необходимо установить приложение в дополнение к драйверу, вместо этого следует распространить соответствующий пакет MSU (например, kmdf-1.11-Win.6.0.msu) вместе с приложением установки, которое вызывает его. В этом случае не требуются записи INF.
Вам никогда не нужен как совместно установщик, так и MSU-файл.
Где можно найти эти файлы и что включено?
Эти файлы больше не включены в WDK. Вместо этого они доступны как отдельная загрузка из Центра загрузки Майкрософт. Страница загрузки — это распространяемые компоненты пакета драйверов Windows 8.
После установки MSU и соустановки можно найти в разделе %program files%\Windows Kits\8.0\redist\wdf
.
Этот каталог содержит следующие файлы для x86 и x64:
- WdfCoinstaller01007.dll, WdfCoinstaller01009.dll, WdfCoinstaller01011.dll (совместное установщики для KMDF 1.7/1.9/1.11).
- WUDFUpdate_01007.dll, WUDFUpdate_01009.dll, WUDFUpdate_01011.dll (совместно установщики для UMDF).
- winusbcoinstaller.dll, winusbcoinstaller2.dll (совместно установщики для WinUSB 1.5/1.9).
Совместное именование установщика и управление версиями
Совместного установщика называется WdfCoInstallerMMmmm.dll.
- MM — это основной номер версии.
- mmm — это дополнительный номер версии.
Например, имя файла для версии 1.0 со установщика WdfCoInstaller01000.dll, а имя файла для версии 1.11 — WdfCoInstaller01011.dll.
Версия совместного установщика, включенного в пакет драйвера, должна соответствовать версии библиотеки платформы, используемой для разработки драйвера.
Обратите внимание, что имя файла библиотеки платформы содержит только основной номер версии. Дополнительные сведения о именах файлов библиотек см. в разделе "Управление версиями библиотеки Платформы".