共用方式為


NX 集區Opt-In機制

若要將核心模式驅動程式程式碼移植到舊版 Windows Windows 8,您應該使用NonPagedPoolNx類型的記憶體集區作為最佳做法。 您可以使用數個移植輔助工具之一,輕鬆地「加入宣告」,預設使用 NonPagedPoolNx 集區類型。

這些移植協助工具會使用下列其中一種或兩種技術,讓驅動程式能夠使用 NX 非分頁集區:

  • #define使用預處理器語句來建立全域定義的宏名稱。

  • DriverEntry 常式呼叫內嵌函式。

對於大部分的核心模式驅動程式程式碼,這些移植可協助開發人員以最少的心力更新其驅動程式。

本節內容

主題 描述

單一二進位加入宣告:POOL_NX_OPTIN

若要建置可在 Windows 8 和舊版 Windows 中執行的單一驅動程式二進位檔,請使用POOL_NX_OPTIN加入宣告機制。 這是提供單一驅動程式二進位檔以支援多個 Windows 版本之協力廠商硬體廠商的移植協助工具。

多重二進位加入宣告:POOL_NX_OPTIN_AUTO

如果您是為不同 Windows 版本提供不同驅動程式二進位檔的硬體廠商,您可以使用POOL_NX_OPTIN_AUTO加入宣告機制。 此移植可協助針對Windows 8以及驅動程式支援的每個舊版 Windows 建置個別的驅動程式二進位檔。

選擇性退出:POOL_NX_OPTOUT

您可以全域啟用一組驅動程式來源檔案的無執行 (NX) 集區加入宣告機制,然後使用 POOL_NX_OPTOUT 覆寫一或多個所選來源檔案的這個加入宣告機制。 這可讓選取的來源檔案繼續使用可執行檔非分頁式記憶體。 您可以使用POOL_NX_OPTOUT退出機制搭配POOL_NX_OPTIN或POOL_NX_OPTIN_AUTO加入宣告機制。