Partager via


code de contrôle FSCTL_ENUM_EXTERNAL_BACKING

Le code de contrôle FSCTL_ENUM_EXTERNAL_BACKING commence ou poursuit une énumération de fichiers sur un volume qui possède une source de stockage. Pour chaque achèvement réussi 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 le sauvegarde. Les demandes de FSCTL_ENUM_EXTERNAL_BACKING successives sont requises 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 d’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émonté. Ce paramètre est obligatoire et ne peut pas être NULL.

  • FileHandle [in] : ZwFsControlFile uniquement. Handle de fichier du volume à démoner. 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 lors de la saisie semi-automatique.

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 Sens
STATUS_ACCÈS_REFUSÉ Le demandeur n’a pas de privilèges d’administration.
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 de fichiers sur le volume ont une source de stockage.
ERREUR_INTERNE_STATUT Le volume demandé n’est pas accessible.
STATUS_INVALID_DEVICE_REQUEST Le service de stockage n’est pas présent ou ne démarre pas.

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 de 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 d’état STATUS_NO_MORE_FILES est retourné.

Spécifications

Type de condition requise Besoin
Client minimum pris en charge Mise à jour Windows 8.1
En-tête de page Ntifs.h (include Ntifs.h ou Fltkernel.h)

Voir aussi

FltFsControlFile

ZwFsControlFile

FSCTL_GET_EXTERNAL_BACKING