生体認証ドライバーの開発のロードマップ
生体認証ドライバーを作成するには、次の手順に従います:
ステップ1:Windows のアーキテクチャとドライバーについて学びます。
Windows オペレーティング システムでドライバーがどのように動作するかの基本を理解する必要があります。 基本を理解すると、適切な設計上の決定を下し、開発プロセスを効率化することができます。 ドライバーの基礎の詳細については、ドライバーとオペレーティング システムの基本についてを参照してください。
ステップ2:Windows が生体認証ドライバーをサポートする方法について説明します。
Windows 7 以降のオペレーティング システムのバージョンには、Windows バイオメトリック ドライバー インターフェイス (WBDI) が含まれています。 WBDI は、Windows Biometric Framework (WBF) の一部である IOCTL ベースのドライバー インターフェイスです。 WBDI の詳細については、生体認証ドライバーの概要を参照してください。
ステップ3:WDK の生体認証ドライバーのサンプルを確認してください。
Windows 7 以降のオペレーティング システムの場合、ドライバー コード ギャラリーには、WudfBioUsbSample というサンプルが含まれています。 このサンプル WBDI ドライバーは UMDF ベースであり、USB I/Oターゲット を使用します。
WudfBioUsbSample サンプルの詳細については、サンプル概要を参照してください。
ステップ4:生体認証ドライバーのドライバー モデルを選択します。
Microsoft では、WBDI ドライバーが UMDF ベースであり、USB I/O ターゲットを使用することを推奨しています。 UMDF の詳細については、UMDF の概要を参照してください。 USB I/O ターゲットの詳細については、USB I/O ターゲットの処理を参照してください。
WudfBioUsbSampleは、USB I/O ターゲットを使用する UMDF ベースの WBDI ドライバーを実装する方法を示しています。
UMDF を使用する場合、Microsoft は C++ で生体認証ドライバーを開発することをお勧めします。
ステップ5:Windows ドライバーのビルド、テスト、デバッグのプロセスとツールについて学びます。
ドライバーのビルドは、ユーザー モード アプリケーションのビルドとは異なります。 詳細については、ドライバーのビルドを参照してください。 フレームワーク ベースのドライバーをビルドする方法については、フレームワーク ベースのドライバーのビルドと読み込みを参照してください。
ステップ6:生体認証ドライバーに関する設計上の決定を行います。
IOCTL の処理方法については、生体認証 IOCTL 呼び出しシーケンスのサポートを参照してください。 WBDI ドライバーで USB I/O ターゲットを使用する方法については、WBDI ドライバーでの WinUSB の使用を参照してください。
ステップ7:生体認証ドライバーを開発、構築、テスト、デバッグします。
WBDI ドライバーで要求キューを管理する方法の詳細については、WBDI ドライバーでのキューの管理を参照してください。
WBDI に関連する IOCTL、構造体、およびエラー コードの詳細については、生体認証デバイス リファレンスを参照してください。
生体認証ドライバーをテストする方法については、生体認証ドライバーのテストを参照してください。
反復的なビルド、テスト、およびデバッグの詳細については、ドライバーの開発、テスト、および展開を参照してください。 このプロセスは、機能するドライバーを確実に作成するのに役立ちます。
ステップ8:生体認証ドライバーのドライバー パッケージを作成します。
詳細については、ドライバーパッケージを参照してください。
生体認証ドライバーのインストール方法については、「生体認証ドライバーのインストール タグ」の挿入を参照してください。
ステップ9:生体認証ドライバーに署名して配布します。
最後のステップは、ドライバーに署名して配布することです。 32 ビットと 64 ビットの両方のプラットフォームでエンジン アダプターに署名する必要があります。
ドライバーが Microsoft ハードウェア認定プログラムに定義されている品質基準を満たしている場合は、Microsoft Windows Update プログラムを通じて配布できます。 ドライバーを配布する方法の詳細については、配送先住所ラベルを使用してドライバーの配布を管理するを参照してください。
これらが基本的な手順です。 個々のドライバーのニーズに応じて、追加の手順が必要になる場合があります。