Compartir a través de


Función PrjFillDirEntryBuffer2 (projectedfslib.h)

Proporciona información para un archivo o directorio en una enumeración y permite al autor de la llamada especificar información extendida.

Sintaxis

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

Parámetros

[in] dirEntryBufferHandle

Identificador opaco de una estructura que recibe información sobre las entradas rellenadas.

[in] fileName

Puntero a una cadena terminada en null que contiene el nombre de la entrada.

[in, optional] fileBasicInfo

Información básica sobre la entrada que se va a rellenar.

[in, optional] extendedInfo

Puntero a un PRJ_EXTENDED_INFO estructura que especifica información extendida sobre la entrada que se va a rellenar.

Valor devuelto

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) indica que dirEntryBufferHandle no tiene suficiente espacio para la nueva entrada.

E_INVALIDARG indica que extendedInfo.InfoType no está reconocido.

Comentarios

El proveedor usa esta rutina para atender una devolución de llamada PRJ_GET_DIRECTORY_ENUMERATION_CB . Al procesar la devolución de llamada, el proveedor llama a esta rutina para cada archivo o directorio coincidente de la enumeración. Esta rutina permite al proveedor especificar información extendida sobre el archivo o directorio, como si es un vínculo simbólico.

Si esta rutina devuelve HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) al agregar una entrada a la enumeración, el proveedor devuelve S_OK de la devolución de llamada y espera la devolución de llamada siguiente PRJ_GET_DIRECTORY_ENUMERATION_CB .

El proveedor reanuda el rellenado de la enumeración con la entrada que estaba intentando agregar al obtener HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER).

Si esta rutina devuelve HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) para la primera entrada agregada durante cualquier invocación de una devolución de llamada de PRJ_GET_DIRECTORY_ENUMERATION_CB , el proveedor debe devolver HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) de la devolución de llamada.

Para especificar que esta entrada de directorio es para un vínculo simbólico, el proveedor da formato a un búfer con una sola estructura 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