Freigeben über


FltSetInformationFile-Funktion (fltkernel.h)

FltSetInformationFile legt Informationen für eine bestimmte Datei fest.

Syntax

NTSTATUS FLTAPI FltSetInformationFile(
  [in] PFLT_INSTANCE          Instance,
  [in] PFILE_OBJECT           FileObject,
  [in] PVOID                  FileInformation,
  [in] ULONG                  Length,
  [in] FILE_INFORMATION_CLASS FileInformationClass
);

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.

[in] FileInformation

Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der Informationen enthält, die für die Datei festgelegt werden sollen. 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

Gibt den Typ der Informationen an, die für die Datei festgelegt werden sollen. Die folgenden Werte werden definiert.

Wert Bedeutung
FileAllocationInformation Legen Sie FILE_ALLOCATION_INFORMATION für die Datei fest.
FileBasicInformation Legen Sie FILE_BASIC_INFORMATION für die Datei fest.
FileDispositionInformation Legen Sie FILE_DISPOSITION_INFORMATION für die Datei fest.
FileEndOfFileInformation Legen Sie FILE_END_OF_FILE_INFORMATION für die Datei fest.
FileLinkInformation Legen Sie FILE_LINK_INFORMATION für die Datei fest.
FilePositionInformation Legen Sie FILE_POSITION_INFORMATION für die Datei fest.
FileRenameInformation Legen Sie FILE_RENAME_INFORMATION für die Datei fest. Weitere Informationen zum Umbenennen von Dateien finden Sie im folgenden Abschnitt hinweise.
FileValidDataLengthInformation Legen Sie FILE_VALID_DATA_LENGTH_INFORMATION für die Datei fest.

Rückgabewert

FltSetInformationFile gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert zurück.

Hinweise

Ein Minifiltertreiber ruft FltSetInformationFile auf, um Informationen für eine bestimmte Datei festzulegen. Die Datei muss derzeit geöffnet sein.

Ein Dateiumbenennungsvorgang erzwingt die folgende Einschränkung für die Parameterwerte, die an FltSetInformationFile übergeben werden: Wie im Verweiseintrag für FILE_RENAME_INFORMATION erwähnt, kann eine Datei oder ein Verzeichnis nur innerhalb eines Volumes umbenannt werden. Anders ausgedrückt: Ein Umbenennungsvorgang kann nicht dazu führen, dass eine Datei oder ein Verzeichnis auf ein anderes Volume verschoben wird. Im Gegensatz zu ZwSetInformationFile überprüft FltSetInformationFile nicht den Inhalt der FILE_RENAME_INFORMATION-Struktur. Daher ist der Aufrufer von FltSetInformationFile dafür verantwortlich, sicherzustellen, dass sich der neue Name für die Datei oder das Verzeichnis auf demselben Volume wie der alte Name befindet.

Minifiltertreiber müssen FltSetInformationFile und nicht ZwSetInformationFile verwenden, um eine Datei umzubenennen.

Anforderungen

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

Weitere Informationen

FILE_ALLOCATION_INFORMATION

FILE_BASIC_INFORMATION

FILE_DISPOSITION_INFORMATION

FILE_END_OF_FILE_INFORMATION

FILE_LINK_INFORMATION

FILE_POSITION_INFORMATION

FILE_RENAME_INFORMATION

FILE_VALID_DATA_LENGTH_INFORMATION

FltQueryInformationFile

FltQueryVolumeInformationFile

ZwSetInformationFile