POOL_TYPE enumeration


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)

时间: 2024-10-25 04:16:44

POOL_TYPE enumeration的相关文章

YJX_Driver_034_内存管理相关内核API

1. 内存管理相关内核API A.RtlCopyMemory,RtlCopyBytes和RtlMoveMemory C.RtlZeroMemory和RtlFillMemory D.RtlEqualMemory E.ExAllocatePool和 ExFreePool F.重载new和delete操作符 [225]下面是从MSDN里面,复制出来的函数的说明 “ RtlCopyMemory//把地址Source开始的长度为Length这块内存数据 复制到Destination VOID RtlCop

JDK的弃儿:Vector、Stack、Hashtable、Enumeration

随着JDK的发展,一些设计缺陷或者性能不足的类库难免会被淘汰,最常见的就是Vector.Stack.HashTable和Enumeration了. Vector(@since 1.0) 首先看看Vector的UML类图,可以看出,他是一个与ArrayList有着相同继承体系的类,大致功能也和ArrayList一样.Vector与ArrayList最大的不同点在于它是线程安全的,因为其内部几乎所有方法都用了synchronized来修饰.但是,Synchronized是重量级锁,读写操作也没有做适

CPE命名标准 - Common Platform Enumeration

参考网站:https://nmap.org/book/output-formats-cpe.html 打开上面的网站,看第一段内容: Common Platform Enumeration (CPE) is a standardized way to name software applications, operating systems, and hardware platforms. CPE是(Common Platform Enumeration的缩写)以标准化方式为软件应用程序.操作系

简单介绍java Enumeration(转)

Enumeration接口 Enumeration接口本身不是一个数据结构.但是,对其他数据结构非常重要. Enumeration接口定义了从一个数据结构得到连续数据的手段.例如,Enumeration定义了一个名为nextElement的方法,可以用来从含有多个元素的数据结构中得到的下一个元素. Enumeration接口提供了一套标准的方法,由于Enumeration是一个接口,它的角色局限于为数据结构提供方法协议.下面是一个使用的例子: //e is an object that impl

Scala 枚举: Enumeration 概述

Spark Scala 枚举 * Java 中的那套枚举并不能直接使用到 Scala 中* Scala 中的枚举使用轻量级 Enumeration 进行实现* Scala 中的枚举其实是一个伴随对象* Scala 中的枚举没有方法重写功能* Scala 中的枚举其实都是 Enumeration.Value 这个对象 和Java和C++不同,Scala并没有枚举类型.不过,Spark标准类库提供了一个 Enumeration类型,可以用于生成枚举,定义一个枚举类的对象,并以Value方法调用枚举中

java集合18--Iterator和Enumeration比较

概要 这一章,我们对Iterator和Enumeration进行比较学习.内容包括: 第1部分 Iterator和Enumeration区别 第2部分 Iterator和Enumeration实例 转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311275 第1部分 Iterator和Enumeration区别 在Java集合中,我们通常都通过 "Iterator(迭代器)" 或 &qu

Java Enumeration接口

Enumeration接口定义 Enumeration接口与Iterator接口用法比较 一. 1.Enumeration接口定义 public interface Enumeration<E>实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个.连续调用 nextElement 方法将返回一系列的连续元素. 例如,要输出 Vector<E> v 的所有元素,可使用以下方法: for (Enumeration<E> e = v.elements();

Java 获取Enumeration类型的集合

学习到java的io流中关于序列流SequenceInputStream使用,其中把3个以上的流串联起来操作, 使用的参数是生成运行时类型为 InputStream 对象的 Enumeration 型参数,本人对Enumeration集合 了解较少,便记录一下: 方法一: 通过Vector集合来获得: 1 InputStream is1 = new FileInputStream("d:\\1.txt"); 2 InputStream is2 = new FileInputStream

小白日记46:kali渗透测试之Web渗透-SqlMap自动注入(四)-sqlmap参数详解- Enumeration,Brute force,UDF injection,File system,OS,Windows Registry,General,Miscellaneous

sqlmap自动注入 Enumeration[数据枚举] --privileges -U username[CU 当前账号] -D dvwa -T users -C user --columns  [指定数据库,表,列] --exclude-sysdbs [排除系统层的库] ******************************************************************************* #查具体数据 [前提:当前数据库用户有权读取informatio