Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante Os exemplos neste tópico discutem o uso da macro BINPLACE_PLACEFILE e o BinPlaceficheiro de localização. Esta macro e ficheiro estão obsoletos na versão Windows 7 do Windows Driver Kit e poderão não ser suportados em versões futuras do WDK.
Este tópico fornece exemplos de como usar BinPlace a partir da linha de comando.
Primeiro, você pode definir o diretório de destino raiz da seguinte maneira:
set _NTTREE=d:\ProjectRoot
Em seguida, você pode definir o caminho do arquivo de local e o nome do arquivo da seguinte maneira:
set BINPLACE_PLACEFILE=d:\mystuff\myplacefile.txt
Deixe o conteúdo do arquivo d:\mystuff\myplacefile.txt ser o seguinte:
; This is a simple place file.
commonmodule.dll retail
application.exe files\bin
mydriver.sys *\drivertree
extra.cab appendix
Agora você pode executar BinPlace com o seguinte comando:
binplace g:\somelocation\extra.cab
Porque extra.cab não é um arquivo executável, BinPlace irá apenas movê-lo. O diretório de destino raiz é d:\projectroot. O diretório de classe para este arquivo é especificado no arquivo de lugar como apêndice. O subdiretório do tipo arquivo é cab (a extensão de nome de arquivo do arquivo que está sendo movido). Assim, este arquivo é copiado para o local d:\projectroot\appendix\cab\extra.cab.
Agora use o BinPlace no ficheiro executável e no ficheiro de símbolos. Para fazer isso, você especifica o nome do arquivo executável -- BinPlace encontrará o arquivo de símbolo associado.
Quando você passa um nome de arquivo executável para BinPlace, ele procura seus arquivos de símbolo no mesmo diretório que o arquivo executável. Se não encontrá-los lá, ele lê o registro CodeView armazenado no arquivo executável; Se ele encontrar um caminho de arquivo de símbolo nesse registro, ele procurará arquivos de símbolo nesse caminho.
Nota Se você especificar um nome de arquivo de símbolo explicitamente, BinPlace irá apenas movê-lo, não processá-lo.
binplace -a -x -s d:\stripped -n g:\full g:\builddir\application.exe
O arquivo executável usa o mesmo diretório de destino raiz que antes. Seu diretório de classe é files\bin. Assim, coloca-se no d:\projectroot\files\bin\application.exe.
O arquivo de símbolos é colocado em dois locais. O arquivo de símbolo completo (incluindo símbolos privados e públicos) vai para g:\full\files\bin\exe\application.pdb. O arquivo de símbolo removido (contendo apenas símbolos públicos) vai para d:\stripped\files\bin\exe\application.pdb.
Agora, use um comando semelhante em commonmodule.dll:
binplace -a -x -s d:\stripped -n g:\full g:\builddir\commonmodule.dll
Desta vez, o subdiretório de classe é de varejo. Para o arquivo executável, esse nome de diretório é um código para "não use um subdiretório de classe", por isso é colocado em d:\projectroot\application.exe. Os arquivos de símbolo são colocados em g:\full\retail\dll\application.pdb e d:\stripped\retail\dll\application.pdb.
Finalmente, use BinPlace no mydriver.sys e omita a opção -n.
binplace -a -x -s d:\stripped g:\builddir\mydriver.sys
Aqui o subdiretório class está */drivertree. Para o arquivo executável, o asterisco (*) é substituído pelo tipo de processador. Supondo que você esteja executando em um computador x86, o arquivo executável é colocado em d:\projectroot\i386\drivertree\application.exe. O arquivo de símbolo removido é colocado em g:\full\drivertree\sys\application.pdb, porque o asterisco é ignorado para um arquivo de símbolo. Como a opção -n foi omitida, o arquivo de símbolo completo não é colocado em nenhum lugar.