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


Пример драйвера чтения с магнитной полосой

Пример драйвера считывающего магнитной полосы демонстрирует создание универсального драйвера для считывающего магнитной полосы и предназначен для использования в качестве шаблона для создания нового драйвера. В этом примере используется User-Mode Driver Framework (UMDF) 2.0 и демонстрируются основные функциональные возможности, такие как получение устройства для монопольного доступа. Пример драйвера можно скомпилировать и развернуть на платформах x86, amd64 и Arm.

Требования

Пакет средств разработки программного обеспечения (SDK) 10 для Windows также является обязательным, но он устанавливается в составе Microsoft Visual Studio.

Для работы примера драйвера не требуется оборудование для чтения магнитных полос, так как он работает на программном устройстве. Если у вас есть аппаратное устройство, которое вы хотите использовать с примером, вы по-прежнему можете использовать драйвер, добавив идентификатор оборудования устройства в INF-файл.

Скачивание и извлечение примера

Примеры драйверов Для Windows доступны на сайте GitHub.

  1. Скачайте Windows-driver-samples-master.zip. Этот файл содержит все примеры пакета драйверов Windows (WDK).

  2. Извлеките Windows-driver-samples-master.zip в выбранное расположение на компьютере разработки. Это расположение будет называться как <sample_root> в оставшейся части этой статьи.

Открытие решения драйвера в Visual Studio

  1. В Windows Обозреватель перейдите к папке<sample_root>\pos\drivers\MagneticStripeReader.

  2. Дважды щелкните файл решения , MagneticStripeReader.sln , чтобы открыть решение с помощью Visual Studio.

  3. ZIP-файл проекта был скачан из Интернета, поэтому при открытии решения может отображаться предупреждение системы безопасности. В этом случае нажмите кнопку ОК , чтобы завершить загрузку проекта.

  4. В Visual Studio найдите Обозреватель решений. Если он еще не открыт, выберите Обозреватель решений в меню Вид. В Обозреватель решений можно просмотреть проект и содержащиеся в нем исходные файлы.

Создание примера с помощью Visual Studio

  1. На стандартной панели инструментов Visual Studio выберите платформу решения , соответствующую платформе операционной системы. Например, если вы используете 64-разрядную версию Windows, выберите x64. Если вы используете платформу Arm, вам потребуется использовать диспетчер конфигурации, чтобы добавить Arm в список целевых объектов.

  2. Выберите Сборка решения в меню Сборка .

Установка драйвера

  1. При сборке драйвер был подписан с тестовой сертификацией. Чтобы установить драйвер для тестирования, необходимо изменить конфигурацию загрузки, чтобы разрешить загрузку драйверов, подписанных с помощью тестового сертификата. Чтобы изменить параметр, откройте командную строку с повышенными привилегиями и введите команду:

    bcdedit.exe /set TESTSIGNING on

  2. Перезагрузите компьютер.

    Примечание

    Если тестовое подписывание было включено ранее, перезагрузка не требуется.

  3. В командной строке с повышенными привилегиями перейдите в папку, в которой был создан проект. Если вы создали отладочную сборку x64, эта папка будет иметь значение <project_root>\x64\Debug\SampleMagneticStripeReaderDrv.

    В этой папке вы увидите следующие файлы:

    Файл Описание
    SampleMagneticStripeReaderDrv.dll Файл драйвера.
    SampleMagneticStripeReaderDrv.inf INF-файл, содержащий сведения, необходимые для установки драйвера.
    samplemagneticstripereaderdrv.cat Подписанный файл каталога, который служит подписью для всего пакета.
  4. Определите путь к служебной программе консоли устройств (devcon.exe), которая соответствует вашей операционной системе и платформе драйверов. По умолчанию для версии x64 используется C:\Program Files (x86)\Windows Kits\10\Tools\x64расположение .

  5. Введите следующую команду, заменив <devcon_path> путем к файлу devcon.exe, который вы нашли на предыдущем шаге.

    "<devcon_path>\devcon.exe" install SampleMagneticStripeReaderDrv.inf Root\SampleMagneticStripeReaderDrv

  6. Вы увидите диалоговое окно Безопасность Windows с сообщением о том, что издателя драйвера не удается проверить. Это связано с тем, что драйвер был подписан с помощью тестового сертификата. В любом случае щелкните Установить это программное обеспечение драйвера. Через некоторое время вы увидите подтверждение правильности установки драйвера.

Если служебная программа консоли устройств не смогла установить драйвер, убедитесь, что вы использовали тот, который соответствует текущей платформе ОС и платформе драйвера.

Просмотр устройства в диспетчер устройств

  1. Откройте диспетчер устройств. Это можно сделать разными способами, но если вы все еще находитесь в командной строке, введите devmgmt.

  2. В диспетчер устройств выберите Устройства по типу в меню Вид.

  3. Устройство отображается в узле Примеры .