Risoluzione di AliasRecord con percorso relativo su un nuovo volume
-
06-07-2019 - |
Domanda
Ho un AliasRecord
creato utilizzando la funzione Alias ??Manager FSNewAlias ??(fromFSRef, targetFSRef e & amp; aliasRecordHandle)
. La mia comprensione è che il record di alias risultante conterrà informazioni per una ricerca di percorso relativa (relativa a fromFSRef
). Poiché i miei utenti si trovano su home directory in rete e account mobili, questi alias non sembrano persistere nella posizione di un file nella directory home dell'utente tra le directory di rete mobile e mobile perché si trovano su volumi diversi. Se il fromFSRef
originale corrispondesse a /Network/.../Users/user/Desktop nell'account di rete, vorrei essere in grado di risolvere l'alias usando FSResolveAlias ??(newFromFSRef, aliasRecordHandle, & amp; targetFSRef, & amp; change)
con newFSRef
corrispondente a / Users / user / Desktop (ovvero l'account mobile). È possibile?
La soluzione a cui ho fatto ricorso è di persistere nel record dell'alias e nel relativo percorso. Uso il percorso relativo per creare un nuovo alias se la risoluzione dell'alias non riesce.
Soluzione
Sembra che l'unica soluzione sia la soluzione proposta nell'interrogazione che persiste sia il record dell'alias sia un percorso relativo. Se la risoluzione dell'alias non riesce, proviamo a utilizzare il percorso relativo (insieme a un'applicazione o alla radice definita dall'utente) per trovare il file. Se ciò ha esito positivo, aggiorniamo il record dell'alias con il nuovo percorso. Altrimenti, torniamo a chiedere all'utente di trovare il "perso" file.