Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Важный Примеры, приведенные в этом разделе, обсуждают использование макроса BINPLACE_PLACEFILE и файла местаBinPlace. Этот макрос и файл устарели в windows 7 версии комплекта драйверов Windows и могут не поддерживаться в будущих версиях WDK.
В этом разделе приведены примеры использования BinPlace из командной строки.
Сначала можно задать корневой каталог назначения следующим образом:
set _NTTREE=d:\ProjectRoot
Затем можно задать путь и имя файла места следующим образом:
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. Каталог классов для этого файла указывается в файле с указанием в качестве приложения. Подкаталог типа файла — 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.
Файл символов размещён в двух местах. Полный файл символов (включая частные и общедоступные символы) переходит в 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
На этот раз подкаталог класса назван retail. Для исполняемого файла название каталога является кодом для "не использовать подкаталог класса", поэтому он помещается в d:\projectroot\application.exe. Файлы символов помещаются в g:\full\retail\dll\application.pdb и d:\stripped\retail\dll\application.pdb.
Наконец, используйте BinPlace в mydriver.sys и опустите параметр -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 был опущен, полный файл символов не помещается нигде.