Aracılığıyla paylaş


Komut Satırından BinPlace Kullanma

Önemli Bu konudaki örneklerde, BINPLACE_PLACEFILE makro ve BinPlaceyer dosyasının kullanımı ele alınmıştır. Bu makro ve dosya, Windows Driver Kit'in Windows 7 sürümünde kullanımdan kaldırılmış ve WDK'nin gelecekteki sürümlerinde desteklenmeyebilir.

Bu konu başlığı altında, komut satırından BinPlace kullanma örnekleri sağlanır.

İlk olarak, kök hedef dizini aşağıdaki gibi ayarlayabilirsiniz:

set _NTTREE=d:\ProjectRoot

Ardından, yer dosyasının yolunu ve dosya adını aşağıdaki şekilde ayarlayabilirsiniz:

set BINPLACE_PLACEFILE=d:\mystuff\myplacefile.txt

d:\mystuff\myplacefile.txt dosyasının içeriği aşağıdaki gibi olsun:

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

Artık BinPlace'i aşağıdaki komutla çalıştırabilirsiniz:

binplace g:\somelocation\extra.cab

extra.cab yürütülebilir bir dosya olmadığından, BinPlace dosyayı yalnızca taşır. Kök hedef dizin d:\projectroot şeklindedir. Bu dosyanın dizin sınıfı, konum dosyasında ek olarak belirtilmiştir. Dosya türü alt dizini cab 'dir (taşınan dosyanın dosya adı uzantısı). Bu nedenle, bu dosya d:\projectroot\appendix\cab\extra.cabkonumuna kopyalanır.

Şimdi yürütülebilir dosyada ve simge dosyasında BinPlace kullanın. Bunu yapmak için yürütülebilir dosya adını belirtirsiniz; BinPlace ilişkili simge dosyasını bulur.

BinPlace'e yürütülebilir bir dosya adı geçirdiğinizde, dosya simge dosyalarını yürütülebilir dosyayla aynı dizinde arar. Bunları orada bulamazsa, yürütülebilir dosyada depolanan CodeView kaydını okur; bu kayıtta bir sembol dosyası yolu bulursa, bu yoldaki sembol dosyalarını arar.

Not Açıkça bir simge dosyası adı belirtirseniz, BinPlace bunu yalnızca taşır, işlemez.

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

Yürütülebilir dosya, öncekiyle aynı kök hedef dizini kullanır. Sınıf dizini files\bin'dir. Böylece, d:\projectroot\files\bin\application.exeiçine yerleştirilir.

Sembol dosyası iki konuma yerleştirilir. Tam simge dosyası (hem özel hem de ortak simgeler dahil) g:\full\files\bin\exe\application.pdb dosyasına gider. Kaldırılan simge dosyası (yalnızca ortak simgeleri içeren) d:\striped\files\bin\exe\application.pdb dosyasına gider.

Şimdi commonmodule.dllbenzer bir komut kullanın:

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

Bu kez sınıf alt dizini perakendedir. Yürütülebilir dosya için, bu dizin adı "sınıf alt dizini kullanmayın" için bir kod olduğundan d:\projectroot\application.exeiçine yerleştirilir. Sembol dosyaları g:\full\retail\dll\application.pdb ve d:\striped\retail\dll\application.pdb içine yerleştirilir.

Son olarak, mydriver.sys üzerinde BinPlace kullanın ve -n anahtarını atla:

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

Burada sınıf alt dizini */drivertree şeklindedir. Yürütülebilir dosya için yıldız işareti (*) işlemci türüyle değiştirilir. Bir x86 bilgisayarda çalıştırdığınız varsayıldığında, yürütülebilir dosya d:\projectroot\i386\drivertree\application.exeiçine yerleştirilir. Çıkarılan simge dosyası g:\full\drivertree\sys\application.pdb dizinine yerleştirilir, çünkü yıldız işareti bir simge dosyası için göz ardı edilir. -n anahtarı atlandığından, tam simge dosyası herhangi bir yere yerleştirilmez.