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 |