Pergunta

Eu tenho um AliasRecord criar usando a função FSNewAlias(fromFSRef, targetFSRef, &aliasRecordHandle) Alias ??Manager. O meu entendimento é que o registro de alias resultante irá conter informações para uma pesquisa caminho relativo (em relação ao fromFSRef). Porque meus usuários estão em diretórios home rede e contas móveis, esses apelidos não parecem persistir a localização de um arquivo no diretório home do usuário entre os diretórios home em rede e móveis, porque eles estão em diferentes volumes. Se o fromFSRef originais correspondeu /Network/.../Users/user/Desktop na conta de rede, eu gostaria de ser capaz de resolver o alias usando FSResolveAlias(newFromFSRef, aliasRecordHandle, &targetFSRef, &changed) com newFSRef correspondente a / Users / user / Desktop (ou seja, a conta de celular ). Isso é possível?

A solução que eu recorreu a é persistir o registro alias e o caminho relativo. Eu uso o caminho relativo para criar um novo alias se a resolução apelido falhar.

Foi útil?

Solução

Parece que a solução proposta no tanto o registro de alias-persistindo questão e um caminho relativo é a única opção. Se a resolução de alias falhar, tente usar o caminho relativo (juntamente com uma aplicação ou raiz definido pelo usuário) para localizar o arquivo. Se esta for bem sucedida, nós atualizamos o registro alias com o novo caminho. Caso contrário, caímos de volta para pedir ao utilizador para encontrar o "perdido" arquivo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top