В документах File Manager вы увидите группу функций под названием «Управление громкостью по умолчанию» . Все эти функции устарели.
Если вы будете искать в Google функции, в частности HSetVol
, вы найдете это сообщение в списке рассылки Эрика Шлегеля , в котором говорится, что HSetVol
имел эффект установки текущего рабочего каталога ( выражается как пара том / каталог) в Mac OS. Он также говорит, что он не работает в Mac OS X: он должен работать с функциями диспетчера файлов, но не устанавливает рабочий каталог, используемый для разрешения относительных путей в других API (например, open
и fopen
), как это делал в Mac OS.
Более того, эти функции недоступны в 64-битной Mac OS X. Поэтому ответ таков: нет, потому что нет тома по умолчанию.
Его старое значение было аналогично текущему рабочему каталогу, поэтому вы можете сделать то же самое, получив CWD и , разрешив этот путь к FSRef . Однако для приложения Mac OS X (особенно для приложения, которое не устанавливает CWD каким-либо образом, как это делают большинство), это не очень полезно: CWD по умолчанию для приложения - это /, корневой каталог загрузки. объем. С другой стороны, если вы запускаете свой исполняемый файл напрямую или из отладчика XCode, его CWD не будет /, что означает, что это может быть какой-то другой том - скорее всего, тот, на котором находится ваша домашняя папка.
Вам следует обращаться именно к загрузочному тому (или к тому, что вас интересует), а не пытаться получить или смоделировать получение каталога по умолчанию (текущего рабочего).
Для загрузочного тома вы можете попробовать kOnSystemDisk
, который является одной из констант в Менеджере папок . Если это не сработает, используйте функцию Folder Manager FSFindFolder
, чтобы извлечь системную папку, затем используйте File Manager FSGetVolumeInfo
function , чтобы узнать, на каком томе он находится.