Fonction PrjWritePlaceholderInfo2 (projectedfslib.h)

Envoie des métadonnées de fichier ou de répertoire à ProjFS et permet à l’appelant de spécifier des informations étendues.

Syntaxe

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

Paramètres

[in] namespaceVirtualizationContext

Handle opaque pour le instance de virtualisation. Il doit s’agir de la valeur du membre VirtualizationInstanceHandle du callbackData passé au fournisseur dans le rappel PRJ_GET_PLACEHOLDER_INFO_CB .

[in] destinationFileName

Chaîne Unicode terminée par un caractère Null spécifiant le chemin d’accès, relatif à la racine de virtualisation, au fichier ou au répertoire pour lequel créer un espace réservé.

Il doit s’agir d’une correspondance avec le membre FilePathName du paramètre callbackData transmis au fournisseur dans le rappel PRJ_GET_PLACEHOLDER_INFO_CB . Le fournisseur doit utiliser la fonction PrjFileNameCompare pour déterminer si les deux noms correspondent.

Par exemple, si le rappel PRJ_GET_PLACEHOLDER_INFO_CB spécifie « dir1\dir1\FILE.TXT » dans callbackData-FilePathName> et que le magasin de stockage du fournisseur contient un fichier appelé « File.txt » dans le répertoire dir1\dir2 et que PrjFileNameCompare retourne 0 lors de la comparaison des noms « FILE.TXT » et « File.txt », le fournisseur spécifie « dir1\dir2\File.txt » comme valeur de ce paramètre.

[in] placeholderInfo

Pointeur vers les métadonnées du fichier ou du répertoire.

[in] placeholderInfoSize

Taille en octets de la mémoire tampon pointée par placeholderInfo.

ExtendedInfo

Pointeur vers un struct PRJ_EXTENDED_INFO spécifiant des informations étendues sur l’espace réservé à créer.

Valeur retournée

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Le fournisseur utilise cette routine pour fournir les données demandées dans un appel de son rappel PRJ_GET_PLACEHOLDER_INFO_CB , ou il peut l’utiliser pour configurer de manière proactive un espace réservé.

Les membres EaInformation, SecurityInformation et StreamsInformation de PRJ_PLACEHOLDER_INFO sont facultatifs. Si le fournisseur ne souhaite pas fournir d’attributs étendus, descripteurs de sécurité personnalisés ou d’autres flux de données, il doit définir ces champs sur 0.

Pour spécifier que cet espace réservé doit être un lien symbolique, le fournisseur met en forme une mémoire tampon avec un seul struct PRJ_EXTENDED_INFO et lui transmet un pointeur dans le extendedInfo paramètre . Le fournisseur définit les champs du struct comme suit :

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 2004 (10.0 ; Build 19041)
Serveur minimal pris en charge Windows Server, version 2004 (10.0 ; Build 19041)
Plateforme cible Windows
En-tête projectedfslib.h