Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante Gli esempi in questo argomento illustrano l'uso della macro BINPLACE_PLACEFILE e del file binPlaceplace. Questa macro e il file sono obsoleti nella versione windows 7 di Windows Driver Kit e potrebbero non essere supportati nelle versioni future di WDK.
In questo argomento vengono forniti esempi di utilizzo di BinPlace dalla riga di comando.
Prima di tutto, è possibile impostare la directory di destinazione radice come indicato di seguito:
set _NTTREE=d:\ProjectRoot
È quindi possibile impostare il percorso e il nome del file di posizione nel modo seguente:
set BINPLACE_PLACEFILE=d:\mystuff\myplacefile.txt
Lasciare che il contenuto del file d:\mystuff\myplacefile.txt essere il seguente:
; This is a simple place file.
commonmodule.dll retail
application.exe files\bin
mydriver.sys *\drivertree
extra.cab appendix
È ora possibile eseguire BinPlace con il comando seguente:
binplace g:\somelocation\extra.cab
Poiché extra.cab non è un file eseguibile, BinPlace lo sposta solo. La directory di destinazione radice è d:\projectroot. La directory della classe per questo file viene specificata nel file di collocazione come appendice. La sottodirectory di tipo file è cab (estensione del nome file del file da spostare). Di conseguenza, questo file viene copiato nella posizione d:\projectroot\appendix\cab\extra.cab.
Usare ora BinPlace nel file eseguibile e nel relativo file di simboli. A tale scopo, specificare il nome del file eseguibile- BinPlace troverà il file di simboli associato.
Quando si passa un nome di file eseguibile a BinPlace, cerca i relativi file di simboli nella stessa directory del file eseguibile. Se non li trova, legge il record CodeView archiviato nel file eseguibile; se trova un percorso del file di simboli in tale record, cerca i file di simboli in tale percorso.
Nota Se si specifica un nome di file di simboli in modo esplicito, BinPlace si limita a spostarlo, non elaborarlo.
binplace -a -x -s d:\stripped -n g:\full g:\builddir\application.exe
Il file eseguibile usa la stessa directory di destinazione radice di prima. La directory della classe è files\bin. Pertanto, viene inserito in d:\projectroot\files\bin\application.exe.
Il file di simboli viene inserito in due posizioni. Il file di simboli completo (inclusi i simboli privati e pubblici) passa a g:\full\files\bin\exe\application.pdb. Il file di simboli rimosso (contenente solo i simboli pubblici) passa a d:\stripped\files\bin\exe\application.pdb.
Usare ora un comando simile in commonmodule.dll:
binplace -a -x -s d:\stripped -n g:\full g:\builddir\commonmodule.dll
Questa volta, la sottodirectory della classe è retail. Per il file eseguibile, questo nome di directory è un codice per "non usare una sottodirectory di classe", quindi viene inserito in d:\projectroot\application.exe. I file di simboli vengono inseriti in g:\full\retail\dll\application.pdb e d:\stripped\retail\dll\application.pdb.
Infine, usare BinPlace in mydriver.sys e omettere l'opzione -n :
binplace -a -x -s d:\stripped g:\builddir\mydriver.sys
Qui la sottodirectory della classe è */drivertree. Per il file eseguibile, l'asterisco (*) viene sostituito con il tipo di processore. Supponendo di essere in esecuzione in un computer x86, il file eseguibile viene inserito in d:\projectroot\i386\drivertree\application.exe. Il file di simboli rimossi viene inserito in g:\full\drivertree\sys\application.pdb, perché l'asterisco viene ignorato per un file di simboli. Poiché l'opzione -n è stata omessa, il file di simboli completo non viene posizionato da nessuna parte.