Поделиться через


Функция 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

Непрозрачный дескриптор для экземпляра виртуализации. Это должно быть значение из элемента VirtualizationInstanceHandle callbackData, переданного поставщику в PRJ_GET_PLACEHOLDER_INFO_CB обратном вызове.

[in] destinationFileName

Строка Юникода с символом null, указывающая путь относительно корневого каталога виртуализации к файлу или каталогу, для которого создается заполнитель.

Он должен соответствовать элементу FilePathName параметра callbackData, переданного поставщику в обратном вызове PRJ_GET_PLACEHOLDER_INFO_CB . Поставщик должен использовать функцию PrjFileNameCompare, чтобы определить, совпадают ли эти два имени.

Например, если обратный вызов PRJ_GET_PLACEHOLDER_INFO_CB указывает "dir1\dir1\FILE.TXT" в callbackData-FilePathName>, а резервное хранилище поставщика содержит файл с именем "File.txt" в каталоге dir1\dir2, а PrjFileNameCompare возвращает 0 при сравнении имен "FILE.TXT" и "File.txt", то поставщик указывает "dir1\dir2\File.txt" в качестве значения этого параметра.

[in] placeholderInfo

Указатель на метаданные для файла или каталога.

[in] placeholderInfoSize

Размер буфера в байтах, на который указывает заполнительInfo.

ExtendedInfo

Указатель на структуру PRJ_EXTENDED_INFO , указывающую расширенные сведения о создаваемом заполнителе.

Возвращаемое значение

Если эта функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Поставщик использует эту подпрограмму для предоставления данных, запрашиваемых при вызове обратного вызова PRJ_GET_PLACEHOLDER_INFO_CB , или может использовать ее для упреждающего создания заполнителя.

Элементы EaInformation, SecurityInformation и StreamsInformation PRJ_PLACEHOLDER_INFO являются необязательными. Если поставщик не хочет предоставлять расширенные атрибуты, пользовательские дескрипторы безопасности или альтернативные потоки данных, он должен задать для этих полей значение 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
Header projectedfslib.h