Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le ExAllocatePoolQuotaUninitialized routine alloue de la mémoire du pool, en chargeant le quota par rapport au processus actuel.
Cette routine est une option de wrapper et de remplacement pour ExAllocatePoolWithQuotaTag. Il n’existe aucune différence dans les fonctionnalités.
Syntaxe
PVOID ExAllocatePoolQuotaUninitialized(
__drv_strictTypeMatch(__drv_typeExpr)POOL_TYPE PoolType,
SIZE_T NumberOfBytes,
ULONG Tag
);
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.
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. Spécifiez la balise de pool en tant que littéral de caractère différent de zéro d’un à quatre caractères délimités par des guillemets simples (par exemple, Tag1). La chaîne est généralement spécifiée dans l’ordre inverse (par exemple, 1gaT). Chaque caractère ASCII de la balise doit être une valeur dans la plage 0x20 (espace) à 0x7E (tilde). Chaque chemin de code d’allocation doit utiliser une balise de pool unique pour aider les débogueurs et les vérificateurs à identifier le chemin du code.
Valeur de retour
ExAllocatePoolQuotaUninitialized retourne un pointeur vers le pool alloué.
Si la demande ne peut pas être satisfaite, ExAllocatePoolQuotaUninitialized déclenche une exception, sauf si POOL_QUOTA_FAIL_INSTEAD_OF_RAISE est spécifié. L’utilisation de POOL_QUOTA_FAIL_INSTEAD_OF_RAISE est recommandée pour des raisons de performances.
Remarques
Cette routine est appelée par les pilotes de niveau supérieur qui allouent de la mémoire pour satisfaire une requête dans le contexte du processus qui a initialement effectué la requête d’E/S. Les pilotes de niveau inférieur appellent ExAllocatePoolUninitialized à la place.
Mémoire qui ExAllocatePoolQuotaUninitialized 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 ExAllocatePoolWithQuotaTag 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 | IRQL <= DISPATCH_LEVEL (voir la section Remarques) |
| règles de conformité DDI | HwStorPortProhibitedDDIs, SpNoWait, StorPortStartIo |