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.
Liens symboliques
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 |