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

Voir aussi

FILE_QUOTA_INFORMATION

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA