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;

Constant

NonPagedPool

Nonpaged pool, which is nonpageable system memory. Nonpaged pool can be accessed from any IRQL, but it is a scarce resource and drivers should allocate it only when necessary.

System memory allocated with the NonPagedPool pool type is executable. For more information, see the description of the NonPagedPoolExecute pool type.

Starting with Windows 8, drivers should allocate most or all of their nonpaged memory from the no-execute (NX) nonpaged pool instead of the executable nonpaged pool. For more information, see the description of the NonPagedPoolNx pool type.

NonPagedPoolExecute

Starting with Windows 8, NonPagedPoolExecute is an alternate name for the NonPagedPool value. This value indicates that the allocated memory is to be nonpaged and executable—that is, instruction execution is enabled in this memory. To port a driver from an earlier version of Windows, you should typically replace all or most instances of the NonPagedPool name in the driver source code with NonPagedPoolNx. Avoid replacing instances of the NonPagedPool name with NonPagedPoolExecute except in cases in which executable memory is explicitly required.

PagedPool

Paged pool, which is pageable system memory. Paged pool can only be allocated and accessed at IRQL < DISPATCH_LEVEL.

NonPagedPoolMustSucceed

This value is for internal use only, and is allowed only during system startup. Drivers must not specify this value at times other than system startup, because a "must succeed" request crashes the system if the requested memory size is unavailable.

DontUseThisType

Reserved for system use.

NonPagedPoolCacheAligned

Nonpaged pool, aligned on processor cache boundaries. This value is for internal use only.

PagedPoolCacheAligned

Paged pool, aligned on processor cache boundaries. This value is for internal use only.

NonPagedPoolCacheAlignedMustS

This value is for internal use only, and is allowed only during system startup. It is the cache-aligned equivalent of NonPagedPoolMustSucceed.

MaxPoolType

Reserved for system use.

NonPagedPoolBase

Reserved for system use.

NonPagedPoolBaseMustSucceed

Reserved for system use.

NonPagedPoolBaseCacheAligned

Reserved for system use.

NonPagedPoolBaseCacheAlignedMustS

Reserved for system use.

NonPagedPoolSession

Deprecated. Do not use.

PagedPoolSession

Deprecated. Do not use.

NonPagedPoolMustSucceedSession

Deprecated. Do not use.

DontUseThisTypeSession

Deprecated. Do not use.

NonPagedPoolCacheAlignedSession

Deprecated. Do not use.

PagedPoolCacheAlignedSession

Deprecated. Do not use.

NonPagedPoolCacheAlignedMustSSession

Deprecated. Do not use.

NonPagedPoolNx

No-execute (NX) nonpaged pool. This pool type is available starting with Windows 8. In contrast to the nonpaged pool designated by NonPagedPool, which allocates executable memory, the NX nonpaged pool allocates memory in which instruction execution is disabled. For more information, see No-Execute (NX) Nonpaged Pool.

Nonpaged pool can be accessed from any IRQL, but it is a scarce resource and drivers should allocate it only when necessary.

NonPagedPoolNxCacheAligned

NX nonpaged pool, aligned on processor cache boundaries. This value is reserved for exclusive use by the operating system.

NonPagedPoolSessionNx

Reserved for exclusive use by the operating system.

Requirements

Header:  Wdm.h(include Wdm.h,Ntddk.h,or Ntifs.h)

POOL_TYPE enumeration的更多相关文章

  1. [转]使用Enumeration和Iterator遍历集合类

    原文地址:http://www.cnblogs.com/xwdreamer/archive/2012/05/30/2526268.html 前言 在数据库连接池分析的代码实例中,看到其中使用Enume ...

  2. Java Enumeration接口

    Enumeration接口定义 Enumeration接口与Iterator接口用法比较 一. 1.Enumeration接口定义 public interface Enumeration<E& ...

  3. Map以及Set的遍历(EntrySet方法,补充enumeration和Iterator的区别)

    public void mearge(Map map) { Map returnMap = new HashMap<>(); // 转换为Entry Set<Map.Entry< ...

  4. Java之enumeration(枚举)

    enumeration(枚举)是JDK1.5引入的新特性,放在java.lang包中. 1.枚举类方法介绍 package com.enums; public class TestEnum { pub ...

  5. Java 集合系列18之 Iterator和Enumeration比较

    概要 这一章,我们对Iterator和Enumeration进行比较学习.内容包括:第1部分 Iterator和Enumeration区别第2部分 Iterator和Enumeration实例 转载请 ...

  6. scala - Enumeration 诡异问题

    object WeekDay extends Enumeration { type WeekDay = Value val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Va ...

  7. C#编程利器之二:结构与枚举(Structure and enumeration)【转】

    C#编程利器之二:结构与枚举(Structure and enumeration) 在上一篇文章中,介绍了类如何封装程序中的对象.而实际中,出了类可以封装对象外,结构和枚举也可以封装一些对象,本文将着 ...

  8. Understanding the RelationshipType Enumeration [AX 2012]

    Understanding the RelationshipType Enumeration [AX 2012] 3 out of 3 rated this helpful - Rate this t ...

  9. Enumeration 接口

    Enumeration是遍历集合元素的一种方法. Enumeration中只有两个方法: 1.hasMoreElements()  测试此枚举是否包含更多的元素. 2.nextElement()  如 ...

随机推荐

  1. SimpleXML操控XML

    复杂字符串如下: $_xml=<<<_xml <?xml version="1.0" encoding="utf-8"?> < ...

  2. Delphi的分配及释放---New/Dispose, GetMem/FreeMem及其它函数的区别与相同

    转载自:http://www.cnblogs.com/qiusl/p/4028437.html?utm_source=tuicool 我估摸着内存分配+释放是个基础的函数,有些人可能没注意此类函数或细 ...

  3. Python 下载网络mp4视频资源

    最近着迷化学, 特别是古代的冶炼技术,感叹古人的聪明. 春秋时期的炼铁方法是块炼铁,即在较低的冶炼温度下,将铁矿石固态还原获得海绵铁,再经锻打成的铁块.冶炼块炼铁,一般采用地炉.平地筑炉和竖炉3种.铁 ...

  4. tornado高效开发必备之源码详解

    前言:本博文重在tornado源码剖析,相信读者读完此文能够更加深入的了解tornado的运行机制,从而更加高效的使用tornado框架. 本文参考武sir博客地址:http://www.cnblog ...

  5. dbca建库sys用户被锁

    奇怪问题:dbca建库sys用户被锁, 点击密码管理报账户被锁 而且在服务器上无法进行操作系统验证登陆,经过一番检查发现oracle用户和grid用户没有在dba组里 解决: 1.把oracle用户和 ...

  6. Xamarin教程索引页

    持续更新中-- 近期学习处理Xamarin.Android动画内容 Xamarin指南 -- 官网教程翻译 Xamarin跨平台开发 Xamarin Workbooks Xamarin Workboo ...

  7. QT操作EXCEL

    介绍一下最基本的QT对EXCEL的读写操作. 声明:转载于:http://blog.csdn.net/czyt1988/article/details/52121360 在使用QT的操作数据库的时候, ...

  8. webrtc中APM(AudioProcessing module)的使用

    一,实例化和配置 AudioProcessing* apm = AudioProcessing::Create(0); //这里的0指的是channelID,只是一个标注那个通道的表示 apm-> ...

  9. Android Studio中获取SHA1或MD5的方法

    原来在Eclipse中获取SHA1或者MD5,在IDE界面上就可以查找到. 切换到Android Studio后,如何查看呢?找了半天没找到.那就老办法命令行. 第一步.打开Android Studi ...

  10. Vue - 在v-repeat中使用计算属性

    1.从后端获取JSON数据集合后,对单条数据应用计算属性,在Vue.js 0.12版本之前可以在v-repeat所在元素上使用v-component指令 在Vue.js 0.12版本之后使用自定义元素 ...