共用方式為


PrjWritePlaceholderInfo2 函式 (projectedfslib.h)

將檔案或目錄元數據傳送至 ProjFS,並允許呼叫端指定擴充資訊。

語法

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

參數

[in] namespaceVirtualizationContext

虛擬化實例的不透明句柄。 這必須是PRJ_GET_PLACEHOLDER_INFO_CB回呼中傳遞至提供者的 callbackData VirtualizationInstanceHandle 成員的值。

[in] destinationFileName

以 Null 結束的 Unicode 字串,指定要建立佔位元之檔案或目錄的路徑,相對於虛擬化根目錄。

這必須與傳遞至 PRJ_GET_PLACEHOLDER_INFO_CB 回呼中提供者的 callbackData 參數 FilePathName 成員相符。 提供者應該使用 PrjFileNameCompare 函式來判斷兩個名稱是否相符。

例如,如果 PRJ_GET_PLACEHOLDER_INFO_CB 回呼在 callbackData-FilePathName> 中指定 “dir1\dir1\FILE.TXT”,而且提供者支援存放區在 dir1\dir2 目錄中包含名為 “File.txt” 的檔案,而 PrjFileNameCompare 會在比較名稱 “FILE.TXT” 和 “File.txt” 時傳回 0,則提供者會將 “dir1\dir2\File.txt” 指定為此參數的值。

[in] placeholderInfo

檔案或目錄之元數據的指標。

[in] placeholderInfoSize

佔位元Info 所指向緩衝區的位元大小。

ExtendedInfo

PRJ_EXTENDED_INFO結構的指標,指定要建立之佔位元的擴充資訊。

傳回值

如果此函式成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

提供者會使用此例程來提供叫用 其PRJ_GET_PLACEHOLDER_INFO_CB 回呼時所要求的數據,或者可以使用它主動配置佔位符。

PRJ_PLACEHOLDER_INFO EaInformation、SecurityInformation 和 StreamsInformation 成員是選擇性的。 如果提供者不想要提供擴充屬性、自定義安全性描述元或替代數據流,則必須將這些欄位設定為 0。

若要指定此佔位元為符號連結,提供者會使用單一 PRJ_EXTENDED_INFO 結構格式化緩衝區,並在參數中 extendedInfo 傳遞指標。 提供者會設定結構的欄位,如下所示:

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

規格需求

需求
最低支援的用戶端 Windows 10 版本 2004 (10.0;組建 19041)
最低支援的伺服器 Windows Server 版本 2004 (10.0;組建 19041)
目標平台 Windows
標頭 projectedfslib.h