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


Установка устройств в 64-разрядных системах

Если устройство будет установлено как на 32-разрядных, так и на 64-разрядных платформах, при создании пакета драйверов необходимо выполнить следующие действия.

  • Предоставьте 32-разрядные и 64-разрядные компиляции всех драйверов в режиме ядра, приложений установки устройств, установщиков классов и совместного установщика. Дополнительные сведения см. в статье Перенос драйвера в 64-разрядную версию Windows.

  • Предоставьте один или несколько кроссплатформенных INF-файлов, которые используют декорированные разделы INF для управления поведением установки для конкретной платформы.

Если вы пишете приложение установки устройства, 32-разрядная версия должна быть версией по умолчанию. Это значит, что 32-разрядная версия должна вызываться при автозапуске (описано в документации по Microsoft Windows SDK), чтобы она запускалась автоматически при вставке пользователем диска распространителя.

32-разрядная версия приложения должна проверка значение, возвращаемое UpdateDriverForPlugAndPlayDevices. Если возвращаемое значение равно ERROR_IN_WOW64, 32-разрядное приложение выполняется на 64-разрядной платформе и не может обновлять драйверы для папки "Входящие". Вместо этого он должен вызвать CreateProcess (описано в документации windows SDK), чтобы запустить 64-разрядную версию приложения. Затем 64-разрядная версия может вызвать UpdateDriverForPlugAndPlayDevices, указав параметр FullInfPath , определяющий расположение 64-разрядных версий всех файлов.