FLT_PARAMETERS pour IRP_MJ_QUERY_QUOTA union

Composant Union utilisé lorsque le champ MajorFunction de la structure FLT_IO_PARAMETER_BLOCK de l’opération est IRP_MJ_QUERY_QUOTA.

Syntaxe

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    ULONG                       Length;
    PSID                        StartSid;
    PFILE_GET_QUOTA_INFORMATION SidList;
    ULONG                       SidListLength;
    PVOID                       QuotaBuffer;
    PMLD                        MdlAddress;
  } QueryQuota;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Membres

  • QueryQuota : structure contenant les membres suivants.

  • Longueur : longueur, en octets, de la mémoire tampon vers laquelle QuotaBuffer pointe.

  • StartSid : pointeur facultatif vers l’identificateur de sécurité (SID) de l’entrée à partir de laquelle commencer l’analyse de la liste de quotas. Ce paramètre est ignoré si l’indicateur de SL_INDEX_SPECIFIED n’est pas défini dans la structure FLT_IO_PARAMETER_BLOCK de l’opération ou si SidList pointe vers une liste sans valeur.

  • SidList : pointeur vers une mémoire tampon d’entrée structurée FILE_GET_QUOTA_INFORMATION fournie par l’appelant qui spécifie les SID dont les informations de quota doivent être interrogées.

  • SidListLength : longueur, en octets, de la mémoire tampon vers laquelle SidList pointe.

  • QuotaBuffer : pointeur vers une mémoire tampon de sortie FILE_QUOTA_INFORMATION structurée fournie par l’appelant où les informations de quota doivent être retournées. Ce membre est facultatif et peut être NULL si une MDL est fournie dans MdlAddress. Consultez Remarques.

  • MdlAddress : adresse d’une liste de descripteurs de mémoire (MDL) décrivant la mémoire tampon vers laquelle QuotaBuffer pointe. Ce membre est facultatif et peut être NULL si une mémoire tampon est fournie dans QuotaBuffer. Consultez Remarques.

Remarques

La structure FLT_PARAMETERS pour les opérations de IRP_MJ_QUERY_QUOTA contient les paramètres d’une opération d’informations de quota de requête basée sur IRP représentée par une structure de données de rappel (FLT_CALLBACK_DATA). Il est contenu dans une structure FLT_IO_PARAMETER_BLOCK.

Si les mémoires tampons QuotaBuffer et MdlAddress sont fournies, il est recommandé que les minifiltres utilisent le MDL. La mémoire vers laquelle QuotaBuffer pointe est valide lorsqu’il s’agit d’une adresse en mode utilisateur accessible dans le contexte du processus d’appel, ou s’il s’agit d’une adresse en mode noyau.

Si un minifiltre modifie la valeur de MdlAddress, après son rappel post-opération, Filter Manager libère le MDL actuellement stocké dans MdlAddress et restaure la valeur précédente de MdlAddress.

IRP_MJ_QUERY_QUOTA est une opération basée sur IRP.

Configuration requise

Type d’exigence Condition requise
En-tête Fltkernel.h (inclure Fltkernel.h)

Voir aussi

FILE_QUOTA_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

IoCheckQuotaBufferValidity

IRP_MJ_QUERY_QUOTA

SID