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 開始,NonPagedPoolExecute 是 NonPagedPool 值的替代名稱。 這個值表示配置的記憶體是非分頁且可執行的,也就是說,指令執行會在此記憶體中啟用。 若要從舊版 Windows 移植驅動程式,您通常應該以 NonPagedPoolNx取代驅動程式源代碼中 NonPagedPool 名稱的所有或大部分實例。 請避免將 NonPagedPool 名稱的實例取代為 nonPagedPoolExecute ,但明確需要可執行檔記憶體的情況除外。 如需詳細資訊,請參閱 No-Execute (NX) 非分頁集區。 |
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) 非分頁集區。 非分頁集區可以從任何 IRQL 存取,但它是稀缺的資源,驅動程式應在必要時才配置它。 |
NonPagedPoolNxCacheAligned NX 非分頁集區,在處理器快取界限上對齊。 此值保留供作系統獨佔使用。 |
NonPagedPoolSessionNx 保留供作系統獨佔使用。 |
要求
要求 | 價值 |
---|---|
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Wudfwdm.h) |
另請參閱
ExInitializeNPagedLookasideList