Freigeben über


FsRtlAddToTunnelCache-Funktion (ntifs.h)

Die FsRtlAddToTunnelCache Routine speichert einen Dateinamen zwischen, der aus einem Verzeichnis entfernt wird, wenn eine Datei umbenannt oder gelöscht wird.

Syntax

void FsRtlAddToTunnelCache(
  [in] TUNNEL         *Cache,
  [in] ULONGLONG      DirectoryKey,
  [in] UNICODE_STRING *ShortName,
  [in] UNICODE_STRING *LongName,
  [in] BOOLEAN        KeyByShortName,
  [in] ULONG          DataLength,
  [in] VOID           *Data
);

Parameter

[in] Cache

Zeiger auf einen Tunnelcache initialisiert von FsRtlInitializeTunnelCache.

[in] DirectoryKey

Schlüsselwert des Verzeichnisses, das die Datei enthält, die gelöscht oder umbenannt wird. Der Verzeichnisschlüssel ist ein eindeutiger nicht signierter 64-Bit-Bezeichner, der vom Dateisystem generiert und dem Verzeichnis zugewiesen wird.

[in] ShortName

Unicode-Zeichenfolge mit dem kurzen Namen (8.3) für die Datei. Wenn KeyByShortName-FALSE-ist, ist ShortName- optional.

[in] LongName

Unicode-Zeichenfolge mit dem langen Namen für die Datei. Ein langer Dateiname ist ein Name für eine Datei oder ein Verzeichnis, das das Standardmäßige 8.3-Dateiformat überschreitet. Wenn KeyByShortName-TRUEist, ist LongName- optional.

[in] KeyByShortName

Auf TRUE- festgelegt, wenn der aus dem Verzeichnis zu löschende Dateiname der Kurzname für die Datei ist, FALSE, wenn er der lange Name ist.

[in] DataLength

Länge in Byte der Informationen, die im Tunnelcacheeintrag für diese Datei gespeichert werden sollen. Der Wert dieses Parameters ist dateisystemspezifisch, muss jedoch für alle Einträge im Tunnelcache identisch sein.

[in] Data

Zeigen Sie auf einen Puffer, der dateisystemspezifische Informationen enthält, die im Tunnelcacheeintrag für diese Datei gespeichert werden sollen.

Rückgabewert

Nichts

Bemerkungen

Wenn ein Dateiname aus einem Verzeichnis entfernt wird (für eine Datei, die umbenannt oder gelöscht wird), kann das Dateisystem den Dateinamen zwischenspeichern, indem FsRtlAddToTunnelCacheaufgerufen wird. Der Zweck des Tunnelcaches besteht darin, Dateieigenschaften zu verteilen, wenn eine neue Datei erstellt wird, die denselben langen oder kurzen Namen wie die soeben gelöschte oder umbenannte Datei aufweist.

FsRtlAddToTunnelCache erstellt einen neuen Eintrag, der den angegebenen Dateinamen und Verzeichnisschlüssel enthält, und fügt den Eintrag zum Tunnelcache für das bereitgestellte Volume hinzu, in dem die Datei entfernt oder gelöscht wird. Dieser Eintrag kann auch ein Datenpaket mit fester Größe von dateisystemspezifischen Informationen für die Datei enthalten.

Der Aufrufer ist erforderlich, um diesen Aufruf mit FsRtlDeleteTunnelCachezu synchronisieren. Mit anderen Worten, ein Dateisystem muss sicherstellen, dass es nicht FsRtlAddToTunnelCache und FsRtlDeleteTunnelCache gleichzeitig aus verschiedenen Threads aufruft.

Weitere Informationen zum Tunneln von Dateinamen finden Sie in Microsoft Knowledge Base-Artikel 172190.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL

Siehe auch

FsRtlDeleteKeyFromTunnelCache

FsRtlDeleteTunnelCache

FsRtlInitializeTunnelCache

UNICODE_STRING