Как развернуть драйвер файловой системы? - PullRequest
0 голосов
/ 09 июля 2020

Я пытался протестировать этот образец драйвера минифильтра файловой системы . У меня проблема с развертыванием, потому что это не настоящий драйвер устройства (драйвер не PnP).

В Visual Studio на странице проекта свойство : Установка драйвера -> Развертывание . Если я выберу «Обновление идентификатора оборудования», я не знаю, каков идентификатор оборудования для драйвера, и не могу увидеть его в файле .INF.

Если я выберу «Установить / переустановить и проверить» -> «Задача установки пакета драйверов по умолчанию (возможная перезагрузка)», я получаю Driver Deployment Task Failed: Default Driver Package Installation Task ошибку.

Параметры развертывания в VS

Я проверил эту и эту страницу, но не нашел ничего, кроме того, как подготовить файл .INF.

Как можно Я развертываю этот драйвер на своей целевой машине? Спасибо.

1 Ответ

0 голосов
/ 20 июля 2020

На самом деле вам не нужен файл INF для установки драйвера мини-фильтра.

Сначала создайте службу драйвера ядра с помощью команды «s c create» из командной строки или вызовите «CreateService» из ваша программа установки, если вы хотите автоматизировать развертывание.

Затем добавьте некоторые изменения реестра, как показано ниже (из Norton 360), с помощью редактора реестра или еще раз с помощью API-интерфейсов реестра Win32 в вашей программе установки:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SymEFASI\Instances]
"DefaultInstance"="SymEFASI"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SymEFASI\Instances\SymEFASI]
"Flags"=dword:00000000
"Altitude"="260610"

Замените «SymEFASI» на имя службы вашего драйвера при запуске «s c create» или вызове «CreateService». Самая важная часть - «Высота». Он должен быть уникальным в вашей системе, иначе диспетчер фильтров не загрузит ваш драйвер из-за конфликтов. Для формального продукта, развертываемого в реальном мире для конечных пользователей, вам необходимо подать заявку на получение уникального номера, присвоенного Microsoft. Это также важно, потому что драйверы мини-фильтров классифицируются по уровням. Каждый слой имеет свои собственные функции. Если ваш драйвер находится на неправильном слое, вы можете не увидеть правильные данные или поведение, которое вам нужно.

После того, как все вышесказанное будет выполнено, последнее, что нужно сделать, это запустить «s c start» или вызвать « StartService ».

...