Freigeben über


IoReplaceFileObjectName-Funktion (ntifs.h)

Die IoReplaceFileObjectName Routine ersetzt den Namen eines Dateiobjekts.

Syntax

NTSTATUS IoReplaceFileObjectName(
  [in] PFILE_OBJECT FileObject,
  [in] PWSTR        NewFileName,
  [in] USHORT       FileNameLength
);

Parameter

[in] FileObject

Zeigen Sie auf das Dateiobjekt, dessen Dateiname ersetzt wird.

[in] NewFileName

Zeigen Sie auf den Zeichenfolgenpuffer für den neuen Namen für das Dateiobjekt.

[in] FileNameLength

Länge des neuen Namens für das Dateiobjekt in Byte.

Rückgabewert

Gibt STATUS_SUCCESS oder einen der folgenden NTSTATUS-Werte zurück, andernfalls:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER Das bereitgestellte Dateiobjekt hat keinen Namen, der ersetzt werden soll.
STATUS_INSUFFICIENT_RESOURCES Unzureichender Arbeitsspeicher ist verfügbar, um einen Puffer zuzuweisen, um diesen Vorgang abzuschließen.

Bemerkungen

Treiber sollten IoReplaceFileObjectName verwenden, um den Namen in einem Dateiobjekt sicher zu ersetzen. Dadurch kann der E/A-Manager die Lebensdauer des Puffers steuern, der dem Dateiobjekt zugeordnet ist. Wenn Sie einen Dateinamen direkt ersetzen, ohne IoReplaceFileObjectName zu verwenden, kann es zu Konflikten mit anderen Verwendungen des Namens führen und sollte möglichst vermieden werden.

Diese Routine sollte verwendet werden, um den Dateinamen des Dateiobjekts zu ersetzen, anstatt dies manuell zu ermöglichen, damit der Kernel die Lebensdauer des Namens ordnungsgemäß verwalten kann.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 7
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- PASSIVE_LEVEL