NX プールのオプトイン メカニズム
Windows 8 よりも前の Windowsから Windows 8 にカーネル モード ドライバーのコードを移植するには、NonPagedPoolNx タイプのメモリ プールを使用することをお勧めします。 いくつかの移植支援のいずれかを使用して、NonPagedPoolNx タイプのプールの使用を容易に既定で "オプトイン" できます。
これらの移植支援では、次の手法のいずれかまたは両方を使用して、ドライバーで NX 非ページ プールを使用できるようにしています。
#define
プリプロセッサ ステートメントを使用して、グローバルに定義したマクロ名を作成する。DriverEntry ルーチンからインライン関数を呼び出す。
ほとんどのカーネル モード ドライバー コードで、このような移植支援を使用すれば最小限の作業でドライバーを更新できます。
このセクションの内容
裁判官 | 説明 |
---|---|
Windows 8 とそれよりも前の Windows の両方で実行できる単一のドライバー バイナリをビルドするには POOL_NX_OPTIN オプトイン メカニズムを使用します。 これは、複数のバージョンの Windows を単一のドライバー バイナリでサポートしようとしているサード パーティ ハードウェア ベンダー向けの移植支援です。 |
|
Windows のバージョンごとにドライバー バイナリを提供するハードウェア ベンダーは、オプトイン メカニズム POOL_NX_OPTIN_AUTO を使用できます。 この移植支援は、Windows 8 のドライバー バイナリ、およびドライバーがサポートする Windows の以前のバージョンごとのドライバー バイナリを構築します。 |
|
No-Execute (NX) プールのオプトイン メカニズムのいずれかを、複数のドライバー ソース ファイルでグローバルに有効にしておき、そこから選択した 1 つ以上のソース ファイルに POOL_NX_OPTOUT を指定して、そのオプトイン メカニズムを無効にすることができます。 これにより、選択したソース ファイルでは、実行可能な非ページ メモリを引き続き使用できます。 オプトアウト メカニズム POOL_NX_OPTOUT は、オプトイン メカニズム POOL_NX_OPTIN または POOL_NX_OPTIN_AUTO と併用できます。 |