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) |