Partager via


Routine MRxQueryFileInfo

La routineMRxQueryFileInfo est appelée par RDBSS pour demander qu’un fichier de requête de mini-redirecteur réseau s’affiche sur un objet de système de fichiers.

Syntaxe

PMRX_CALLDOWN MRxQueryFileInfo;

NTSTATUS MRxQueryFileInfo(
  _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

MRxQueryFileInfo 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 fichier é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_INSUFFICIENT_RESOURCES

Les ressources étaient insuffisantes pour terminer la requête.

STATUS_INVALID_NETWORK_RESPONSE

Une mémoire tampon d’informations de fichier non valide a été reçue du serveur distant.

STATUS_INVALID_PARAMETER

Un paramètre non valide a été spécifié.

Cette valeur peut être retournée si une valeur non valide pour le membre FileInformationClass du RX_CONTEXT est transmise. Cette valeur peut également être retournée si le membre FileInformationClass spécifié est pour FileStreamInformation et si le système de fichiers distant ne prend pas en charge les flux.

STATUS_OBJECT_NAME_NOT_FOUND

Le nom de l’objet est introuvable. Il s’agit d’un code d’erreur.

Remarques

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

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

Le membre Info.FileInformationClass est défini sur IrpSp-Parameters.QueryFile.FileInformationClass>, la valeur FILE_INFORMATION_CLASS demandée.

Le membre Info.Buffer est défini sur la mémoire tampon utilisateur à partir du paquet de demande d’E/S.

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

Le membre QueryDirectory.FileIndex est défini sur IrpSp-Parameters.QueryDirectory.FileIndex>.

Le membre QueryDirectory.RestartScan est défini si IrpSp-Flags> a le SL_RESTART_SCAN bit défini.

Le membre QueryDirectory.ReturnSingleEntry est défini si IrpSp-Flags> a SL_RETURN_SINGLE_ENTRY bit défini.

Le membre QueryDirectory.InitialQuery est défini si Fobx-UnicodeQueryTemplate.Buffer> a la valeur NULL et si Fobx-Flags> n’a pas le FOBX_FLAG_MATCH_ALL 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 membre Info.Length moins la longueur des informations de fichier retournées. Si l’appel à MRxQueryFileInfo a réussi, RDBSS définit le membre IoStatus.Information de l’IRP sur IrpSp-Parameters.QueryFile.Length> moins le membre Info.LengthRemaining de RX_CONTEXT.

RDBSS ne prend pas en charge les requêtes avec le bit SL_INDEX_SPECIFIED des indicateurs IrpSp-Flags> définis. Un mini-redirecteur réseau ne reçoit pas d’appels à MRxQueryFileInfo avec le SL_INDEX_SPECIFIED bit d’IrpSp-Flags> défini.

Configuration requise

Plateforme cible

Desktop (Expérience utilisateur)

En-tête

Mrx.h (inclure Mrx.h)

Voir aussi

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo