POOL_TYPE列舉 (wdm.h)

POOL_TYPE列舉型別會指定要配置的系統記憶體類型。

Syntax

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 開始,驅動程式應該從無執行 (N) X 配置大部分或所有非分頁記憶體,而不是可執行的非分頁集區。 如需詳細資訊,請參閱 NonPagedPoolNx 集區類型的描述。
NonPagedPoolExecute
從 Windows 8 開始,NonPagedPoolExecuteNonPagedPool 值的替代名稱。 這個值表示配置的記憶體是非分頁且可執行的,也就是說,此記憶體中已啟用指令執行。 若要從舊版 Windows 移植驅動程式,您通常應該以 NonPagedPoolNx 取代驅動程式碼中 NonPagedPool 名稱的所有或大部分實例。 請避免將 NonPagedPool 名稱的實例取代為 NonPagedPoolExecute,除非明確需要可執行檔記憶體的情況。 如需詳細資訊,請參閱 No-Execute (NX) Nonpaged Pool
PagedPool
分頁集區,這是可分頁的系統記憶體。 分頁集區只能在 IRQL < DISPATCH_LEVEL配置和存取。
NonPagedPoolMustSucceed
此值 僅供內部使用,而且只能在系統啟動期間使用。 驅動程式不得在系統啟動以外的時間指定此值,因為如果要求的記憶體大小無法使用,「必須成功」要求會損毀系統。
DontUseThisType
保留供系統使用。
NonPagedPoolCacheAligned
非分頁集區,對齊處理器快取界限。 此值 僅供內部使用
PagedPoolCacheAligned
分頁集區,對齊處理器快取界限。 此值 僅供內部使用
NonPagedPoolCacheAlignedMustS
此值 僅供內部使用,而且只能在系統啟動期間使用。 它是 非PagedPoolMustSucceed的快取對齊對等專案。
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
保留供操作系統獨佔使用。

規格需求

需求
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Wudfwdm.h)

另請參閱

ExAllocatePoolWithQuotaTag

ExAllocatePoolWithTag

ExAllocatePoolWithTagPriority

ExInitializeLookasideListEx

ExInitializeNPagedLookasideList

ExInitializePagedLookasideList

LookasideListAllocateEx

SeAssignSecurity

SeAssignSecurityEx