Frage

Ich habe eine AliasRecord erstellen mithilfe der Alias-Manager-Funktion FSNewAlias(fromFSRef, targetFSRef, &aliasRecordHandle).Mein Verständnis ist, dass die resultierenden alias-Datensatz enthält Informationen, die für einen relativen Pfad suchen (relativ zu fromFSRef).Da meine Benutzer sind auf vernetzte home-Verzeichnisse und mobile-Konten, werden diese Aliase werden nicht angezeigt zu bestehen, den Speicherort einer Datei im home-Verzeichnis des Benutzers zwischen die vernetzte und mobile home-Verzeichnisse da Sie auf unterschiedlichen volumes.Wenn die original fromFSRef entsprach /Network/.../Users/user/Desktop network-Konto, ich würde gerne in der Lage sein, zu lösen die alias-Nutzung FSResolveAlias(newFromFSRef, aliasRecordHandle, &targetFSRef, &changed) mit newFSRef entsprechend /Users/user/Desktop (d.h.die Mobilfunk-Kontos).Ist das möglich?

Die Lösung habe ich Zuflucht, ist die Persistenz der alias-Datensatz und den relativen Pfad.Ich verwenden Sie den relativen Pfad, um einen neuen alias erstellen, wenn alias-Auflösung fehlschlägt.

War es hilfreich?

Lösung

Es scheint, dass die vorgeschlagene Lösung in der Frage—anhaltende sowohl die alias-Datensatz und ein relativer Pfad ist die einzige option.Wenn alias-Auflösung fehlschlägt, versuchen wir, mithilfe den relativen Pfad (zusammen mit eine Anwendung oder ein Benutzer-definiert root), die Datei zu finden.Wenn dies gelingt, werden wir aktualisieren Sie die alias-Datensatz mit den neuen Pfad.Sonst fallen wir zurück, um den Benutzer zu Fragen zu finden, die "lost" - Datei.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top