Fonction IoCheckQuotaBufferValidity (ntifs.h)
La routine IoCheckQuotaBufferValidity vérifie si la mémoire tampon de quota spécifiée est valide.
Syntaxe
NTSTATUS IoCheckQuotaBufferValidity(
[in] PFILE_QUOTA_INFORMATION QuotaBuffer,
[in] ULONG QuotaLength,
[out] PULONG ErrorOffset
);
Paramètres
[in] QuotaBuffer
Pointeur vers la mémoire tampon contenant les entrées de quota à vérifier.
[in] QuotaLength
Longueur, en octets, de QuotaBuffer.
[out] ErrorOffset
Variable pour recevoir le décalage de l’entrée incriminée dans la mémoire tampon de quota si une erreur est détectée. Cette variable est valide uniquement si une erreur se produit.
Valeur retournée
IoCheckQuotaBufferValidity retourne STATUS_SUCCESS si la mémoire tampon de quota est valide. Sinon, elle retourne STATUS_DATATYPE_MISALIGNMENT si la mémoire tampon de quota n’est pas alignée sur ULONG. Pour toutes les autres erreurs, y compris un mauvais alignement des entrées dans la mémoire tampon, IoCheckQuotaBufferValidity retourne STATUS_QUOTA_LIST_INCONSISTENT.
Remarques
IoCheckQuotaBufferValidity vérifie chaque entrée FILE_QUOTA_INFORMATION dans la mémoire tampon de quota spécifiée pour s’assurer que les conditions suivantes sont remplies :
L’entrée entière doit se trouver dans la mémoire tampon.
La valeur de Sid doit être un identificateur de sécurité (SID).
La valeur de SidLength doit correspondre à la longueur en octets de la valeur de Sid.
Pour toutes les entrées à l’exception de la dernière, la valeur de NextEntryOffset doit être supérieure à zéro et doit se trouver sur une limite ULONG.
En outre, IoCheckQuotaBufferValidity vérifie la mémoire tampon de quota pour s’assurer que les conditions suivantes sont remplies :
La mémoire tampon doit être alignée sur ULONG.
La longueur passée dans QuotaLength correspond à la longueur réelle de la mémoire tampon.
La longueur réelle de la mémoire tampon n’est pas constante.
Pour être valide, la mémoire tampon de quota doit remplir toutes ces conditions.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 |
Plateforme cible | Universal |
En-tête | ntifs.h (include Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |