バーコード スキャナー ドライバーのサンプル
バーコード スキャナー ドライバーのサンプルでは、バーコード スキャナー用のユニバーサル ドライバーを作成する方法を示し、これは新しいバーコード スキャナー ドライバーを作成するためのテンプレートとして使用します。 このサンプルでは、ユーザー モード ドライバー フレームワーク (UMDF) 2.0 を使用し、デバイスの独占アクセス権を主張するなどの基本的な機能を実演しています。 サンプル ドライバーは、x86、amd64、Arm プラットフォームにコンパイルして展開できます。 ユニバーサル ドライバーの詳細については、「ユニバーサル INF ファイルの使用」を参照してください。
要件
Windows 10
Microsoft Visual Studio (任意のバージョン)
Windows Software Development Kit (SDK) 10 も必要ですが、これは Microsoft Visual Studio の一部としてインストールされます。
サンプル ドライバーは、ソフトウェア デバイス上で動作するため、バーコード スキャナー ハードウェアを機能させる必要はありません。 サンプルで使用するハードウェア デバイスがある場合でも、INF ファイルにデバイス ハードウェア ID を追加することで、ドライバーを使用できます。
サンプルのダウンロードと抽出
Windows ドライバーのサンプル は GitHub で入手できます。
Windows-driver-samples-master.zip をダウンロード します。 このファイルには、すべての Windows Driver Kit (WDK) サンプルが含まれています。
Windows-driver-samples-master.zip を開発マシンの好きな場所に展開してください。 この場所は、この記事の残りの部分では
<sample_root>
として参照されます。
Visual Studio でドライバー ソリューション ファイルを開く
Windows Explorerで、
<sample_root>\pos\drivers\barcodescanner
フォルダーに移動します。ソリューション ファイル BarcodeScanner.sln をダブルクリックして、Visual Studio でソリューションを開きます。
プロジェクトの zip ファイルはインターネットからダウンロードされているため、ソリューションを開くとセキュリティ警告が表示されることがあります。 その場合は [OK] を選択して、プロジェクトの読み込みを完了します。
Visual Studio で、ソリューション エクスプローラーを見つけます。 これがまだ開いていない場合は、[表示] メニューから [ソリューション エクスプローラー] を選択します。 ソリューション エクスプローラーでは、プロジェクトとそのプロジェクトに含まれるソース ファイルを確認できます。
Visual Studio を使用してサンプルを構築する
Visual Studio の [標準] ツール バーから、オペレーティング システム プラットフォームに一致するソリューション プラットフォームを選択します。 たとえば、64 ビット 版の Windows を使用している場合は、x64 を選択します。 Arm プラットフォームをターゲットとする場合は、構成マネージャーを使用してターゲットのリストに Arm を追加する必要があります。
[ビルド] メニューの [ソリューションのビルド] をクリックします。
ドライバーをインストールする
ビルド時に、ドライバーはテスト認定で署名されました。 テスト用のドライバーをインストールするには、テスト証明書で署名されたドライバーの読み込みを許可するようにブート構成を変更する必要があります。 設定を変更するには、管理者特権のコマンド プロンプトを開き、コマンドを入力します。
bcdedit.exe /set TESTSIGNING on
コンピューターを再起動します。 以前にテスト署名が有効になっていた場合、再起動は必要ありません。
管理者特権でのコマンド プロンプトから、プロジェクトがビルドされたフォルダーに移動します。 x64 デバッグ ビルドを作成した場合、このフォルダーは
<project_root>\x64\Debug\SampleBarcodeScannerDrv
になります。そのフォルダーには、次のファイルが表示されます :
ファイル 説明 SampleBarcodeScannerDrv.dll ドライバー ファイル。 SampleBarcodeScannerDrv.inf ドライバーのインストールに必要な情報を含む情報 (INF) ファイル。 samplebarcodescannerdrv.cat パッケージ全体の署名として機能する署名されたカタログ ファイル。 OS とドライバー プラットフォームに一致する Device Console ユーティリティ (devcon.exe) へのパスを特定します。 x64 バージョンの既定場所は
C:\Program Files (x86)\Windows Kits\10\Tools\x64
です。前の手順で見つけた devcon.exe ファイルへのパスに
<devcon\_path>
を置き換えて、以下のコマンドを入力します。<devcon_path>\devcon.exe install SampleBarcodeScannerDrv.inf Root\SampleBarcodeScannerDrv
ドライバーの発行元を確認できないことを通知する Windows セキュリティダイアログが表示されます。 これは、ドライバーがテスト証明書で署名されているためです。 [このドライバーのソフトウェアをインストールする] を選択します。 しばらくすると、ドライバーが正しくインストールされたことを確認するメッセージが表示されます。
デバイス コンソール ユーティリティでドライバーをインストールできなかった場合は、現在の OS プラットフォームとドライバーのプラットフォームに一致するものを使用していることを確認します。
デバイス マネージャーでデバイスを表示する
デバイスマネージャーを開きます。 これは多くの方法で実行できますが、コマンド プロンプトを開いたままの場合は、「
devmgmt
」と入力します。デバイス マネージャーで、[表示] メニューから [タイプ別デバイス] を選択します。
デバイスが [サンプル] ノードの下に表示されます。