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