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 dell'istanza opaca per il chiamante. Questo parametro è obbligatorio e non può essere NULL.
[in] FileObject
Puntatore all'oggetto 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 sul file da restituire nel buffer FileInformation.
[out, optional] LengthReturned
Puntatore a una variabile allocata dal 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:
Codice restituito | Descrizione |
---|---|
|
Il file si trova in un volume attualmente non montato. Si tratta di un codice di errore. |
Osservazioni
Un driver minifiltro 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, perché ciò può causare un deadlock di sistema.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | fltkernel.h (include Fltkernel.h) |
libreria | FltMgr.lib |
dll | Fltmgr.sys |
IRQL | PASSIVE_LEVEL (vedere la sezione Osservazioni) |