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

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

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

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

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

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