Compartir a través de


Función PrjWritePlaceholderInfo2 (projectedfslib.h)

Envía metadatos de archivo o directorio a ProjFS y permite al autor de la llamada especificar información extendida.

Sintaxis

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

Parámetros

[in] namespaceVirtualizationContext

Identificador opaco para la instancia de virtualización. Debe ser el valor del miembro VirtualizationInstanceHandle de callbackData pasado al proveedor en la devolución de llamada PRJ_GET_PLACEHOLDER_INFO_CB .

[in] destinationFileName

Cadena Unicode terminada en null que especifica la ruta de acceso, relativa a la raíz de virtualización, al archivo o directorio para el que se va a crear un marcador de posición.

Debe ser una coincidencia con el miembro FilePathName del parámetro callbackData pasado al proveedor en la devolución de llamada PRJ_GET_PLACEHOLDER_INFO_CB . El proveedor debe usar la función PrjFileNameCompare para determinar si los dos nombres coinciden.

Por ejemplo, si la devolución de llamada del PRJ_GET_PLACEHOLDER_INFO_CB especifica "dir1\dir1\FILE.TXT" en callbackData-FilePathName> y el almacén de respaldo del proveedor contiene un archivo denominado "File.txt" en el directorio dir1\dir2 y PrjFileNameCompare devuelve 0 al comparar los nombres "FILE.TXT" y "File.txt", el proveedor especifica "dir1\dir2\File.txt" como valor de este parámetro.

[in] placeholderInfo

Puntero a los metadatos del archivo o directorio.

[in] placeholderInfoSize

Tamaño en bytes del búfer al que apunta placeholderInfo.

ExtendedInfo

Puntero a un PRJ_EXTENDED_INFO estructura que especifica información extendida sobre el marcador de posición que se va a crear.

Valor devuelto

Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

El proveedor usa esta rutina para proporcionar los datos solicitados en una invocación de su PRJ_GET_PLACEHOLDER_INFO_CB devolución de llamada, o puede usarlo para establecer de forma proactiva un marcador de posición.

Los miembros EaInformation, SecurityInformation y StreamsInformation de PRJ_PLACEHOLDER_INFO son opcionales. Si el proveedor no desea proporcionar atributos extendidos, descriptores de seguridad personalizados o flujos de datos alternativos, debe establecer estos campos en 0.

Para especificar que este marcador de posición es un vínculo simbólico, el proveedor da formato a un búfer con una sola estructura de PRJ_EXTENDED_INFO y le pasa un puntero en el extendedInfo parámetro . El proveedor establece los campos de la estructura de la siguiente manera:

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

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 2004 (10.0; Compilación 19041)
Servidor mínimo compatible Windows Server, versión 2004 (10.0; Compilación 19041)
Plataforma de destino Windows
Encabezado projectedfslib.h