Partager via


FsRtlQueryKernelEaFile, fonction (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 de le faire 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 FileObject pour envoyer la requête QueryEA à.

[out] ReturnedEaData

Pointeur vers une mémoire tampon FILE_FULL_EA_INFORMATIONde sortie structurée fournie par l’appelant, où les valeurs d’attribut étendue 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 plutôt que de remplir la mémoire tampon avec autant d’EA que possible.

[in] EaList

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

[in] EaListLength

Spécifie la longueur de eaList, si une liste EA a été fournie.

[in, optional] EaIndex

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

[in] RestartScan

Spécifie si l’analyse des EAs doit être redémarrée à partir du début.

[out, optional] LengthReturned

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

Valeur de retour

La routine FsRtlQueryKernelEaFile retourne l’un des codes d’état :

Retourner le code 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 réussi.

Remarques

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

Exigences

Exigence Valeur
client minimum pris en charge Windows 8
serveur minimum pris en charge Windows Server 2012
plateforme cible Windows
d’en-tête ntifs.h

Voir aussi

FsRtlSetKernelEaFile

ZwQueryEaFile

ZwSetEaFile