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. C++开始前篇,深入编译链接(3)

    一,COMMON块 什么是COMMON块,这是一种机制,早期的Fortran没有动态分配空间的机制,程序员必须事先声明它所需要的临时使用空间的大小.Fortran把这种空间叫做COMMON块,当不同的 ...

  2. Linux时间同步,ntpdate命令、ntpd服务详解

    声明:以下内容来自网友整理(http://blog.sina.com.cn/s/blog_636a55070101u1mg.html),为便于以后学习暂时收录,请不要随意转载 Linux默认情况下,系 ...

  3. Android中surface,surfaceview,sufaceholder以及surface客户端的关系

    这里以照相机camera功能的实现来解释surface,surfaceview,sufaceholder以及surface客户端(本例子中指的是camera)的关系,surface及其client(客 ...

  4. 多Linux系统如何复用/home目录

    Brief: 1./home单独分区:2.不同系统/home建立不同的用户名:3.不同系统/home对其他用户授权 Linux下/home文件夹可以通用吗?例如我机器上同时装了两个Linux系统,可以 ...

  5. 批量下载小说网站上的小说(python爬虫)

    随便说点什么 因为在学python,所有自然而然的就掉进了爬虫这个坑里,好吧,主要是因为我觉得爬虫比较酷,才入坑的. 想想看,你可以批量自动的采集互联网上海量的资料数据,是多么令人激动啊! 所以我就被 ...

  6. F#之旅7 - 图片处理入门

    首先,隆重介绍今天的主角:ImageProcessor(http://imageprocessor.org/).虽然我并没有在实际工作中用到这个库,但是它干净利索的使用方式打动了我,很久以前就存了下来 ...

  7. JS表单前台校验模板

    表单校验是几乎所有WEB应用都会用到的,这里提供一种用原生JavaScript的简单前台校验 <form id="registerForm" action="&qu ...

  8. vim配置及快捷键

    vim+python http://codingpy.com/article/vim-and-python-match-in-heaven/ vim+c++ http://jikaichen.com/ ...

  9. [Leetcode] Number of Digit Ones

    Given an integer n, count the total number of digit 1 appearing in all non-negative integers less th ...

  10. 如何发布付费WP8应用

    如何发布付费应用,听起来蛮简单的,事实上也确实如此,但是发布付费WP8应用前的资料填写却让我郁闷不已. 我打开仪表板,点击进入账户--账户摘要,填写税务资料和付款账户,发现付款账户保存成功了,税务资料 ...