NX 集區Opt-In機制
若要將核心模式驅動程式程式碼移植到舊版 Windows Windows 8,您應該使用NonPagedPoolNx類型的記憶體集區作為最佳做法。 您可以使用數個移植輔助工具之一,輕鬆地「加入宣告」,預設使用 NonPagedPoolNx 集區類型。
這些移植協助工具會使用下列其中一種或兩種技術,讓驅動程式能夠使用 NX 非分頁集區:
#define
使用預處理器語句來建立全域定義的宏名稱。從 DriverEntry 常式呼叫內嵌函式。
對於大部分的核心模式驅動程式程式碼,這些移植可協助開發人員以最少的心力更新其驅動程式。
本節內容
主題 | 描述 |
---|---|
若要建置可在 Windows 8 和舊版 Windows 中執行的單一驅動程式二進位檔,請使用POOL_NX_OPTIN加入宣告機制。 這是提供單一驅動程式二進位檔以支援多個 Windows 版本之協力廠商硬體廠商的移植協助工具。 |
|
如果您是為不同 Windows 版本提供不同驅動程式二進位檔的硬體廠商,您可以使用POOL_NX_OPTIN_AUTO加入宣告機制。 此移植可協助針對Windows 8以及驅動程式支援的每個舊版 Windows 建置個別的驅動程式二進位檔。 |
|
您可以全域啟用一組驅動程式來源檔案的無執行 (NX) 集區加入宣告機制,然後使用 POOL_NX_OPTOUT 覆寫一或多個所選來源檔案的這個加入宣告機制。 這可讓選取的來源檔案繼續使用可執行檔非分頁式記憶體。 您可以使用POOL_NX_OPTOUT退出機制搭配POOL_NX_OPTIN或POOL_NX_OPTIN_AUTO加入宣告機制。 |