code de contrôle FSCTL_GET_REPARSE_POINT
Le code de contrôle FSCTL_GET_REPARSE_POINT récupère les données de point d’analyse associées au fichier ou répertoire spécifié.
Pour effectuer cette opération, appelez FltFsControlFile ou ZwFsControlFile avec les paramètres suivants.
Pour plus d’informations sur les points d’analyse et le code de contrôle FSCTL_GET_REPARSE_POINT, consultez la documentation Microsoft Windows SDK.
Paramètres
FileObject [in] : FltFsControlFile uniquement. Pointeur d’objet de fichier pour le fichier ou le répertoire à partir duquel récupérer les données de point d’analyse. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.
FileHandle [in] : ZwFsControlFile uniquement. Handle de fichier pour le fichier ou le répertoire à partir duquel récupérer les données de point d’analyse. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.
FsControlCode [in] : code de contrôle pour l’opération. Utilisez FSCTL_GET_REPARSE_POINT pour cette opération.
InputBuffer [in] : non utilisé avec cette opération ; défini sur NULL.
InputBufferLength [in] : non utilisé avec cette opération ; défini sur zéro.
OutputBuffer [out] : pointeur vers une structure REPARSE_GUID_DATA_BUFFER ou REPARSE_DATA_BUFFER allouée par l’appelant qui reçoit les données de point d’analyse.
OutputBufferLength [out] : taille, en octets, de la mémoire tampon vers laquelle pointe le paramètre OutputBuffer . Le nombre d’octets est calculé comme suit :
Structure OutputBufferLength REPARSE_GUID_DATA_BUFFER Doit être au moins REPARSE_GUID_DATA_BUFFER_HEADER_SIZE plus la taille des données attendues définies par l’utilisateur ; et doivent être inférieurs ou égaux à MAXIMUM_REPARSE_DATA_BUFFER_SIZE. REPARSE_DATA_BUFFER Doit être au moins REPARSE_DATA_BUFFER_HEADER_SIZE plus la taille des données attendues définies par l’utilisateur ; et doivent être inférieurs ou égaux à MAXIMUM_REPARSE_DATA_BUFFER_SIZE.
Bloc d’état
FltFsControlFile ou ZwFsControlFile retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :
Code | Signification |
---|---|
STATUS_BUFFER_OVERFLOW | La mémoire tampon vers laquelle pointe le paramètre OutputBuffer est suffisamment grande pour contenir la partie fixe de la structure REPARSE_GUID_DATA_BUFFER ou REPARSE_DATA_BUFFER, mais pas les données définies par l’utilisateur. Dans ce cas, seuls les octets OutputBufferLength sont retournés dans la mémoire tampon OutputBuffer . Le paramètre LengthReturned to FltFsControlFile reçoit la longueur réelle, en octets, des données retournées. Il s’agit d’un code d’avertissement. |
STATUS_BUFFER_TOO_SMALL | La mémoire tampon vers laquelle pointe OutputBuffer est inférieure sizeof(REPARSE_GUID_DATA_BUFFER) à et n’est pas assez grande pour contenir les données de point d’analyse. Le paramètre LengthReturned to FltFsControlFile (ou le membre Information du paramètre IoStatus à ZwFsControlFile) reçoit la taille de mémoire tampon requise. Dans ce cas, aucune donnée de point d’analyse n’est retournée. Il s’agit d’un code d’erreur. |
STATUS_IO_REPARSE_DATA_INVALID | L’une des valeurs de paramètre spécifiées n’était pas valide. Il s’agit d’un code d’erreur. |
STATUS_NOT_A_REPARSE_POINT | Le fichier ou répertoire n’est pas un point d’analyse. Il s’agit d’un code d’erreur. |
Configuration requise
Type d’exigence | Condition requise |
---|---|
En-tête | Ntifs.h (inclure Ntifs.h ou Fltkernel.h) |