Share via


code de contrôle FSCTL_ENUM_EXTERNAL_BACKING

Le code de contrôle FSCTL_ENUM_EXTERNAL_BACKING commence ou continue une énumération de fichiers sur un volume qui a une source de stockage. Pour chaque exécution réussie de la demande, un identificateur pour le fichier sauvegardé est retourné. Tous les fichiers sauvegardés sont énumérés, quel que soit le fournisseur externe qui les sauvegarde. Les requêtes FSCTL_ENUM_EXTERNAL_BACKING successives sont nécessaires pour énumérer tous les fichiers sauvegardés sur le volume.

Pour effectuer cette opération, appelez FltFsControlFile ou ZwFsControlFile avec les paramètres suivants.

Paramètres

  • Instance [in] : FltFsControlFile uniquement. Pointeur instance opaque pour l’appelant. Ce paramètre est obligatoire et ne peut pas être NULL.

  • FileObject [in] : FltFsControlFile uniquement. Objet pointeur de fichier spécifiant le volume à démonter. Ce paramètre est obligatoire et ne peut pas être NULL.

  • FileHandle [in] : ZwFsControlFile uniquement. Handle de fichier du volume à démonter. Ce paramètre est obligatoire et ne peut pas être NULL.

  • FsControlCode [in] : code de contrôle pour l’opération. Utilisez FSCTL_ENUM_EXTERNAL_BACKING pour cette opération.

  • InputBuffer [in] : Aucun. Défini sur NULL.

  • InputBufferLength [in] : défini sur 0.

  • OutputBuffer [out] : pointeur vers la mémoire tampon de sortie, qui doit avoir une taille suffisante pour recevoir une ou plusieurs structures WOF_EXTERNAL_FILE_ID .

  • OutputBufferLength [out] : taille de la mémoire tampon de sortie pointée par OutputBuffer. OutputBufferLength doit être >= sizeof(WOF_EXTERNAL_FILE_ID).

  • LengthReturned [out] : spécifie le nombre d’octets écrits dans OutputBuffer en cas de réussite de l’exécution.

Bloc d’état

FltFsControlFile ou ZwFsControlFile retourne STATUS_SUCCESS si l’opération réussit. Sinon, la fonction appropriée peut retourner l’une des valeurs NTSTATUS suivantes.

Code Signification
STATUS_ACCESS_DENIED Le demandeur ne dispose pas de privilèges administratifs.
STATUS_BUFFER_TOO_SMALL La longueur de la mémoire tampon de sortie pointée par OutputBuffer et spécifiée par OutputBufferLength est trop petite.
STATUS_NO_MORE_FILES Plus aucun fichier sur le volume n’a de source de stockage.
STATUS_INTERNAL_ERROR Le volume demandé n’est pas accessible.
STATUS_INVALID_DEVICE_REQUEST Le service de sauvegarde n’est pas présent ou n’est pas démarré.

Remarques

La structure WOF_EXTERNAL_FILE_ID retournée dans OutputBuffer contient des identificateurs de fichier uniques pour les fichiers sauvegardés. La structure est définie dans ntifs.h comme suit.

typedef struct _WOF_EXTERNAL_FILE_ID {
    FILE_ID_128 FileId;
} WOF_EXTERNAL_FILE_ID, *PWOF_EXTERNAL_FILE_ID;

Une demande FSCTL_ENUM_EXTERNAL_BACKING est émise successivement pour récupérer les identificateurs de chaque fichier sur le volume ayant une source de stockage. Lorsque tous les fichiers sont énumérés, le code STATUS_NO_MORE_FILES status est retourné.

Configuration requise

Type d’exigence Condition requise
Client minimal pris en charge Mise à jour Windows 8.1
En-tête Ntifs.h (inclure Ntifs.h ou Fltkernel.h)

Voir aussi

FltFsControlFile

ZwFsControlFile

FSCTL_GET_EXTERNAL_BACKING