Funzione FltQueryInformationFile (fltkernel.h)
FltQueryInformationFile recupera informazioni per un determinato file.
Sintassi
NTSTATUS FLTAPI FltQueryInformationFile(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[out] PVOID FileInformation,
[in] ULONG Length,
[in] FILE_INFORMATION_CLASS FileInformationClass,
[out, optional] PULONG LengthReturned
);
Parametri
[in] Instance
Puntatore istanza opaca per il chiamante. Questo parametro è obbligatorio e non può essere NULL.
[in] FileObject
Puntatore a oggetti file per il file. Questo parametro è obbligatorio e non può essere NULL.
[out] FileInformation
Puntatore a un buffer allocato dal chiamante che riceve informazioni sul file. Il parametro FileInformationClass specifica il tipo di informazioni. Questo parametro è obbligatorio e non può essere NULL.
[in] Length
Dimensioni, in byte, del buffer FileInformation .
[in] FileInformationClass
Valore FILE_INFORMATION_CLASS che specifica il tipo di informazioni sui file da restituire nel buffer FileInformation .
[out, optional] LengthReturned
Puntatore a una variabile allocata del chiamante che riceve le dimensioni, in byte, delle informazioni restituite nel buffer FileInformation . Questo parametro è facoltativo e può essere NULL.
Valore restituito
FltQueryInformationFile restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio quanto segue:
Codice restituito | Descrizione |
---|---|
|
Il file si trova in un volume attualmente non montato. Si tratta di un codice di errore. |
Commenti
Un driver minifilter chiama FltQueryInformationFile per recuperare informazioni per il file identificato da FileObject. Il file deve essere aperto.
FltQueryInformationFile restituisce zero in qualsiasi membro di una struttura FILE_XXX_INFORMATION non supportata da un file system specifico.
I chiamanti di FltQueryInformationFile devono essere eseguiti in IRQL = PASSIVE_LEVEL e con le API abilitate.
NOTA: Non chiamare questa routine con un valore IRP di primo livello diverso da NULL, in quanto può causare un deadlock di sistema.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | fltkernel.h (includere Fltkernel.h) |
Libreria | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL (vedere la sezione Osservazioni) |