2010-06-23 3 views
2

É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?

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.

+0

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

+0

merci! Il a fallu des heures de fouille dans la documentation de Apple et des API abandonnées pour le trouver. – ddyer