Použití funkce BinPlace z příkazového řádku

Důležité Příklady v tomto tématu popisují použití makra BINPLACE_PLACEFILE a souboru BinPlaceplace. Toto makro a soubor jsou zastaralé ve verzi Windows 7 sady Windows Driver Kit a nemusí být podporovány v budoucích verzích WDK.

Toto téma obsahuje příklady použití BinPlace z příkazového řádku.

Nejprve můžete kořenový cílový adresář nastavit následujícím způsobem:

set _NTTREE=d:\ProjectRoot

Potom můžete cestu k souboru a název souboru nastavit následujícím způsobem:

set BINPLACE_PLACEFILE=d:\mystuff\myplacefile.txt

Nechte obsah souboru d:\mystuff\myplacefile.txt takto:

; This is a simple place file.
commonmodule.dll   retail
application.exe    files\bin
mydriver.sys       *\drivertree
extra.cab          appendix

Teď můžete spustit BinPlace pomocí následujícího příkazu:

binplace g:\somelocation\extra.cab

Protože extra.cab není spustitelný soubor, BinPlace ho přesune jenom. Kořenový cílový adresář je d:\projectroot. Adresář třídy pro tento soubor je zadán v místě souboru jako příloha. Podadresář typu souboru je cab (přípona názvu souboru přesunutého souboru). Proto se tento soubor zkopíruje do umístění d:\projectroot\appendix\cab\extra.cab.

Teď použijte BinPlace u spustitelného souboru a jeho souboru symbolů. Uděláte to tak, že zadáte název spustitelného souboru – BinPlace najde přidružený soubor symbolů.

Když předáte název spustitelného souboru do BinPlace, vyhledá jeho soubory symbolů ve stejném adresáři jako spustitelný soubor. Pokud je tam nenajde, přečte záznam CodeView uložený ve spustitelném souboru; pokud v tomto záznamu najde cestu k souboru symbolu, vyhledá soubory symbolů v této cestě.

Poznámka Pokud explicitně zadáte název souboru symbolu, BinPlace ho jenom přesune, nezpracuje ho.

binplace -a -x -s d:\stripped -n g:\full g:\builddir\application.exe

Spustitelný soubor používá stejný kořenový cílový adresář jako předtím. Adresář třídy je files\bin. Proto je umístěn v d:\projectroot\files\bin\application.exe.

Soubor symbolu je umístěn na dvou místech. Úplný soubor symbolu (včetně privátních i veřejných symbolů) přejde do složky g:\full\files\bin\exe\application.pdb. Stripped soubor symbolů (obsahující pouze veřejné symboly) se umístí do d:\stripped\files\bin\exe\application.pdb.

Teď v commonmodule.dllpoužijte podobný příkaz:

binplace -a -x -s d:\stripped -n g:\full g:\builddir\commonmodule.dll

Tentokrát je podadresář třídy maloobchodní. Pro spustitelný soubor je tento název adresáře kódem "nepoužívejte podadresář třídy", takže je umístěn v d:\projectroot\application.exe. Soubory symbolů jsou umístěny v g:\full\retail\dll\application.pdb a d:\stripped\retail\dll\application.pdb.

Nakonec použijte binPlace na mydriver.sys a vynechejte přepínač -n :

binplace -a -x -s d:\stripped g:\builddir\mydriver.sys

Tady je podadresář třídy */drivertree. U spustitelného souboru je hvězdička (*) nahrazena typem procesoru. Za předpokladu, že používáte počítač x86, spustitelný soubor je umístěn v d:\projectroot\i386\drivertree\application.exe. Odstraněný soubor symbolu je umístěn v g:\full\drivertree\sys\application.pdb, protože hvězdička je ignorována pro soubor symbolů. Vzhledem k tomu, že přepínač -n nebyl vynechán, soubor s úplnými symboly není nikde umístěný.