Partager via


Fonction FsRtlQueryKernelEaFile (ntifs.h)

La routine FsRtlQueryKernelEaFile est utilisée pour générer une requête QueryEA explicite et attendre de façon synchrone qu’elle se termine, en retournant le résultat. Cela permet à l’appelant d’effectuer cette opération par FileObject au lieu d’un handle.

Syntaxe

NTSTATUS FsRtlQueryKernelEaFile(
  [in]            PFILE_OBJECT FileObject,
  [out]           PVOID        ReturnedEaData,
  [in]            ULONG        Length,
  [in]            BOOLEAN      ReturnSingleEntry,
  [in]            PVOID        EaList,
  [in]            ULONG        EaListLength,
  [in, optional]  PULONG       EaIndex,
  [in]            BOOLEAN      RestartScan,
  [out, optional] PULONG       LengthReturned
);

Paramètres

[in] FileObject

Pointeur vers un Objet FileObject vers lequel envoyer la requête QueryEA.

[out] ReturnedEaData

Pointeur vers une mémoire tampon de sortie FILE_FULL_EA_INFORMATION structurée fournie par l’appelant, où les valeurs d’attribut étendu doivent être retournées.

[in] Length

Spécifie la longueur, en octets, de ReturnedEaData

[in] ReturnSingleEntry

Spécifie si une seule entrée doit être retournée au lieu de remplir la mémoire tampon avec autant d’EAs que possible.

[in] EaList

Pointeur vers une mémoire tampon d’entrée FILE_GET_EA_INFORMATION structurée fournie par l’appelant, qui spécifie les attributs étendus à interroger. Ce paramètre est facultatif et peut être NULL.

[in] EaListLength

Spécifie la longueur d’EaList, si une liste EA a été fournie.

[in, optional] EaIndex

Fournit l’index facultatif d’un EA dont la valeur doit être retournée. S’il est spécifié, seul cet EA est retourné.

[in] RestartScan

Spécifie si l’analyse des EAs doit être redémarrée depuis le début.

[out, optional] LengthReturned

Spécifie la quantité de données valides retournées dans la mémoire tampon ReturnedEaData .

Valeur retournée

La routine FsRtlQueryKernelEaFile retourne l’un des codes status :

Code de retour Description
STATUS_EAS_NOT_SUPPORTED
Le système de fichiers ne prend pas en charge les attributs étendus.
STATUS_INVALID_DEVICE_REQUEST
La demande a échoué, car il s’agissait d’un appareil direct ouvert.
STATUS_INSUFFICIENT_RESOURCES
Le paquet de requête d’E/S (IRP) n’a pas pu être alloué pour cette requête.
STATUS_SUCCESS
La demande a abouti.

Remarques

Cette routine FsRtlQueryKernelEaFile suppose que toutes les mémoires tampons passées proviennent du mode noyau, car elle nécessite que les mémoires tampons d’entrée et de sortie spécifiées, si elles sont spécifiées, soient des adresses en mode noyau. L’opération échoue si une adresse de mode utilisateur est spécifiée.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
Plateforme cible Windows
En-tête ntifs.h

Voir aussi

FsRtlSetKernelEaFile

ZwQueryEaFile

ZwSetEaFile