Freigeben über


PrjWritePlaceholderInfo2-Funktion (projectedfslib.h)

Sendet Datei- oder Verzeichnismetadaten an ProjFS und ermöglicht es dem Aufrufer, erweiterte Informationen anzugeben.

Syntax

HRESULT PrjWritePlaceholderInfo2(
  [in] PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT namespaceVirtualizationContext,
  [in] PCWSTR                               destinationFileName,
  [in] const PRJ_PLACEHOLDER_INFO           *placeholderInfo,
  [in] UINT32                               placeholderInfoSize,
       const PRJ_EXTENDED_INFO              *ExtendedInfo
);

Parameter

[in] namespaceVirtualizationContext

Undurchsichtiges Handle für die Virtualisierung instance. Dies muss der Wert aus dem VirtualizationInstanceHandle-Member des callbackData-Elements sein, das im PRJ_GET_PLACEHOLDER_INFO_CB Rückruf an den Anbieter übergeben wird.

[in] destinationFileName

Eine mit NULL endende Unicode-Zeichenfolge, die den Pfad relativ zum Virtualisierungsstamm zu der Datei oder dem Verzeichnis angibt, für die bzw. das ein Platzhalter erstellt werden soll.

Dies muss eine Übereinstimmung mit dem FilePathName-Member des callbackData-Parameters sein, der im PRJ_GET_PLACEHOLDER_INFO_CB Rückruf an den Anbieter übergeben wird. Der Anbieter sollte die PrjFileNameCompare-Funktion verwenden, um zu bestimmen, ob die beiden Namen übereinstimmen.

Wenn der PRJ_GET_PLACEHOLDER_INFO_CB Rückruf beispielsweise "dir1\dir1\FILE.TXT" in callbackData-FilePathName> angibt und der Sicherungsspeicher des Anbieters eine Datei namens "File.txt" im Verzeichnis dir1\dir2 enthält und PrjFileNameCompare beim Vergleich der Namen "FILE.TXT" und "File.txt" 0 zurückgibt, gibt der Anbieter "dir1\dir2\File.txt" als Wert dieses Parameters an.

[in] placeholderInfo

Ein Zeiger auf die Metadaten für die Datei oder das Verzeichnis.

[in] placeholderInfoSize

Größe des Puffers in Byte, auf den von placeholderInfo verwiesen wird.

ExtendedInfo

Ein Zeiger auf eine PRJ_EXTENDED_INFO Struktur, die erweiterte Informationen zum zu erstellenden Platzhalter angibt.

Rückgabewert

Wenn diese Funktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Der Anbieter verwendet diese Routine, um die beim Aufruf seines PRJ_GET_PLACEHOLDER_INFO_CB Rückrufs angeforderten Daten bereitzustellen, oder er kann sie verwenden, um proaktiv einen Platzhalter festzulegen.

Die Mitglieder EaInformation, SecurityInformation und StreamsInformation von PRJ_PLACEHOLDER_INFO sind optional. Wenn der Anbieter keine erweiterten Attribute, benutzerdefinierten Sicherheitsbeschreibungen oder alternativen Datenströme bereitstellen möchte, muss er diese Felder auf 0 festlegen.

Um anzugeben, dass dieser Platzhalter eine symbolische Verknüpfung sein soll, formatiert der Anbieter einen Puffer mit einer einzelnen PRJ_EXTENDED_INFO Struktur und übergibt im extendedInfo Parameter einen Zeiger darauf. Der Anbieter legt die Felder der Struktur wie folgt fest:

  • extendedInfo.InfoType = PRJ_EXT_INFO_TYPE_SYMLINK
  • extendedInfo.NextInfoOffset = 0
  • extendedInfo.Symlink.TargetName = <path to the target of the symbolic link>

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 2004 (10.0; Build 19041)
Unterstützte Mindestversion (Server) Windows Server, Version 2004 (10.0; Build 19041)
Zielplattform Windows
Kopfzeile projectedfslib.h