Étant donné un FSRef d'un répertoire, on peut utiliser FSGetCatalogInfo
pour trouver le numéro de référence du volume et l'ID du répertoire. Ensemble, ces deux nombres devraient suffire à identifier le répertoire. Une façon d'aller dans l'autre sens serait d'utiliser FSMakeFSSpec(vRefNum, dirID, "\p", &fileSpec)
puis FSpMakeFSRef(&fileSpec, &dirRef)
. Cependant, FSMakeFSSpec
et FSpMakeFSRef
sont obsolètes. Je me demande s'il existe un moyen de passer de vRefNum et de dirID à FSRef en utilisant des fonctions qui ne sont pas obsolètes.Comment trouver un FSRef à partir d'un ID de répertoire et d'un numéro de volume?
2
A
Répondre
2
Je ne l'ai jamais utilisé, mais il semble que FSResolveNodeID
puisse faire ce que vous voulez. Apple à peu près nettoyé son site ADC propre de tout le carbone, donc je ne peux pas trouver un lien vers celui-ci. Mais vous pouvez le rechercher dans Files.h
. En outre, il n'est disponible que dans 10.5 ou plus tard.
Vous avez raison, ce n'est pas documenté, sauf pour les commentaires d'en-tête. Dommage qu'il nécessite 10.5, puisque 'FSMakeFSSpec' était obsolète dans 10.4. – JWWalker
merci! Il a fallu des heures de fouille dans la documentation de Apple et des API abandonnées pour le trouver. – ddyer