Função PrjWritePlaceholderInfo2 (projectedfslib.h)
Envia metadados de arquivo ou diretório para o ProjFS e permite que o chamador especifique informações estendidas.
Sintaxe
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
);
Parâmetros
[in] namespaceVirtualizationContext
Identificador opaco para a instância de virtualização. Esse deve ser o valor do membro VirtualizationInstanceHandle do callbackData passado para o provedor no retorno de chamada PRJ_GET_PLACEHOLDER_INFO_CB .
[in] destinationFileName
Uma cadeia de caracteres Unicode terminada em nulo especificando o caminho, em relação à raiz de virtualização, para o arquivo ou diretório para o qual criar um espaço reservado.
Isso deve ser uma correspondência com o membro FilePathName do parâmetro callbackData passado para o provedor no retorno de chamada PRJ_GET_PLACEHOLDER_INFO_CB . O provedor deve usar a função PrjFileNameCompare para determinar se os dois nomes correspondem.
Por exemplo, se o retorno de chamada PRJ_GET_PLACEHOLDER_INFO_CB especificar "dir1\dir1\FILE.TXT" em callbackData-FilePathName> e o repositório de backup do provedor contiver um arquivo chamado "File.txt" no diretório dir1\dir2 e PrjFileNameCompare retornará 0 ao comparar os nomes "FILE.TXT" e "File.txt", o provedor especificará "dir1\dir2\File.txt" como o valor desse parâmetro.
[in] placeholderInfo
Um ponteiro para os metadados do arquivo ou diretório.
[in] placeholderInfoSize
Tamanho em bytes do buffer apontado por placeholderInfo.
ExtendedInfo
Um ponteiro para um struct PRJ_EXTENDED_INFO especificando informações estendidas sobre o espaço reservado a ser criado.
Retornar valor
Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
O provedor usa essa rotina para fornecer os dados solicitados em uma invocação de seu retorno de chamada PRJ_GET_PLACEHOLDER_INFO_CB ou pode usá-lo para estabelecer proativamente um espaço reservado.
Os membros EaInformation, SecurityInformation e StreamsInformation do PRJ_PLACEHOLDER_INFO são opcionais. Se o provedor não quiser fornecer atributos estendidos, descritores de segurança personalizados ou fluxos de dados alternativos, ele deverá definir esses campos como 0.
Links simbólicos
Para especificar que esse espaço reservado deve ser um link simbólico, o provedor formata um buffer com um único PRJ_EXTENDED_INFO struct 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 |