Funzione FsRtlQueryKernelEaFile (ntifs.h)

La routine FsRtlQueryKernelEaFile viene usata per compilare una richiesta QueryEA esplicita e attendere in modo sincrono il completamento, restituendo il risultato. In questo modo il chiamante può eseguire questa operazione da FileObject anziché da un handle.

Sintassi

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
);

Parametri

[in] FileObject

Puntatore a un FileObject a cui inviare la richiesta QueryEA.

[out] ReturnedEaData

Puntatore a un buffer di output strutturato FILE_FULL_EA_INFORMATION fornito dal chiamante, in cui devono essere restituiti i valori degli attributi estesi.

[in] Length

Specifica la lunghezza, in byte, di ReturnedEaData

[in] ReturnSingleEntry

Specifica se deve essere restituita una sola voce anziché riempire il buffer con il maggior numero possibile di EA.

[in] EaList

Puntatore a un buffer di input strutturato FILE_GET_EA_INFORMATION fornito dal chiamante, che specifica gli attributi estesi su cui eseguire query. Questo parametro è facoltativo e può essere NULL.

[in] EaListLength

Specifica la lunghezza di EaList, se è stato specificato un elenco EA.

[in, optional] EaIndex

Fornisce l'indice facoltativo di un EA il cui valore deve essere restituito. Se specificato, viene restituito solo l'EA.

[in] RestartScan

Specifica se l'analisi degli EA deve essere riavviata dall'inizio.

[out, optional] LengthReturned

Specifica la quantità di dati validi restituiti nel buffer ReturnedEaData .

Valore restituito

La routine FsRtlQueryKernelEaFile restituisce uno dei codici di stato:

Codice restituito Descrizione
STATUS_EAS_NOT_SUPPORTED
Il file system non supporta gli attributi estesi.
STATUS_INVALID_DEVICE_REQUEST
La richiesta non è riuscita perché era un dispositivo diretto aperto.
STATUS_INSUFFICIENT_RESOURCES
Impossibile allocare il pacchetto di richiesta di I/O per questa richiesta.
STATUS_SUCCESS
La richiesta è stata completata.

Commenti

Questa routine FsRtlQueryKernelEaFile presuppone che tutti i buffer passati provenano dalla modalità kernel perché richiede che i buffer di input e output specificati, se specificato, siano indirizzi in modalità kernel. L'operazione avrà esito negativo se viene specificato un indirizzo in modalità utente.

Requisiti

Requisito Valore
Client minimo supportato Windows 8
Server minimo supportato Windows Server 2012
Piattaforma di destinazione Windows
Intestazione ntifs.h

Vedi anche

FsRtlSetKernelEaFile

ZwQueryEaFile

ZwSetEaFile