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. UML大战需求分析——阅读笔记04

    读<UML大战需求分析>有感04 开发某系统的重要前提是: 这个系统有谁在用? 这些人通过这个系统能做什么事? 一般搞清楚这件事,再画个业务流程图,就能条例清楚的表达系统的需求了.作为一个 ...

  2. Blender 之修改器代码分析

                           Blender的修改器(modifier)模块,默认界面右下块(Property)面板的扳手,分类(修改.生成.形变.模拟)列出所有的修改器.也可以空格键 ...

  3. Notepad++ 使用nppexec插件配置简易开发环境

    notepad++  采用nppexec插件来配置简易开发环境,而不需要笨重的IDE以及麻烦.重复的命令行.控制台输入: 以下为本人最近用到的脚本配置: //编程语言脚本中$(NAME_PART).x ...

  4. 重写AgileEAS.NET SOA 中间件平台账号密码的加密算法

    一.平台简介 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适 ...

  5. 学习微信小程序之css11内外边距集合

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. shell命令大全

    请跳转至:http://www.lampweb.org/linux/2/3.html

  7. 前端优化 - 打开速度1s

    先看一下网页的加载流程: 1.解析html结构2.加载外部脚本和样式表文件3.解析并执行脚本(脚本会阻塞页面的加载)4.DOM树构建完成 (DOMContentLoaded)5.加载图片等外部文件6. ...

  8. Java中是否可以调用一个类中的main方法?

    前几天面试的时候,被问到在Java中是否可以调用一个类中的main方法?回来测试了下,答案是可以!代码如下: main1中调用main2的主方法 package org.fiu.test; impor ...

  9. win10 下oracle tns通过IP无法访问的解决办法

     在Oracle安装目录下\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN下找到listener.ora文件,编辑对应项为: LISTE ...

  10. Operation not allowed after ResultSet closed--操作mysql数据库

    一个stmt多个rs进行操作.那么从stmt得到的rs1,必须马上操作此rs1后,才能去得到另外的rs2,再对rs2操作.不能互相交替使用,会引起rs已经关闭错误——Operation not all ...