POOL_TYPE-Enumeration (wdm.h)

Der POOL_TYPE-Enumerationstyp gibt den Typ des zuzuweisenden Systemspeichers an.

Syntax

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;

Konstanten

 
NonPagedPool
Nicht ausseitiger Pool, bei dem es sich um nicht auslagerbaren Systemspeicher handelt. Auf einen nicht auslagerten Pool kann von jedem IRQL aus zugegriffen werden, es handelt sich jedoch um eine knappe Ressource, die von Treibern nur bei Bedarf zugeordnet werden sollte.

Der dem Pooltyp NonPagedPool zugeordnete Systemspeicher ist ausführbar. Weitere Informationen finden Sie in der Beschreibung des NonPagedPoolExecute-Pooltyps .

Ab Windows 8 sollten Treiber den größten Teil oder den gesamten nicht auslagerten Arbeitsspeicher aus dem nicht ausseitigen Pool (NX) ohne Auslage anstelle des ausführbaren Pools ohne Auslagerung zuordnen. Weitere Informationen finden Sie in der Beschreibung des NonPagedPoolNx-Pooltyps .
NonPagedPoolExecute
Ab Windows 8 ist NonPagedPoolExecute ein alternativer Name für den NonPagedPool-Wert. Dieser Wert gibt an, dass der zugeordnete Arbeitsspeicher nicht auslagert und ausführbar sein soll, d. h. die Anweisungsausführung ist in diesem Arbeitsspeicher aktiviert. Um einen Treiber von einer früheren Version von Windows zu portieren, sollten Sie in der Regel alle oder die meisten Instanzen des Namens NonPagedPool im Treiberquellcode durch NonPagedPoolNx ersetzen. Vermeiden Sie es, Instanzen des NonPagedPool-Namens durch NonPagedPoolExecute zu ersetzen, außer in Fällen, in denen ausführbarer Arbeitsspeicher explizit erforderlich ist. Weitere Informationen finden Sie unter No-Execute (NX) Nonpaged Pool.For more information, see No-Execute (NX) Nonpaged Pool.
PagedPool
Ausgelagerter Pool, bei dem es sich um ausgelagerten Systemspeicher handelt. Ausgelagerter Pool kann nur über IRQL-DISPATCH_LEVEL < zugeordnet und darauf zugegriffen werden.
NonPagedPoolMustSucceed
Dieser Wert ist nur für die interne Verwendung vorgesehen und nur während des Systemstarts zulässig. Treiber dürfen diesen Wert nicht zu anderen Zeiten als dem Systemstart angeben, da eine Anforderung "muss erfolgreich" das System abstürzt, wenn die angeforderte Arbeitsspeichergröße nicht verfügbar ist.
DontUseThisType
Ist für das System reserviert.
NonPagedPoolCacheAligned
Nicht ausseitiger Pool, ausgerichtet an Prozessorcachegrenzen. Dieser Wert ist nur für die interne Verwendung vorgesehen.
PagedPoolCacheAligned
Ausgelagerter Pool, ausgerichtet auf Prozessorcachegrenzen. Dieser Wert ist nur für die interne Verwendung vorgesehen.
NonPagedPoolCacheAlignedMustS
Dieser Wert ist nur für die interne Verwendung vorgesehen und nur während des Systemstarts zulässig. Dies ist die cacheorientierte Entsprechung von NonPagedPoolMustSucceed.
MaxPoolType
Ist für das System reserviert.
NonPagedPoolBase
Ist für das System reserviert.
NonPagedPoolBaseMustSucceed
Ist für das System reserviert.
NonPagedPoolBaseCacheAligned
Ist für das System reserviert.
NonPagedPoolBaseCacheAlignedMustS
Ist für das System reserviert.
NonPagedPoolSession
Veraltet. Nicht verwenden.
PagedPoolSession
Veraltet. Nicht verwenden.
NonPagedPoolMustSucceedSession
Veraltet. Nicht verwenden.
DontUseThisTypeSession
Veraltet. Nicht verwenden.
NonPagedPoolCacheAlignedSession
Veraltet. Nicht verwenden.
PagedPoolCacheAlignedSession
Veraltet. Nicht verwenden.
NonPagedPoolCacheAlignedMustSSession
Veraltet. Nicht verwenden.
NonPagedPoolNx
Nx-Pool (No-Execute ) ohne Auslagerung. Dieser Pooltyp ist ab Windows 8 verfügbar. Im Gegensatz zum nicht auslagerten Pool, der von NonPagedPool festgelegt wurde, der ausführbaren Arbeitsspeicher zuordnet, belegt der nicht ausseitige NX-Pool Arbeitsspeicher, in dem die Anweisungsausführung deaktiviert ist. Weitere Informationen finden Sie unter No-Execute (NX) Nonpaged Pool.For more information, see No-Execute (NX) Nonpaged Pool.

Auf einen nicht auslagerten Pool kann von jedem IRQL aus zugegriffen werden, es handelt sich jedoch um eine knappe Ressource, die von Treibern nur bei Bedarf zugeordnet werden sollte.
NonPagedPoolNxCacheAligned
NX-Pool ohne Auslagerung, ausgerichtet an Prozessorcachegrenzen. Dieser Wert ist für die exklusive Verwendung durch das Betriebssystem reserviert.
NonPagedPoolSessionNx
Reserviert für die ausschließliche Verwendung durch das Betriebssystem.

Anforderungen

Anforderung Wert
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h)

Weitere Informationen

ExAllocatePoolWithQuotaTag

ExAllocatePoolWithTag

ExAllocatePoolWithTagPriority

ExInitializeLookasideListEx

ExInitializeNPagedLookasideList

ExInitializePagedLookasideList

LookasideListAllocateEx

SeAssignSecurity

SeAssignSecurityEx