磁気ストライプ リーダー ドライバーのサンプル

磁気ストライプ リーダー ドライバーのサンプルでは、磁気ストライプ リーダー用のユニバーサル ドライバーを作成する方法を示し、新しいドライバーを作成するためのテンプレートとして使用することを目的としています。 このサンプルでは、ユーザー モード ドライバー フレームワーク (UMDF) 2.0 を使用し、デバイスの独占アクセス権を主張するなどの基本的な機能を実演しています。 サンプル ドライバーは、x86、amd64、Arm プラットフォームにコンパイルして展開できます。

要件

Windows Software Development Kit (SDK) 10 も必要ですが、これは Microsoft Visual Studio の一部としてインストールされます。

サンプル ドライバーは、ソフトウェア デバイスで動作するため、機能するために磁気ストライプ リーダー ハードウェアを必要としません。 サンプルで使用するハードウェア デバイスがある場合でも、INF ファイルにデバイス ハードウェア ID を追加することで、ドライバーを使用できます。

サンプルのダウンロードと抽出

Windows ドライバーのサンプル は GitHub で入手できます。

  1. Windows-driver-samples-master.zip をダウンロード します。 このファイルには、すべての Windows Driver Kit (WDK) サンプルが含まれています。

  2. Windows-driver-samples-master.zip を開発マシンの好きな場所に展開してください。 この場所は、この記事の残りの部分では <sample_root> として参照されます。

Visual Studio でドライバー ソリューション ファイルを開く

  1. Windows Explorerで、<sample_root>\pos\drivers\MagneticStripeReader フォルダーに移動します。

  2. ソリューション ファイル MagneticStripeReader.sln をダブルクリックして、Visual Studio でソリューションを開きます。

  3. プロジェクトの zip ファイルはインターネットからダウンロードされているため、ソリューションを開くとセキュリティ警告が表示されることがあります。 その場合は [OK] をクリックして、プロジェクトの読み込みを完了します。

  4. Visual Studio で、ソリューション エクスプローラーを見つけます。 これがまだ開いていない場合は、[表示] メニューから [ソリューション エクスプローラー] を選択します。 ソリューション エクスプローラーでは、プロジェクトとそのプロジェクトに含まれるソース ファイルを確認できます。

Visual Studio を使用してサンプルを構築する

  1. Visual Studio の [標準] ツール バーから、オペレーティング システム プラットフォームに一致するソリューション プラットフォームを選択します。 たとえば、64 ビット 版の Windows を使用している場合は、x64 を選択します。 Arm プラットフォームをターゲットとする場合は、構成マネージャーを使用してターゲットのリストに Arm を追加する必要があります。

  2. [ビルド] メニューの [ソリューションのビルド] をクリックします。

ドライバーをインストールする

  1. ビルド時に、ドライバーはテスト認定で署名されました。 テスト用のドライバーをインストールするには、テスト証明書で署名されたドライバーの読み込みを許可するようにブート構成を変更する必要があります。 設定を変更するには、管理者特権のコマンド プロンプトを開き、コマンドを入力します。

    bcdedit.exe /set TESTSIGNING on

  2. コンピューターを再起動します。

    Note

    以前にテスト署名が有効になっていた場合、再起動は必要ありません。

  3. 管理者特権でのコマンド プロンプトから、プロジェクトがビルドされたフォルダーに移動します。 x64 デバッグ ビルドを作成した場合、このフォルダーは <project_root>\x64\Debug\SampleMagneticStripeReaderDrv になります。

    そのフォルダーには、次のファイルが表示されます :

    ファイル 説明
    SampleMagneticStripeReaderDrv.dll ドライバー ファイル。
    SampleMagneticStripeReaderDrv.inf ドライバーのインストールに必要な情報を含む情報 (INF) ファイル。
    samplemagneticstripereaderdrv.cat パッケージ全体の署名として機能する署名されたカタログ ファイル。
  4. OS とドライバー プラットフォームに一致する Device Console ユーティリティ (devcon.exe) へのパスを特定します。 x64 バージョンの既定場所は C:\Program Files (x86)\Windows Kits\10\Tools\x64 です。

  5. 前の手順で見つけた devcon.exe ファイルへのパスに <devcon_path> を置き換えて、次のコマンドを入力します。

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

  6. ドライバーの発行元を確認できないことを通知する Windows セキュリティダイアログが表示されます。 これは、ドライバーがテスト証明書で署名されているためです。 [このドライバーのソフトウェアをインストールする] をクリックします。 しばらくすると、ドライバーが正しくインストールされたことを確認するメッセージが表示されます。

デバイス コンソール ユーティリティでドライバーをインストールできなかった場合は、現在の OS プラットフォームとドライバーのプラットフォームに一致するものを使用していることを確認します。

デバイス マネージャーでデバイスを表示する

  1. デバイス マネージャーを開きます。 これは多くの方法で実行できますが、コマンド プロンプトを開いたままの場合は、「devmgmt」と入力します。

  2. デバイス マネージャーで、[表示] メニューから [タイプ別デバイス] を選択します。

  3. デバイスが [サンプル] ノードの下に表示されます。