POOL_TYPE列挙 (wdm.h)

POOL_TYPE列挙型は、割り当てるシステム メモリの種類を指定します。

構文

typedef enum _POOL_TYPE {
    NonPagedPool,
    NonPagedPoolExecute = NonPagedPool,
    PagedPool,
    NonPagedPoolMustSucceed = NonPagedPool + 2,
    DontUseThisType,
    NonPagedPoolCacheAligned = NonPagedPool + 4,
    PagedPoolCacheAligned,
    NonPagedPoolCacheAlignedMustS = NonPagedPool + 6,
    MaxPoolType,
    NonPagedPoolBase = 0,
    NonPagedPoolBaseMustSucceed = NonPagedPoolBase + 2,
    NonPagedPoolBaseCacheAligned = NonPagedPoolBase + 4,
    NonPagedPoolBaseCacheAlignedMustS = NonPagedPoolBase + 6,
    NonPagedPoolSession = 32,
    PagedPoolSession = NonPagedPoolSession + 1,
    NonPagedPoolMustSucceedSession = PagedPoolSession + 1,
    DontUseThisTypeSession = NonPagedPoolMustSucceedSession + 1,
    NonPagedPoolCacheAlignedSession = DontUseThisTypeSession + 1,
    PagedPoolCacheAlignedSession = NonPagedPoolCacheAlignedSession + 1,
    NonPagedPoolCacheAlignedMustSSession = PagedPoolCacheAlignedSession + 1,
    NonPagedPoolNx = 512,
    NonPagedPoolNxCacheAligned = NonPagedPoolNx + 4,
    NonPagedPoolSessionNx = NonPagedPoolNx + 32,

} POOL_TYPE;

定数

 
NonPagedPool
非ページ プール。これは、非ページ システム メモリです。 非ページ プールには任意の IRQL からアクセスできますが、これは不足しているリソースであり、ドライバーは必要な場合にのみ割り当てる必要があります。

NonPagedPool プールの種類で割り当てられたシステム メモリは実行可能です。 詳細については、 NonPagedPoolExecute プールの種類の説明を参照してください。

Windows 8以降、ドライバーは、実行可能な非ページ プールではなく、非実行 (NX) 非ページ プールから非ページ メモリの大部分またはすべてを割り当てる必要があります。 詳細については、 NonPagedPoolNx プールの種類の説明を参照してください。
NonPagedPoolExecute
Windows 8以降、NonPagedPoolExecuteNonPagedPool 値の代替名です。 この値は、割り当てられたメモリが非ページおよび実行可能であることを示します。つまり、このメモリで命令の実行が有効になります。 以前のバージョンの Windows からドライバーを移植するには、通常、ドライバーソース コード内の NonPagedPool 名のすべてのインスタンスまたはほとんどのインスタンスを NonPagedPoolNx に置き換える必要があります。 実行可能メモリが明示的に必要な場合を除き、 NonPagedPool 名のインスタンスを NonPagedPoolExecute に置き換えないようにしてください。 詳細については、「 No-Execute (NX) Nonpaged Pool」を参照してください。
PagedPool
ページング可能なシステム メモリであるページ プール。 ページ プールは、IRQL < DISPATCH_LEVELでのみ割り当ておよびアクセスできます。
NonPagedPoolMustSucceed
この値は 内部使用専用であり、システムの起動時にのみ使用できます。 要求されたメモリ サイズが使用できない場合、"成功する必要があります" 要求によってシステムがクラッシュするため、ドライバーはシステムの起動時以外にこの値を指定しないでください。
DontUseThisType
システムで使用するために予約されています。
NonPagedPoolCacheAligned
非ページ プール。プロセッサ キャッシュの境界に合わせて配置されます。 この値は 内部使用専用です
PagedPoolCacheAligned
プロセッサ キャッシュの境界に合わせて配置されたページ プール。 この値は 内部使用専用です
NonPagedPoolCacheAlignedMustS
この値は 内部使用専用であり、システムの起動時にのみ使用できます。 これは、 NonPagedPoolMustSucceed に相当するキャッシュアラインメントです。
MaxPoolType
システムで使用するために予約されています。
NonPagedPoolBase
システムで使用するために予約されています。
NonPagedPoolBaseMustSucceed
システムで使用するために予約されています。
NonPagedPoolBaseCacheAligned
システムで使用するために予約されています。
NonPagedPoolBaseCacheAlignedMustS
システムで使用するために予約されています。
NonPagedPoolSession
非推奨。 使用しないでください。
PagedPoolSession
使用は推奨されていません。 使用しないでください。
NonPagedPoolMustSucceedSession
使用は推奨されていません。 使用しないでください。
DontUseThisTypeSession
使用は推奨されていません。 使用しないでください。
NonPagedPoolCacheAlignedSession
使用は推奨されていません。 使用しないでください。
PagedPoolCacheAlignedSession
使用は推奨されていません。 使用しないでください。
NonPagedPoolCacheAlignedMustSSession
使用は推奨されていません。 使用しないでください。
NonPagedPoolNx
非実行 (NX) 非ページ プール。 このプールの種類は、Windows 8以降で使用できます。 実行可能メモリを割り当てる NonPagedPool によって指定された非ページ プールとは対照的に、NX 非ページ プールは命令実行が無効になっているメモリを割り当てます。 詳細については、「 No-Execute (NX) Nonpaged Pool」を参照してください。

非ページ プールには任意の IRQL からアクセスできますが、これは不足しているリソースであり、ドライバーは必要な場合にのみ割り当てる必要があります。
NonPagedPoolNxCacheAligned
NX 非ページ プール。プロセッサ キャッシュの境界に合わせて配置されます。 この値は、オペレーティング システムで排他的に使用するために予約されています。
NonPagedPoolSessionNx
オペレーティング システムによって排他的に使用するために予約されています。

要件

要件
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h、Wudfwdm.h を含む)

こちらもご覧ください

ExAllocatePoolWithQuotaTag

ExAllocatePoolWithTag

ExAllocatePoolWithTagPriority

ExInitializeLookasideListEx

ExInitializeNPagedLookasideList

ExInitializePagedLookasideList

LookasideListAllocateEx

SeAssignSecurity

SeAssignSecurityEx