Freigeben über


FltQueryInformationFile-Funktion (fltkernel.h)

FltQueryInformationFile ruft Informationen für eine bestimmte Datei ab.

Syntax

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

Parameter

[in] Instance

Undurchsichtiger instance Zeiger für den Aufrufer. Dieser Parameter ist erforderlich und darf nicht NULL sein.

[in] FileObject

Dateiobjektzeiger für die Datei. Dieser Parameter ist erforderlich und darf nicht NULL sein.

[out] FileInformation

Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der Informationen zur Datei empfängt. Der Parameter FileInformationClass gibt den Typ der Informationen an. Dieser Parameter ist erforderlich und darf nicht NULL sein.

[in] Length

Größe des FileInformation-Puffers in Byte.

[in] FileInformationClass

Ein FILE_INFORMATION_CLASS Wert, der den Typ der Dateiinformationen angibt, die im FileInformation-Puffer zurückgegeben werden sollen.

[out, optional] LengthReturned

Zeiger auf eine vom Aufrufer zugewiesene Variable, die die Größe der im FileInformation-Puffer zurückgegebenen Informationen in Bytes empfängt. Dieser Parameter ist optional und kann NULL sein.

Rückgabewert

FltQueryInformationFile gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert wie den folgenden zurück:

Rückgabecode Beschreibung
STATUS_VOLUME_DISMOUNTED
Die Datei befindet sich auf einem Volume, das derzeit nicht eingebunden ist. Dies ist ein Fehlercode.

Hinweise

Ein Minifiltertreiber ruft FltQueryInformationFile auf, um Informationen für die durch FileObject identifizierte Datei abzurufen. Die Datei muss derzeit geöffnet sein.

FltQueryInformationFile gibt null in jedem Element einer FILE_XXX_INFORMATION-Struktur zurück, die von einem bestimmten Dateisystem nicht unterstützt wird.

Aufrufer von FltQueryInformationFile müssen unter IRQL = PASSIVE_LEVEL und mit aktivierten APCs ausgeführt werden.

HINWEIS: Rufen Sie diese Routine nicht mit einem Nicht-NULL-IRP-Wert der obersten Ebene auf, da dies zu einem System deadlock führen kann.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header fltkernel.h (fltkernel.h einschließen)
Bibliothek FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL (siehe Abschnitt "Hinweise")

Weitere Informationen

FILE_INFORMATION_CLASS

FltQueryVolumeInformationFile

FltSetInformationFile

ZwQueryInformationFile