コマンド ラインからの BinPlace の使用
重要: このトピックの例では、BINPLACE_PLACEFILE マクロと BinPlace配置ファイルの使用について説明します。 このマクロとファイルは、Windows Driver Kit の Windows 7 バージョンでは廃止されており、WDK の将来のバージョンではサポートされない可能性があります。
このトピックでは、コマンド ラインから BinPlace を使用する例を示します。
最初に、ルートの宛先ディレクトリを次のように設定できます。
set _NTTREE=d:\ProjectRoot
その後、place ファイルのパスとファイル名を次のように設定できます。
set BINPLACE_PLACEFILE=d:\mystuff\myplacefile.txt
ファイル d:\mystuff\myplacefile.txt の内容を次のようにします。
; This is a simple place file.
commonmodule.dll retail
application.exe files\bin
mydriver.sys *\drivertree
extra.cab appendix
次のコマンドを使用して BinPlace を実行できるようになりました。
binplace g:\somelocation\extra.cab
extra.cab は実行可能ファイルではないため、BinPlace は移動するだけです。 ルートの宛先ディレクトリは d:\projectroot です。 このファイルのクラス ディレクトリは、付録として place ファイルで指定されています。 ファイルの種類のサブディレクトリは cab (移動するファイルのファイル名拡張子) です。 したがって、このファイルは d:\projectroot\appendix\cab\extra.cab の場所にコピーされます。
次に、実行可能ファイルとそのシンボル ファイルで BinPlace を使用します。 これを行うには、実行可能ファイル名を指定します。BinPlace は、関連付けられているシンボル ファイルを検索します。
実行可能ファイル名を BinPlace に渡すと、実行可能ファイルと同じディレクトリ内でそのシンボル ファイルが検索されます。 見つからない場合は、実行可能ファイルに格納されている CodeView レコードを読み取ります。そのレコード内のシンボル ファイル パスが見つかると、そのパス内のシンボル ファイルが検索されます。
注: シンボル ファイル名を明示的に指定した場合、BinPlace はシンボル ファイル名を処理せず、単に移動します。
binplace -a -x -s d:\stripped -n g:\full g:\builddir\application.exe
実行可能ファイルは、以前と同じルート宛先ディレクトリを使用します。 そのクラス ディレクトリは files\bin です。 したがって、これは d:\projectroot\files\bin\application.exe に配置されます。
シンボル ファイルは 2 つの場所に配置されます。 完全なシンボル ファイル (プライベートシンボルとパブリック シンボルの両方を含む) は、g:\full\files\bin\exe\application.pdb に移動します。 削除されたシンボル ファイル (パブリック シンボルのみを含む) は、d:\stripped\files\bin\exe\application.pdb に移動します。
次に、commonmodule.dll で同様のコマンドを使用します。
binplace -a -x -s d:\stripped -n g:\full g:\builddir\commonmodule.dll
今回は、クラスサブディレクトリはリテールです。 実行可能ファイルの場合、このディレクトリ名は "クラス サブディレクトリを使用しないでください" のコードであるため、d:\projectroot\application.exe に配置されます。 シンボル ファイルは g:\full\retail\dll\application.pdb と d:\stripped\retail\dll\application.pdb に配置されます。
最後に、mydriver.sysで BinPlace を使用し、-n スイッチを省略します。
binplace -a -x -s d:\stripped g:\builddir\mydriver.sys
ここでは、クラス サブディレクトリは */drivertree です。 実行可能ファイルの場合、アスタリスク (*) はプロセッサの種類に置き換えられます。 x86 コンピューターで実行していると仮定すると、実行可能ファイルは d:\projectroot\i386\drivertree\application.exe に配置されます。 シンボル ファイルのアスタリスクは無視されるため、削除されたシンボル ファイルは g:\full\drivertree\sys\application.pdb に配置されます。 -n スイッチを省略したため、完全なシンボル ファイルはどこにも配置されません。