ExAllocatePoolPriorityUninitialized, fonction (wdm.h)
Cette routine est une option de wrapper et de remplacement pour ExAllocatePoolWithTagPriority.
ExAllocatePoolPriorityUninitialized alloue la mémoire du pool du type spécifié.
Syntaxe
PVOID ExAllocatePoolPriorityUninitialized(
__drv_strictTypeMatch(__drv_typeExpr)POOL_TYPE PoolType,
SIZE_T NumberOfBytes,
ULONG Tag,
EX_POOL_PRIORITY Priority
);
Paramètres
PoolType
Type de mémoire du pool à allouer. Pour obtenir une description des types de mémoire de pool disponibles, consultez POOL_TYPE.
Vous pouvez modifier la valeur d’énumération en effectuant un bit-OR avec l’indicateur de POOL_RAISE_IF_ALLOCATION_FAILURE défini dans wdm.h
. Cet indicateur déclenche une exception si la demande ne peut pas être satisfaite. L’utilisation de cet indicateur n’est pas recommandée, car il est coûteux.
De même, vous pouvez modifier la valeur PoolType par bitwise-ORing cette valeur avec l’indicateur de POOL_COLD_ALLOCATION (également défini dans wdm.h
) comme indicateur au noyau pour allouer la mémoire à partir de pages susceptibles d’être paginées rapidement. Pour réduire autant que possible la quantité de mémoire du pool résident, vous ne devez pas référencer ces allocations fréquemment. L’indicateur POOL_COLD_ALLOCATION n’est qu’un avis.
NumberOfBytes
Nombre d’octets à allouer.
Tag
Balise de pool à utiliser pour la mémoire allouée. Pour plus d’informations, consultez le paramètre Tag de ExAllocatePoolWithTag.
Priority
Valeur d’énumération EX_POOL_PRIORITY spécifiant la priorité de cette requête.
Valeur de retour
ExAllocatePoolPriorityUninitialized retourne NULL s’il existe une mémoire insuffisante dans le pool libre pour satisfaire la requête, sauf si POOL_RAISE_IF_ALLOCATION_FAILURE est spécifié. Sinon, la routine retourne un pointeur vers la mémoire allouée.
Remarques
Mémoire qui ExAllocatePoolPriorityUninitialized alloue est non initialisée. Un pilote en mode noyau doit d’abord zéro cette mémoire s’il va le rendre visible par les logiciels en mode utilisateur (pour éviter la fuite de contenu potentiellement privilégié)
Consultez la section Remarques de ExAllocatePoolWithTagPriority pour obtenir des conseils supplémentaires.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Nécessite WDK pour Windows 10, version 2004. Cible Windows 7 et versions ultérieures du système d’exploitation Windows. |
plateforme cible | Universel |
d’en-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (voir la section Remarques) |
règles de conformité DDI | HwStorPortProhibitedDDIs, IrqlExAllocatePool, IrqlExFree2, SpNoWait, StorPortStartIo |