Condividi tramite


Funzione ExAllocatePoolPriorityUninitialized (wdm.h)

Questa routine è un'opzione wrapper e sostitutiva per ExAllocatePoolWithTagPriority.

ExAllocatePoolPriorityUninitialized alloca la memoria del pool del tipo specificato.

Sintassi

PVOID ExAllocatePoolPriorityUninitialized(
  __drv_strictTypeMatch(__drv_typeExpr)POOL_TYPE PoolType,
  SIZE_T                                         NumberOfBytes,
  ULONG                                          Tag,
  EX_POOL_PRIORITY                               Priority
);

Parametri

PoolType

Tipo di memoria del pool da allocare. Per una descrizione dei tipi di memoria del pool disponibili, vedere POOL_TYPE.

È possibile modificare il valore di enumerazione eseguendo un OR bit per bit con il flag POOL_RAISE_IF_ALLOCATION_FAILURE definito in wdm.h. Questo flag causa la generazione di un'eccezione se la richiesta non può essere soddisfatta. L'uso di questo flag non è consigliato perché è costoso.

Analogamente, è possibile modificare il valore PoolType in bit per bit-ORing con il flag POOL_COLD_ALLOCATION (definito anche in wdm.h) come suggerimento per il kernel per allocare la memoria dalle pagine che probabilmente verranno visualizzate rapidamente. Per ridurre la quantità di memoria del pool residente il più possibile, non è consigliabile fare riferimento a queste allocazioni di frequente. Il flag POOL_COLD_ALLOCATION è solo consultivo.

NumberOfBytes

Numero di byte da allocare.

Tag

Tag del pool da usare per la memoria allocata. Per altre informazioni, vedere il parametro Tag di ExAllocatePoolWithTag.

Priority

Valore di enumerazione EX_POOL_PRIORITY che specifica la priorità di questa richiesta.

Valore restituito

ExAllocatePoolPriorityUninitialized restituisce NULL se nel pool libero non è presente memoria insufficiente per soddisfare la richiesta, a meno che non venga specificato POOL_RAISE_IF_ALLOCATION_FAILURE. In caso contrario, la routine restituisce un puntatore alla memoria allocata.

Commenti

La memoria allocata exAllocatePoolPriorityUninitialized non è inizializzata. Un driver in modalità kernel deve prima zero questa memoria se lo rende visibile al software in modalità utente (per evitare perdite di contenuti potenzialmente privilegiati)

Per altre indicazioni, vedere la sezione Osservazioni di ExAllocatePoolWithTagPriority .

Requisiti

Requisito Valore
Client minimo supportato Richiede WDK per Windows 10 versione 2004. È destinato a Windows 7 e versioni successive del sistema operativo Windows.
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (vedere la sezione Osservazioni)
Regole di conformità DDI HwStorPortProhibitedDDIs, IrqlExAllocatePool, IrqlExFree2, SpNoWait, StorPortStartIo

Vedi anche

ExAllocatePoolWithTagPriority

ExAllocatePoolPriorityZero