Partager via


Routine MRxQueryQuotaInfo

La routine MRxQueryQuotaInfo est appelée par RDBSS pour demander qu’un mini-redirecteur réseau interroge les informations de quota sur un objet de système de fichiers.

Syntaxe

PMRX_CALLDOWN MRxQueryQuotaInfo;

NTSTATUS MRxQueryQuotaInfo(
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }

Paramètres

RxContext [in, out]
Pointeur vers la structure RX_CONTEXT. Ce paramètre contient l’IRP qui demande l’opération.

Valeur retournée

MRxQueryQuotaInfo retourne STATUS_SUCCESS sur la réussite ou une valeur NTSTATUS appropriée, par exemple :

Code de retour Description
STATUS_ACCESS_DENIED

L’appelant ne dispose pas de la sécurité appropriée pour cette opération.

STATUS_BUFFER_OVERFLOW

La mémoire tampon pour recevoir les informations de quota était trop petite.

Cette valeur de retour doit être considérée comme une réussite et autant de données valides que possible doivent être retournées dans le membre Info.Buffer de la structure RX_CONTEXT pointée vers le paramètre RxContext .

STATUS_BUFFER_TOO_SMALL

La mémoire tampon est trop petite pour recevoir les données demandées.

Si cette valeur est retournée, le membre InformationToReturn de la structure RX_CONTEXT pointée par le paramètre RxContext doit être défini sur la taille minimale de la mémoire tampon attendue pour que l’appel réussisse.

STATUS_CONNECTION_DISCONNECTED

La connexion a été déconnectée. Il s’agit d’un code d’erreur.

STATUS_INSUFFICIENT_RESOURCES

Les ressources étaient insuffisantes pour terminer la requête. Il s’agit d’un code d’erreur.

STATUS_INVALID_PARAMETER

Un paramètre non valide a été spécifié. Il s’agit d’un code d’erreur.

STATUS_NOT_SUPPORTED

Les quotas ne sont pas pris en charge.

Remarques

RDBSS émet un appel à MRxQueryQuotaInfo en réponse à la réception d’une demande de IRP_MJ_QUERY_QUOTA .

Avant d’appeler MRxQueryQuotaInfo, RDBSS modifie les membres suivants dans la structure RX_CONTEXT pointée vers le paramètre RxContext :

Le membre Info.Buffer est défini sur la mémoire tampon de l’utilisateur à partir du paquet de demande d’E/S. Cette mémoire tampon a déjà été verrouillée par RDBSS si nécessaire.

Le membre Info.LengthRemaining est défini sur IrpSp-Parameters.QueryQuota.Length>.

Le membre QueryQuota.SidList est défini sur IrpSp-Parameters.QueryQuota.SidList>.

Le membre QueryQuota.SidListLength est défini sur IrpSp-Parameters.QueryQuota.SidListLength>.

Le membre QueryQuota.StartSid est défini sur IrpSp-Parameters.QueryQuota.StartSid>.

Le membre QueryQuota.Length est défini sur IrpSp-Parameters.QueryQuota.Length>.

Le membre QueryQuota.RestartScan a la valeur différente de zéro si IrpSp-Flags> a le SL_RESTART_SCAN bit défini.

Le membre QueryQuota.ReturnSingleEntry a la valeur différente de zéro si IrpSp-Flags> a le SL_RETURN_SINGLE_ENTRY bit défini.

Le membre QueryQuota.IndexSpecified a la valeur différente de zéro si IrpSp-Flags> a le SL_INDEX_SPECIFIED bit défini.

En cas de réussite, le mini-redirecteur réseau doit définir le membre Info.LengthRemaining de la structure RX_CONTEXT sur la longueur des informations de quota à retourner. Si l’appel à MRxQueryQuotaInfo a réussi, RDBSS définit le membre IoStatus.Information de l’IRP sur le membre Info.LengthRemaining de RX_CONTEXT.

Si l’appel à MRxQueryQuotaInfo réussit, le membre InformationToReturn de la structure RX_CONTEXT doit être défini sur la longueur des informations de quota retournées. Si l’appel échoue, le membre InformationToReturn de RX_CONTEXT doit être défini sur zéro.

Configuration requise

Plateforme cible

Desktop (Expérience utilisateur)

En-tête

Mrx.h (inclure Mrx.h)

Voir aussi

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo