Ссылка DRContentObject.h
Основной объект файловой системы в Диске, Записывающем довольное создание APIs.
Создание содержания обеспечивает интерфейс для динамического создания файловой системы, позволяя сложным иерархиям файловой системы быть созданным и записанным на лету, не имея необходимость генерировать полное дисковое представление.
DRFSObjectRef непрозрачный тип служит основой для объектов папки и файла.
Включенные заголовки
<CoreFoundation/CoreFoundation.h>
<CoreServices/CoreServices.h>
<DiscRecording/DRCoreObject.h>
<AvailabilityMacros.h>
-
Получает (основное) имя по умолчанию для объекта папки или файла.
Объявление
Swift
func DRFSObjectCopyBaseName(_
object
: DRFSObject!) -> Unmanaged<CFString>!Objective C
CFStringRef DRFSObjectCopyBaseName ( const DRFSObjectRef object );
Параметры
object
Файл или папка возражают для запросов.
Возвращаемое значение
Возвращает ссылку на копию (основного) имени по умолчанию.
Обсуждение
(Основное) имя по умолчанию файла или папки является именем, с которого Диск, Записывающий автоматически, генерирует определенные для файловой системы имена.
API создания содержания Записи диска может генерировать многократные файловые системы, каждая из которых может потребовать своих собственных соглашений о присвоении имен. Размещать эту потребность, каждый файл или объект папки имеет «базовое имя» по умолчанию, которое система изменяет по мере необходимости для работы с системой конечного файла.
Каждый раз, когда возможно, Запись Диска использует имя по умолчанию, неизмененное в сгенерированной файловой системе. Если имя не может использоваться как есть (например, если оно содержит запрещенные символы, превышает ограничения длины имени, не встречает требуемый формат, или коллизия имени обнаруживается), то механизм Записи Диска автоматически генерирует приемлемое имя.
Имя по умолчанию для реального файла или папки является дисковым именем файла или папки.
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Получает словарь свойств файловой системы для данного файла или объекта папки.
Объявление
Swift
func DRFSObjectCopyFilesystemProperties(_
object
: DRFSObject!, _fsKey
: CFString!, _coalesce
: Boolean) -> Unmanaged<CFDictionary>!Objective C
CFDictionaryRef DRFSObjectCopyFilesystemProperties ( const DRFSObjectRef object, CFStringRef fsKey, Boolean coalesce );
Параметры
object
Ссылка на объект на запрос.
fsKey
Файловая система для запросов.
coalesce
Если
TRUE
, эта функция также получит «все файловые системы» словарь свойств и объединит его с требуемым словарем файловой системы.Возвращаемое значение
Возвращает ссылку на файл или словарь свойств объекта папки, или
NULL
если не были установлены никакие свойства.Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Получает свойство для объекта папки или файла.
Объявление
Swift
func DRFSObjectCopyFilesystemProperty(_
object
: DRFSObject!, _fsKey
: CFString!, _propertyKey
: CFString!, _coalesce
: Boolean) -> Unmanaged<AnyObject>!Objective C
CFTypeRef DRFSObjectCopyFilesystemProperty ( const DRFSObjectRef object, CFStringRef fsKey, CFStringRef propertyKey, Boolean coalesce );
Параметры
object
Ссылка на объект на запрос.
fsKey
Файловая система для запросов.
propertyKey
Свойство для запросов.
coalesce
Если
TRUE
и если свойство не будет найдено в требуемом словаре файловой системы, то эта функция продолжит проверять «все файловые системы» словарь свойств.Возвращаемое значение
Возвращает ссылку на свойство, или
NULL
если не найденный.Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Получает определенное для файловой системы имя для файла или объекта папки, измененного для уникальности.
Объявление
Swift
func DRFSObjectCopyMangledName(_
object
: DRFSObject!, _fsKey
: CFString!) -> Unmanaged<CFString>!Objective C
CFStringRef DRFSObjectCopyMangledName ( const DRFSObjectRef object, CFStringRef fsKey );
Параметры
object
Ссылка на объект на запрос.
fsKey
Ключ доступа имени для требуемого определенного для файловой системы имени. Допустимые ключи включают kDRISO9660LevelOne для '8,3' имена или kDRISO9660LevelTwo для 30 имен персонажей.
Возвращаемое значение
Возвращает ссылку на определенное для файловой системы имя, измененное по мере необходимости для уникальности.
Обсуждение
Файл или строка имени объекта папки будут изменены для уникальности, рассматривая ее одноуровневые элементы. Если бы запись должна была сразу произойти после этого вызова это - имя, которое использовалось бы на получающемся диске.
При использовании этой функции для получения измененного имени необходимо указать
fsKey
параметр, как перечислено вDRContentProperties.h
, или как kDRISO9660LevelOne для '8,3' имена или как kDRISO9660LevelTwo для 30 имен персонажей. Вы не можете использовать kDRISO9660 константу, потому что она не различает уровень один и уровень два формата ISO 9660. Используйте kDRISO9660 только для доступа к файлу и свойствам объектов папки с функциями DRFSObjectCopyFilesystemProperty или DRFSObjectCopyFilesystemProperties.Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Получает словарь, содержащий все определенные для файловой системы имена для данного объекта, каждый измененный для уникальности.
Объявление
Swift
func DRFSObjectCopyMangledNames(_
object
: DRFSObject!) -> Unmanaged<CFDictionary>!Objective C
CFDictionaryRef DRFSObjectCopyMangledNames ( const DRFSObjectRef object );
Параметры
object
Файл или ссылка на объект папки на запрос.
Возвращаемое значение
Возвращает ссылку на словарь имен, каждый измененный по мере необходимости для уникальности.
Обсуждение
Словарь возвратит только имена, обозначенные эффективной маской объекта. Если эффективная маска объекта является нулем, пустой словарь возвращается.
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Учитывая реальное (в противоположность виртуальному) файл или объект папки, получает ссылку URL на дисковый файл или папку.
Объявление
Swift
func DRFSObjectCopyRealURL(_
object
: DRFSObject!) -> Unmanaged<CFURL>!Objective C
CFURLRef DRFSObjectCopyRealURL ( const DRFSObjectRef object );
Параметры
object
Файл или папка возражают для запросов.
Возвращаемое значение
Возвращает ссылку на файл URL, указывающий дисковый файл или папку, или
NULL
еслиobject
параметр не относится к реальному файлу или папке.Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Получает определенное для файловой системы имя для объекта папки или файла.
Объявление
Swift
func DRFSObjectCopySpecificName(_
object
: DRFSObject!, _fsKey
: CFString!) -> Unmanaged<CFString>!Objective C
CFStringRef DRFSObjectCopySpecificName ( const DRFSObjectRef object, CFStringRef fsKey );
Параметры
object
Файл или папка возражают для запросов.
fsKey
Ключ доступа имени для требуемого определенного для файловой системы имени. Допустимые ключи включают kDRISO9660LevelOne для '8,3' имена или kDRISO9660LevelTwo для 30 имен персонажей.
Возвращаемое значение
Возвращает ссылку на определенное для файловой системы имя.
Обсуждение
При использовании этой функции для генерации определенного для файловой системы имени необходимо указать
fsKey
параметр, как перечислено вDRContentProperties.h
, или как kDRISO9660LevelOne для '8,3' имена или как kDRISO9660LevelTwo для 30 имен персонажей. Вы не можете использовать kDRISO9660 константу, потому что она не различает уровень один и уровень два формата ISO 9660. Используйте kDRISO9660 только для доступа к файлу и свойствам объектов папки с функциями DRFSObjectCopyFilesystemProperty или DRFSObjectCopyFilesystemProperties.Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Получает словарь, содержащий определенные для файловой системы имена для объекта папки или файла.
Объявление
Swift
func DRFSObjectCopySpecificNames(_
object
: DRFSObject!) -> Unmanaged<CFDictionary>!Objective C
CFDictionaryRef DRFSObjectCopySpecificNames ( const DRFSObjectRef object );
Параметры
object
Ссылка на объект на запрос.
Возвращаемое значение
Возвращает словарь определенных для файловой системы имен. Если эффективная маска объекта является нулем, пустой словарь возвращается.
Обсуждение
Словарь, полученный этой функцией, будет включать только имена, которые должны использоваться в записи согласно эффективной маске объекта.
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Получает указание маски, в которых файловых системах должны появиться файл или объект папки.
Объявление
Swift
func DRFSObjectGetFilesystemMask(_
object
: DRFSObject!, _explicitMask
: UnsafeMutablePointer<DRFilesystemMask>, _effectiveMask
: UnsafeMutablePointer<DRFilesystemMask>) -> DRFilesystemMaskObjective C
DRFilesystemMask DRFSObjectGetFilesystemMask ( const DRFSObjectRef object, DRFilesystemMask *explicitMask, DRFilesystemMask *effectiveMask );
Параметры
object
Файл или папка возражают для запросов.
explicitMask
На выводе, содержит явную маску объекта. Может быть
NULL
на вводе.effectiveMask
На выводе, содержит эффективную маску объекта. Может быть
NULL
на вводе.Возвращаемое значение
Для удобства, файла или эффективной маски объекта папки возвращается.
Обсуждение
Если Вы хотите, чтобы все файловые системы на целевом диске - такие как HFS + и ISO 9660 - имели те же данные, Вы не должны устанавливать явную маску ни для чего кроме корневой папки. И так как Диск, Записывающий автоматически, присваивает разумную маску по умолчанию корню, если ни один не предоставлен, в большинстве случаев Вы даже не должны устанавливать явную маску корневой папки.
С системой маскирования файла Записи Диска можно указать, какие элементы в структуре исходного файла появятся в различных сгенерированных файловых структурах при записи к диску. Например, Вы можете хотеть файл приложения Mac OS или связаться для появления только в HFS + дерево и можете хотеть, чтобы.EXE файл появился только в дереве Джолиета.
Определенное для файловой системы утаивание обрабатывается через файл или маску файловой системы объекта папки, немного поля, в котором 1 указывает, объект появится в соответствующей файловой системе, и 0 указывает, что это не появится. Маски могут определить произвольно сложные деревья. В крайнем случае каждая файловая система может иметь свое собственное уникальное, непересекающееся дерево. Такие диски, однако, могут сбить с толку пользователю.
Файл или объект папки, как могут полагать, имеют два значения маски. Первой является явная маска, установленная клиентом, если это не просто значение по умолчанию kDRFilesystemMaskDefault со всем набором битов к 1. Другой эффективная маска, которая является полученной маской, используемой во время записи.
Диск, Записывающий механизм, реализует соблюдающие правила до записи для получения эффективной маски:
Файл или эффективная маска объекта папки равны поразрядному AND явной маски объекта и эффективной маски ее родителя.
Эффективная маска 0 удаляет объект из всех файловых систем. Это не будет включено в запись.
Например, явная маска 0 сил эффективная маска 0 и явная маска kDRFilesystemMaskDefault подразумевает эффективную маску, равную эффективной маске родителя.
Для объекта появиться в файловой системе, ее родительская папка и все наследователи, до корня, должны также быть в файловой системе.
Когда запись выполняется, Запись Диска выполняет несколько дополнительных шагов в определении файла и разметок папки для каждой файловой системы.
Если Ваш клиент дает корневую папку, имеет явную маску kDRFilesystemMaskDefault, Запись Диска присвоит корневой папке явную маску по умолчанию своего собственного выбора в попытке произвести самый кросс-платформенно-совместимый диск.
Эта автоматически выбранная корневая маска по умолчанию зависит, среди других факторов, на типе носителей, которые будут записаны - CD или DVD.
Если необходимо генерировать разметки для определенных файловых систем, необходимо всегда устанавливать явную маску не по умолчанию для корневой папки.
Присвоение корневой папки маска 0 результатов в неопределенном поведении.
Если Ваш клиент даст каждый файл и объект папки в Вашем исходном расположении явная маска kDRFilesystemMaskDefault, то каждый объект наследует маску, которую Запись Диска выбирает для корневой папки.
Если Вы устанавливаете маску корневой папки в файловую систему, зависящую от другой файловой системы не в маске, Запись Диска разрешает конфликт путем включения требуемой файловой системы.
Например, файловая система Джолиета требует ISO 9660. Если маска корневой папки будет kDRFilesystemMaskJoliet только, то Запись Диска автоматически включит kDRFilesystemMaskISO9660 также.
Если маска корневой папки запрашивает файловую систему, которая не может сосуществовать с другой требуемой файловой системой, Запись Диска разрешает конфликт путем отключения одной из конфликтных файловых систем. Это в настоящее время не проблема, так как никакие пары файловых систем, которые могут быть в настоящее время сгенерированы, не являются взаимоисключающими.
(Для обеспечения гипотетического примера этого поведения: Если бы Запись Диска, поддерживаемая и HFS и HFS + взаимоисключающим способом и корневой папкой, имела маску, включившую обоим, то механизм записи автоматически отключил бы HFS в пользу HFS +.)
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Получает ссылку на родительский объект, если таковые имеются, данного объекта в файле/иерархии папок.
Объявление
Swift
func DRFSObjectGetParent(_
object
: DRFSObject!) -> Unmanaged<DRFolder>!Objective C
DRFolderRef DRFSObjectGetParent ( const DRFSObjectRef object );
Параметры
object
Ссылка на объект на запрос.
Возвращаемое значение
Возвращает ссылку на родителя объекта, или
NULL
если нет никакого родителя.Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Учитывая реальное (в противоположность виртуальному) файл или объект папки, получает ссылку файловой системы на дисковый файл или папку.
Объявление
Swift
func DRFSObjectGetRealFSRef(_
object
: DRFSObject!, _fsRef
: UnsafeMutablePointer<FSRef>)Objective C
void DRFSObjectGetRealFSRef ( const DRFSObjectRef object, FSRef *fsRef );
Параметры
object
Файл или папка возражают для запросов.
fsRef
На успехе, содержит допустимый объект FSRef.
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Отчеты, является ли объект файла или папки реальным или виртуальным.
Объявление
Swift
func DRFSObjectIsVirtual(_
object
: DRFSObject!) -> BooleanObjective C
Boolean DRFSObjectIsVirtual ( const DRFSObjectRef object );
Параметры
object
Файл или папка возражают для запросов.
Возвращаемое значение
Возвраты
TRUE
если объект является виртуальным,FALSE
иначе.Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Определяет базовое имя для объекта папки или файла.
Объявление
Swift
func DRFSObjectSetBaseName(_
object
: DRFSObject!, _baseName
: CFString!)Objective C
void DRFSObjectSetBaseName ( DRFSObjectRef object, CFStringRef baseName );
Параметры
object
Ссылка на файл или папку возражает для изменения.
baseName
Ссылка на новое имя для объекта.
Обсуждение
(Основное) имя по умолчанию файла или папки является именем, с которого Диск, Записывающий автоматически, генерирует определенные для файловой системы имена.
API создания содержания Записи диска может генерировать многократные файловые системы, каждая из которых может иметь свои собственные соглашения о присвоении имен. Каждый раз, когда возможно, базовое имя будет использоваться без модификации в сгенерированной файловой системе.
Если базовое имя не может использоваться как есть (если, например, оно содержит запрещенные символы, превышает требования длины, не встречает требуемый формат, или коллизия имени обнаруживается), то Диск, Записывающий автоматически, получает приемлемое имя, удовлетворяющее критерии файловой системы.
Изменение файла или базового имени объекта папки удалит любые определенные для файловой системы переопределения имени, которые, возможно, были установлены в словаре имен объекта.
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Устанавливает явную маску для файла или объекта папки, указывая, в которых файловых системах должен появиться этот объект.
Объявление
Swift
func DRFSObjectSetFilesystemMask(_
object
: DRFSObject!, _newMask
: DRFilesystemMask)Objective C
void DRFSObjectSetFilesystemMask ( DRFSObjectRef object, DRFilesystemMask newMask );
Параметры
object
Ссылка на файл или папку возражает для изменения.
newMask
Новая явная маска для использования.
Обсуждение
Обратитесь к обсуждению для DRFSObjectGetFilesystemMask для объяснения явных и эффективных масок.
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Свойства файловой системы изменений для файла или объекта папки.
Объявление
Swift
func DRFSObjectSetFilesystemProperties(_
object
: DRFSObject!, _fsKey
: CFString!, _properties
: CFDictionary!)Objective C
void DRFSObjectSetFilesystemProperties ( DRFSObjectRef object, CFStringRef fsKey, CFDictionaryRef properties );
Параметры
object
Ссылка на файл или папку возражает для изменения.
fsKey
Файловая система для свойств объектов Вы хотите изменить.
properties
Ссылка на словарь свойств для установки.
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Устанавливает определенное для файловой системы свойство для объекта папки или файла.
Объявление
Swift
func DRFSObjectSetFilesystemProperty(_
object
: DRFSObject!, _fsKey
: CFString!, _propertyKey
: CFString!, _value
: AnyObject!)Objective C
void DRFSObjectSetFilesystemProperty ( DRFSObjectRef object, CFStringRef fsKey, CFStringRef propertyKey, CFTypeRef value );
Параметры
object
Ссылка на файл или папку возражает для изменения.
fsKey
Файловая система для свойства объекта Вы хотите изменить.
propertyKey
Свойство Вы хотите изменить.
value
Новое значение для свойства.
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Изменяет определенное для файловой системы имя для объекта папки или файла.
Объявление
Swift
func DRFSObjectSetSpecificName(_
object
: DRFSObject!, _fsKey
: CFString!, _specificName
: CFString!)Objective C
void DRFSObjectSetSpecificName ( DRFSObjectRef object, CFStringRef fsKey, CFStringRef specificName );
Параметры
object
Ссылка на файл или папку возражает для изменения.
fsKey
Ключ доступа имени для определенного для файловой системы имени Вы изменяетесь. Допустимые ключи включают kDRISO9660LevelOne для '8,3' имена или kDRISO9660LevelTwo для 30 имен персонажей.
specificName
Имя для применения к файлу или объекту папки.
Обсуждение
Запись диска пытается использовать (основное) имя по умолчанию объекта папки или файла. Если имя по умолчанию недопустимо, однако, Запись Диска изменяет его для адаптации правилам для файловой системы, указанной с
fsKey
параметр.Чтобы гарантировать, что Вы всегда выводите на экран самое актуальное имя к пользователю, всегда следуйте за вызовом к этой функции с вызовом к DRFSObjectCopySpecificName.
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Изменяет все определенные для файловой системы имена для объекта папки или файла.
Объявление
Swift
func DRFSObjectSetSpecificNames(_
object
: DRFSObject!, _specificNames
: CFDictionary!)Objective C
void DRFSObjectSetSpecificNames ( DRFSObjectRef object, CFDictionaryRef specificNames );
Параметры
object
Ссылка на файл или папку возражает для изменения.
specificNames
Словарь, содержащий имена для применения к файлу или объекту папки.
Обсуждение
Запись диска пытается использовать (основные) имена по умолчанию объекта папки или файла. Если какое-либо из имен по умолчанию недопустимо, однако, Запись Диска изменяет их для адаптации правилам для файловой системы, указанной с
fsKey
параметр.Чтобы гарантировать, что Вы всегда выводите на экран самое актуальное имя к пользователю, всегда следуйте за вызовом к этой функции с вызовом к DRFSObjectCopySpecificNames.
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
Посмотрите раздел Overview выше для документации уровня заголовка.
-
Тип ссылки на объект DRFile.
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Маска значений, указывающих, в которые файловые системы должен быть включен определенный объект файловой системы.
Объявление
Swift
typealias DRFilesystemMask = UInt32
Objective C
typedef UInt32 DRFilesystemMask;
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Тип ссылки на объект DRFolder.
Объявление
Swift
typealias DRFolderRef = DRFolder
Objective C
typedef struct __DRFolder* DRFolderRef;
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
-
Полиморфный тип, используемый для файла и объектов папки.
Объявление
Swift
typealias DRFSObjectRef = DRFSObject
Objective C
typedef DRTypeRef DRFSObjectRef;
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
Посмотрите раздел Overview выше для документации уровня заголовка.
-
Объявление
Swift
var kDRFilesystemMaskISO9660: UInt32 { get } var kDRFilesystemMaskJoliet: UInt32 { get } var kDRFilesystemMaskUDF: UInt32 { get } var kDRFilesystemMaskHFSPlus: UInt32 { get } var kDRFilesystemMaskDefault: UInt32 { get }
Objective C
enum { kDRFilesystemMaskISO9660 = ( 1<<0), kDRFilesystemMaskJoliet = ( 1<<1), kDRFilesystemMaskUDF = ( 1<<2), kDRFilesystemMaskHFSPlus = ( 1<<3), kDRFilesystemMaskDefault = 0xFFFFFFFF };
Константы
-
kDRFilesystemMaskISO9660
kDRFilesystemMaskISO9660
Маска, указывающая файловую систему ISO 9660.
Доступный в OS X v10.2 и позже.
-
kDRFilesystemMaskJoliet
kDRFilesystemMaskJoliet
Маска, указывающая файловую систему Джолиета, расширение файловой системы ISO 9660.
Доступный в OS X v10.2 и позже.
-
kDRFilesystemMaskUDF
kDRFilesystemMaskUDF
Маска, указывающая файловую систему UDF.
Доступный в OS X v10.4 и позже.
-
kDRFilesystemMaskHFSPlus
kDRFilesystemMaskHFSPlus
Маска, указывающая HFS + файловая система.
Доступный в OS X v10.2 и позже.
-
kDRFilesystemMaskDefault
kDRFilesystemMaskDefault
Значение по умолчанию, неограниченная маска для недавно создаваемого файла или объектов папки.
Доступный в OS X v10.2 и позже.
-