第 9 章 実行に当たっての問題
15.2 WinDriver カーネル ドライバの名前変更
15.2.1 Windows ドライバの名前変更
次のセクションで説明する 2 つの方法のいずれかを使用して、WinDriver Windows カーネルドライバ
(windrvr6.sys) の名前を変更します。
ヒント: 作業のほとんどが自動化されているため、セクション 15.2.1.1 で説明する方法を推奨します。
注意: このセクションの WinDriver\redist ディレクトリへの参照は、WinDriver\
redist_win98_compat に置き換えることができます。redist\ ディレクトリには、署名済みの WHQL 認定ドライバと関連ファイルが含まれています。ドライバの名前を変更する場合、必要に応じて、セクション 15.3 で説明するようにドライバの署名を再度取得する必要があります。redist_win98_compat\ ディレ クトリには、WHQL によって認定されていない Windows 98 / Me 以降用のドライバが含まれています。
15.2.1.1 DriverWizard を使用する Windows ドライバの名前変更
このセクションの手順に従い DriverWizard を使用して WinDriver Windows カーネルドライバの名前を変更 できます (推奨)。
このセクションの xxx への参照は、生成される DriverWizard ドライバ プロジェクトの名前に置き換える必要 があります。
1. DriverWizard ユーティリティを使用して、Windows ハードウェア用のドライバコードを生成します
[5.2 (①)]。生成されるドライバプロジェクトの名前には、ドライバ名 (xxx) が使用されます。
生成されるプロジェクト ディレクトリ (xxx\) には、xxx_installation\ ディレクトリと以下のファ イルおよびディレクトリが含まれます。
○ redist\ ディレクトリ
− xxx.sys - 新しいドライバ。windrvr6.sys ドライバのコピーを名前変更したもの。
注意: 生成されるドライバファイルのプロパティ (ファイルのバージョン、会社名、など) は、windrvr6.sys ドライバのプロパティと同じです。以下に説明するように、生成され る xxx_installation\sys\ ディレクトリのファイルを使用して、新しいプロパティで ドライバをリビルドすることができます。
− xxx_driver.inf - 変更済み windrvr6.inf ファイル。新しい xxx.sys ドライバ のインストールに使用します。必要に応じて、ファイル内の文字列やコメントの定義を変 更するなど、追加の変更を加えることができます。
− xxx_device.inf - DriverWizard で生成される標準的なデバイスの INF ファイルを修 正したもの。デバイスとドライバ (xxx.sys) を登録します。必要に応じて、メーカー名や ドライバの提供元を変更するなど、追加の変更を加えることができます。
− wdapi900.dll - WinDriver API DLL のコピー。DLL は、ドライバの配布を簡単にす るために、ここにコピーされます。ドライバのメインインストールディレクトリとして、
WinDriver\redist\ ディレクトリの代わりに、生成される xxx\redist\ ディレクトリ を使用できるようになります。
○ sys\ ディレクトリ: このディレクトリには、ドライバファイルのプロパティを変更するための、上 級者ユーザー向けのファイルが含まれています。
注意: ファイルのプロパティを変更する場合、Windows Driver Development Kit (DDK) を使 用してドライバモジュールをリビルドする必要があります。
xxx.sys ドライバファイルのプロパティを変更するには:
i. 開発 PC またはネットワーク上に Windows DDK がインストールされていることを確認し て、BASEDIR 環境変数を DDK インストール ディレクトリに設定します。
ii. 別のドライバファイルプロパティを設定するために、生成される sys\ ディレクトリの xxx.rc リソースファイルを変更します。
iii. 次のコマンドを実行してドライバをリビルドします。
ddk_make <OS> <ビルド モード (free/checked)>
たとえば、Windows XP 用ドライバのリリース版をビルドするには、次のコマンドを実行し ます。
ddk_make winxp free
注意: ddk_make.bat ユーティリティは WinDriver\util\ ディレクトリにあります。
インストール コマンドを実行すると、Windows によって自動的に識別されます。
xxx.sys ドライバをリビルドした後に、生成される xxx\redist\ ディレクトリに新しいドライバ ファイルをコピーします。
2. WinDriver 関数を呼び出す前に、新しいドライバ名を使用して、アプリケーションで
WD_DriverName() 関数を呼び出せるか確認してください。
サンプルおよび DriverWizard で生成される WinDriver アプリケーションには、既にこの関数の呼 び出しが含まれています。ただし、デフォルトのドライバ名 (windrvr6) を使用しているため、関 数に渡すドライバ名を新しいドライバ名に変更する必要があります。
3. ユーザーモードドライバプロジェクトが、WD_DRIVER_NAME_CHANGE プリプロセッサフラグ (例: え) を使用してビルドされていることを確認してください。
注意: サンプルおよび DriverWizard で生成される WinDriver プロジェクトおよび makefile では、
デフォルトでこのプリプロセッサ フラグが設定されています。
4. セクション 14.2 の手順に従い WinDriver インストールファイルの代わりに、生成される
xxx_installation\ ディレクトリの変更済みファイルを使用して、新しいドライバをインストー ルします。
15.2.1.2 手動による Windows ドライバの名前変更
次の手順に従って、手動で WinDriver Windows カーネル ドライバの名前を変更できます。
1. WinDriver\redist\ ディレクトリのコピーを作成して、次のようにファイルを変更します。
○ windrvr6.sys および windrvr6.inf の名前を変更します。ファイル名の windrvr6 と いう部分を選択したドライバ名 (例: my_driver) に置き換えます。
ファイルの拡張子 (*.sys / *.inf) はそのまま残してください。
○ 名前変更した windrvr6.inf ファイルを変更します。
i. ファイル内の windrvr6 という部分をすべて新しいドライバ名 (例: my_driver) に置 き換えます。
ii. INF ファイルの [DriverInstall.NT.Services] 以下ににある AddService キー のドライバサービスの名前を選択したドライバ名 (例: MyDriver) に変更します。
2. デバイスと選択したドライバを登録するデバイスの INF ファイル内にある windrvr6 という部分を すべて新しいドライバ名 (例: my_driver) に置き換えます。必要に応じて、メーカー名やドライバ の提供元を変更するなど、追加の変更を加えることもできます。
注意: DriverWizard は、生成するドライバプロジェクトディレクトリに、自動的にデバイスの INF を
生成します。ファイルの名前には、ドライバプロジェクトの名前 (例: <my_driver>.inf) が使用 されます。ホストドライバプロジェクトの作成を選択すると表示される DriverWizard の [デバイスの
選択] 画面で [INF ファイルの生成] オプションを選択して、デバイスの INF ファイルを生成すること
もできます。この方法では、セクション 5.2 (3) で説明するように、ウィザードから直接独自の INF 文 字列 (メーカー名、デバイス名、デバイスクラスなど) を指定して、DriverWizard でデバイスの INF を生成できます。デバイスの INF ファイルの生成方法に関わらず、新しいドライバモジュールを使 用するには、上記の説明のように、windrvr6 という部分を新しいドライバ名に変更する必要があ ります。
3. WinDriver 関数を呼び出す前に、新しいドライバ名を使用して、アプリケーションで
WD_DriverName() 関数を呼び出せるか確認してください。
サンプルおよび DriverWizard で生成される WinDriver アプリケーションには、既にこの関数の呼 び出しが含まれています。ただし、デフォルトのドライバ名 (windrvr6) を使用しているため、関 数に渡すドライバ名を新しいドライバ名に変更する必要があります。
4. ユーザーモードドライバプロジェクトが、WD_DRIVER_NAME_CHANGE プリプロセッサフラグ (例: -DWD_DRIVER_NAME_CHANGE) を使用してビルドされていることを確認してください。
注意: サンプルおよび DriverWizard で生成される WinDriver プロジェクトおよび makefile では、
デフォルトでこのプリプロセッサフラグが設定されています。
5. セクション 14.2 の手順に従い WinDriver インストール ファイルの代わりに、新しいインストール ディレクトリの変更済みファイルを使用して、新しいドライバをインストールします。