перечисление 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, обычно следует заменить все или большинство экземпляров имени NonPagedPool в исходном коде драйвера с NonPagedPoolNx. Избегайте замены экземпляров nonPagedPool именем NonPagedPoolExecute, за исключением случаев, в которых явно требуется исполняемая память. Дополнительные сведения см. в разделе No-Execute (NX) Непаганный пул. |
PagedPool пула страниц , который является страницоемой системной памятью. Пул страниц можно выделить и получить к ней доступ в < DISPATCH_LEVEL IRQL. |
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 (include Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h) |
См. также
ExInitializeNPagedLookasideList