Fonction PrjFillDirEntryBuffer2 (projectedfslib.h)

Fournit des informations pour un fichier ou un répertoire dans une énumération et permet à l’appelant de spécifier des informations étendues.

Syntaxe

HRESULT PrjFillDirEntryBuffer2(
  [in]           PRJ_DIR_ENTRY_BUFFER_HANDLE dirEntryBufferHandle,
  [in]           PCWSTR                      fileName,
  [in, optional] PRJ_FILE_BASIC_INFO         *fileBasicInfo,
  [in, optional] PRJ_EXTENDED_INFO           *extendedInfo
);

Paramètres

[in] dirEntryBufferHandle

Handle opaque à une structure qui reçoit des informations sur les entrées renseignées.

[in] fileName

Pointeur vers une chaîne terminée par null qui contient le nom de l’entrée

[in, optional] fileBasicInfo

Informations de base sur l’entrée à remplir.

[in, optional] extendedInfo

Pointeur vers un struct PRJ_EXTENDED_INFO spécifiant des informations étendues sur l’entrée à remplir.

Valeur retournée

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) indique que dirEntryBufferHandle n’a pas suffisamment d’espace pour la nouvelle entrée.

E_INVALIDARG indique que extendedInfo.InfoType n’est pas reconnu.

Remarques

Le fournisseur utilise cette routine pour traiter un rappel PRJ_GET_DIRECTORY_ENUMERATION_CB . Lors du traitement du rappel, le fournisseur appelle cette routine pour chaque fichier ou répertoire correspondant dans l’énumération. Cette routine permet au fournisseur de spécifier des informations étendues sur le fichier ou le répertoire, par exemple s’il s’agit d’un lien symbolique.

Si cette routine retourne HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) lors de l’ajout d’une entrée à l’énumération, le fournisseur retourne S_OK à partir du rappel et attend le rappel PRJ_GET_DIRECTORY_ENUMERATION_CB suivant.

Le fournisseur reprend le remplissage de l’énumération avec l’entrée qu’il essayait d’ajouter lorsqu’il a obtenu HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER).

Si cette routine retourne HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) pour la première entrée ajoutée lors d’un appel d’un rappel PRJ_GET_DIRECTORY_ENUMERATION_CB , le fournisseur doit retourner HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) à partir du rappel.

Pour spécifier que cette entrée de répertoire est destinée à 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