共用方式為


從命令列使用 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

這次,類別子目錄是 零售的。 針對可執行檔,此目錄名稱是「請勿使用類別子目錄」的程式碼,因此會放在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 參數,所以完整符號檔不會放在任何地方。