Compartilhar via


Função PrjFillDirEntryBuffer2 (projectedfslib.h)

Fornece informações para um arquivo ou diretório para uma enumeração e permite que o chamador especifique informações estendidas.

Sintaxe

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

Um identificador opaco para uma estrutura que recebe informações sobre as entradas preenchidas.

[in] fileName

Um ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome da entrada

[in, optional] fileBasicInfo

Informações básicas sobre a entrada a ser preenchida.

[in, optional] extendedInfo

Um ponteiro para um struct PRJ_EXTENDED_INFO especificando informações estendidas sobre a entrada a ser preenchida.

Retornar valor

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) indica que dirEntryBufferHandle não tem espaço suficiente para a nova entrada.

E_INVALIDARG indica que extendedInfo.InfoType não foi reconhecido.

Comentários

O provedor usa essa rotina para atender a um retorno de chamada PRJ_GET_DIRECTORY_ENUMERATION_CB. Ao processar o retorno de chamada, o provedor chama essa rotina para cada arquivo ou diretório correspondente na enumeração . Essa rotina permite que o provedor especifique informações estendidas sobre o arquivo ou diretório, como se ele é um link simbólico.

Se essa rotina retornar HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) ao adicionar uma entrada à enumeração, o provedor retornará S_OK do retorno de chamada e aguardará o próximo retorno de chamada PRJ_GET_DIRECTORY_ENUMERATION_CB .

O provedor retoma o preenchimento da enumeração com a entrada que estava tentando adicionar quando obteve HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER).

Se essa rotina retornar HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) para a primeira entrada adicionada durante qualquer invocação de um retorno de chamada PRJ_GET_DIRECTORY_ENUMERATION_CB , o provedor deverá retornar HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) do retorno de chamada.

Para especificar que essa entrada de diretório é para um link simbólico, o provedor formata um buffer com um único struct PRJ_EXTENDED_INFO e passa um ponteiro para ele no extendedInfo parâmetro . O provedor define os campos do struct da seguinte maneira:

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

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 2004 (10.0; Build 19041)
Servidor mínimo com suporte Windows Server, versão 2004 (10.0; Build 19041)
Plataforma de Destino Windows
Cabeçalho projectedfslib.h