다음을 통해 공유


명령줄에서 BinPlace 사용

중요 이 항목의 예제에서는 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에 배치됩니다.

마지막으로 mydriver.sys BinPlace를 사용하고 -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 스위치를 생략했기 때문에 전체 기호 파일은 어디에도 배치되지 않습니다.