次の方法で共有


NX プール Opt-In メカニズム

カーネル モード ドライバー コードを以前のバージョンの Windows から Windows 8 に移植するには、ベスト プラクティスとして NonPagedPoolNx 型のメモリ プールを使用する必要があります。 複数の移植支援のいずれかを使用して、 既定で NonPagedPoolNx プールの種類を使用するように簡単に "オプトイン" できます。

これらの移植支援では、次の手法のいずれかまたは両方を使用して、ドライバーが NX 非ページ プールを使用できるようにします。

  • #define プリプロセッサ ステートメントを使用して、グローバルに定義されたマクロ名を作成します。

  • DriverEntry ルーチンからインライン関数を呼び出します。

ほとんどのカーネル モード ドライバー コードでは、これらの移植支援により、開発者は最小限の労力でドライバーを更新できます。

このセクションでは...

トピック 説明

シングル バイナリ オプトイン: POOL_NX_OPTIN

Windows 8 と以前のバージョンの Windows の両方で実行される単一のドライバー バイナリを構築するには、POOL_NX_OPTINオプトイン メカニズムを使用します。 これは、複数の Windows バージョンをサポートするために 1 つのドライバー バイナリを提供するサード パーティのハードウェア ベンダー向けの移植支援です。

複数バイナリの選択式登録: POOL_NX_OPTIN_AUTO

Windows のバージョンごとに異なるドライバー バイナリを提供するハードウェア ベンダーの場合は、POOL_NX_OPTIN_AUTOオプトイン メカニズムを使用できます。 この移植支援は、Windows 8 と、ドライバーがサポートする Windows の以前のバージョンごとに、個別のドライバー バイナリを構築します。

選択的オプトアウト: POOL_NX_OPTOUT

一連のドライバー ソース ファイルに対して実行なし (NX) プールオプトイン メカニズムの 1 つをグローバルに有効にしてから、選択した 1 つ以上のソース ファイルに対してこのオプトイン メカニズムをPOOL_NX_OPTOUTでオーバーライドできます。 これにより、選択したソース ファイルで、実行可能な非ページ メモリを引き続き使用できます。 POOL_NX_OPTOUTオプトアウト メカニズムは、POOL_NX_OPTINまたはPOOL_NX_OPTIN_AUTOオプトイン メカニズムと共に使用できます。