Ссылка DRFSObject.h
Определяет типичные функции всех объектов содержания файловой системы.
О создании содержания
Создание содержания обеспечивает интерфейс для динамического создания файловой системы, позволяя сложным иерархиям файловой системы быть созданным и записанным на лету, не имея необходимость генерировать полное дисковое представление.
Корневой объект для объектов, содержавшихся в иерархии создания содержания Objective C, является DRFSObject. Через DRFSObject файл и объекты папки наследовали основной интерфейс к получению и установке свойств файловой системы, имен и масок. Класс DRFSObject является абстрактным классом, нет никаких методов, доступных для создания DRFSObject непосредственно, Вы создаете DRFile и объекты DRFolder вместо этого.
Реальные и виртуальные объекты
Интерфейс разработан вокруг папки и объектов файла, размечающихся в одном родителе много дочерних иерархий - это должно быть знакомым понятием для любого, кто когда-либо использовал современную файловую систему. Существует два вида объектов в этом API; «реальные» объекты и «виртуальные» объекты и различие важны.
* реальный объект файла или папки соответствует непосредственно файлу или папке на диске. Данные для реального объекта файла прибывают непосредственно из дискового файла. Иерархия под реальным объектом папки соответствует 1:1 иерархии под папкой в дисковой файловой системе.
* виртуальный объект файла или папки не имеет никакого фактического представления на диске. Данные для виртуального объекта файла указаны через API или в функции обратного вызова. Иерархия под объектом виртуальной папки указана через API.
Создание виртуальной иерархии
В иерархии, указанной через этот API, только, виртуальные папки могут быть присвоенными дочерними элементами. Реальные файлы, виртуальные файлы и реальные папки все считают вершинами и могут не иметь дочерних элементов. (Реальные папки могут, конечно, содержать файлы и папки, но файлы и папки указаны дисковым представлением и не могут быть изменены через API, если реальная папка не сделана виртуальной сначала.)
Иерархия может быть столь же простой как единственная реальная папка, или она может быть как сложной по мере необходимости - например, виртуальная папка с глубокой иерархией дочерних элементов, которые являются сложным соединением реальных файлов, виртуальных файлов, реальных папок и виртуальных папок.
Преобразование от реального до виртуального
Реальная папка может быть динамично преобразована в виртуальную папку, когда ее первый уровень дочерних элементов читается и преобразовывается в виртуальную иерархию. Дочерние элементы таким образом создали, все будет реально. Например: реальная папка именованный корень преобразовывается в виртуальную папку. Дисковая папка содержит файл, названный file1 и папкой, названной folder2. После преобразования результатом является виртуальная папка, названная корнем с двумя дочерними элементами: реальный файл file1 и реальная папка folder2.
Базовые имена и собственные имена
Поскольку создание содержания, API в состоянии генерировать многократные файловые системы, требующие многократный, варьировалось соглашения о присвоении имен, требуется разумная система для именования. Таким образом каждый файл имеет базовое имя, соответствующее его имени по умолчанию в любой файловой системе. Каждый раз, когда возможно, базовое имя будет использоваться в сгенерированной файловой системе без модификации.
Начальное базовое имя для реального объекта является именем соответствующего объекта на диске. Когда объект создается, начальное базовое имя для виртуального объекта указано. Базовые имена и для реальных и для виртуальных объектов могут быть изменены с помощью setBaseName: метод.
В определенном filesytem, если базовое имя не может использоваться как есть (если, например, оно содержит запрещенные символы, превышает требования длины, или иначе не встречает требуемый формат), тогда приемлемое имя, удовлетворяющее критерии файловой системы, будет сгенерирован автоматически от базового имени. Имя, которое приемлемо для данной файловой системы, то, что собственное имя файла для той файловой системы.
Собственное имя может быть получено и изменено через этот API или может быть оставлено пустым, чтобы быть автоматически сгенерированным от базового имени. Когда собственное имя будет установлено через API, оно будет изменено, чтобы гарантировать, что имя законно согласно определенной файловой системе.
Даже когда собственное имя установлено или сгенерировано через API, это может не быть подлинное имя, используемое на диске. Если конфликты собственного имени объекта с собственным именем другого из одноуровневых элементов объекта в той файловой системе, одно или оба собственных имени будут искажены для получения уникального имени перед записью, обычно путем добавления числового кода искажения такой как _001 к каждому имени.
Существует два APIs, доступный для получения собственного имени от объекта:
* specificNameForFilesystem: возвращает неизмененное собственное имя, которое использовалось бы, если бы не было никаких конфликтов.
* mangledNameForFilesystem: возвращает измененное собственное имя, искаженное при необходимости, который, как гарантируют, будет уникален среди его одноуровневых элементов в файловой системе.
Ключи файловой системы детализированы в средствах доступа данных Файловой системы. Большинство ключей является прямым; однако, ISO 9660 является особым случаем, так как существует два возможных соглашения о присвоении имен для ISO 9660, уровень 1 (8.3, ограниченный набор символов) и уровень 2 (30 символов, незначительно расширенный набор символов). Вы не можете указать DRISO9660 при получении имени; вместо этого, необходимо явно указать, хотите ли Вы имя уровня 1 или уровня 2 с DRISO9660LevelOne или DRISO9660LevelTwo.
Если имя объекта не конфликтует ни с одним из его одноуровневых элементов, mangledNameForFilesystem: возвратит то же значение как specificNameForFilesystem:. обратное не обязательно верно - один объект может получить фактическое собственное имя, и другие файлы с коллизиями имени будут искажены.
mangledNameForFilesystem: проверит каждый из одноуровневых элементов объекта в иерархии и искажении для разрешения любых конфликтов имени файла, таким образом, это может быть намного более дорогой вызов, чем specificNameForFilesystem: беря в худшем случае O (N^2) время, где N является числом одноуровневых элементов. Когда существует только несколько коллизий, Однако фактическая производительность имеет тенденцию быть намного лучше, ближе к O (N), особенно. mangledNameForFilesystem: имеет преимущество разрешения Вам видеть (и показать пользователю) точные имена, которые были бы сгенерированы на диске, если бы запись была сразу запущена.
Оба specificNameForFilesystem: и mangledNameForFilesystem: будет кэшировать информацию, если это возможно, так, чтобы имена были только сгенерированы и искажены при необходимости. Добавление или удаление дочерних элементов от папки или изменение базового имени или собственного имени на объекте, могут заставить кэшируемые имена дочерних элементов объекта или одноуровневых элементов быть повторно вычисленными.
Свойства и другие метаданные
К свойствам обычно получают доступ так же к именам. Каждый объект имеет общие свойства, применяющиеся к каждой файловой системе, и это может также иметь различные свойства в каждой файловой системе. Например, файл, не имеющий никакой уместности для пользователя MacOS, может быть отмечен невидимый в HFS + дерево, но быть видим в дереве Джолиета.
Свойства, как имена, также дифференцируются файловой системой. Существует один словарь свойств для DRAllFilesystems и один словарь свойств для каждой отдельной файловой системы - DRISO9660, DRJoliet, DRHFSPlus, и т.д.
Свойства для DRAllFilesystems обрабатываются как основное значение, и затем свойства в определенном словаре файловой системы обрабатываются как переопределения.
При получении свойств с propertyForKey:inFilesystem:mergeWithOtherFilesystems: или propertiesForFilesystem:mergeWithOtherFilesystems: можно указать, хотите ли Вы автоматически объединить свойства между указанным словарем файловой системы и «всеми файловыми системами» словарь. Это полезно, если Вы хотите получить действующее значение свойства, потому что это возвратит значение из «всех файловых систем» словарь, если определенная файловая система не присвоит переопределение.
Маски файловой системы
Возможно подавить генерацию определенных элементов в дереве папки. Например, можно хотеть файл приложения MacOS или связаться, чтобы только появиться в HFS + дерево и хотеть, чтобы.EXE файл только появился в дереве Джолиета.
Специфичное для файловой системы утаивание обрабатывается через маску файловой системы. Маска файловой системы является битовым полем, содержащим 1, если объект появится в соответствующей файловой системе, и 0 иначе. Это может использоваться для генерации произвольно сложных деревьев, где в наиболее сложном случае каждая файловая система может теоретически иметь свое собственное уникальное и непересекающееся дерево. (Таким дискам обескураживают, однако, так как они могут сбить с толку пользователю.)
Объект, как могут полагать, имеет два значения маски. Первый является явной маской, которая была установлена клиентом и может быть нулем, если не была установлена никакая маска. Другой эффективная маска, которая является фактической маской, которая будет использоваться.
Если явная маска является ненулевой, то эффективная маска объекта равна поразрядному AND явной маски объекта и эффективной маски ее родителя.
Если явная маска будет нулем, то объект будет использовать ту же маску в качестве своего родителя. (Другими словами, эффективная маска равна эффективной маске родителя.)
Если корень иерархии не будет иметь явного комплекта масок, то эффективная маска корня и всех его потомков будет нулем.
Явная маска может быть очищена путем изменения его для обнуления. Путем выполнения этого явная маска объекта становится нулем, и его эффективная маска будет наследована от его родителя.
Если эффективная маска объекта будет нулем, то она не будет включена в запись. Главное исключение к этому правилу - когда явная/эффективная маска корневой папки является нулем - когда это произойдет, DiscRecording присвоит маску по умолчанию, обычно та, которая приведет к самому межплатформенному возможному диску.
Если эффективная маска корня будет нулем во время записи, то DiscRecording автоматически выберет маску по умолчанию, обычно та, которая приведет к самому межплатформенному возможному диску.
Некоторые комбинации маски файловой системы имеют особые требования; например, Джолиет основывается на ISO 9660 и требует, чтобы ISO 9660 был включен на, по крайней мере, корневом объекте. (У Вас может все еще быть что-то, появляются в Джолиете, но не ISO 9660, как бы то ни было.) Некоторые комбинации в будущем могут быть взаимоисключающими.
Вы не должны устанавливать явную маску ни для чего кроме корня, если Вы хотите, чтобы все файловые системы имели те же данные. Так как DiscRecording автоматически присвоит маску, если ни один не будет предоставлен, Вы даже не должны устанавливать явную маску для корня.
Перевод символьной ссылки
Во время записи, когда с символьной ссылкой встретятся в дисковой файловой системе, соответствующей реальному файлу или папке, семантика ссылки будет сохранена максимально близко. Если ссылка будет содержать абсолютный путь, то она будет скопирована неизмененная. Если ссылка будет содержать относительный путь, то она будет изменена для содержания надлежащего пути. Важная подробность для распознавания - то, что начиная с именования требований варьируются между файловыми системами, надлежащий путь может отличаться для каждой файловой системы.
Например, относительная ссылка на «мой длинный, длинный каталог/этот: имя файла with_extension unusual$», будет изменен для содержания чего-то как следующий. Обратите внимание на то, что каждый компонент пути был изменен для приспосабливания правилам целевой файловой системы.
Уровень 1 * ISO 9660: «MYLONGLO/THISISAN.WIT» * уровень 2 ISO 9660: «MY LONG LONG DIRECTORY/THIS: IS AN UNU.WITH_EXTENSION» * Джолиет: «мой длинный, длинный каталог/этот: необычное имя файла with_extension» * HFS +: «мой длинный, длинный каталог/этот: имя файла with_extension unusual$»
Механизм записи приложит усилие для надлежащего перевода каждого компонента пути. Однако все еще возможно, что символьная ссылка могла бы прервать сложные случаи. (Например, в случае символьной ссылки относительного пути, пересекающей через символьную ссылку абсолютного пути, или когда существуют конфликты имени файла вдоль пути символьной ссылки, который механизм записи должен разрешить путем искажения.)
Сохранение символьной ссылки механизма записи обычно достаточно хорошо для большинства ситуаций, в которых используются символьные ссылки. И, когда исходная файловая система совпадает с целевой файловой системой, символьные ссылки будут сохранены отлично. (Например, HFS + файловая система, сгенерированная от HFS + источник, никогда не должен иметь проблем символьной ссылки.)
Однако разногласия отказа символьной ссылки восстанавливают работоспособность, когда существуют сложные расположения символьных ссылок, или когда существуют конфликты имени файла, которые механизм записи разрешает путем искажения.
Это - ожидаемое поведение. В настоящее время единственный способ создать совершенную символьную ссылку, которая, как гарантируют, будет иметь корректный путь во всех файловых системах, состоит в том, чтобы создать виртуальную символьную ссылку с помощью symLinkPointingTo:inFilesystem:.
Включенные заголовки
<Foundation/Foundation.h>
<AvailabilityMacros.h>
См. Обзор для документации уровня заголовка.
-
Значение маски determing присутствие DRFSObject в определенной файловой системе.
Объявление
Swift
typealias DRFilesystemInclusionMask = UInt32
Objective C
typedef UInt32 DRFilesystemInclusionMask;
Обсуждение
Маска файловой системы является битовым полем, содержащим 1, если объект появится в соответствующей файловой системе, и 0 иначе.
Оператор импорта
Objective C
@import DiscRecording;
Swift
import DiscRecording
Доступность
Доступный в OS X v10.2 и позже.
См. Обзор для документации уровня заголовка.
-
Объявление
Swift
let DRAccessDate: NSString! let DRAllFilesystems: NSString! let DRAttributeModificationDate: NSString! let DRBackupDate: NSString! let DRContentModificationDate: NSString! let DRCreationDate: NSString! let DREffectiveDate: NSString! let DRExpirationDate: NSString! let DRHFSPlus: NSString! let DRHFSPlusCatalogNodeID: NSString! let DRHFSPlusTextEncodingHint: NSString! let DRInvisible: NSString! let DRISO9660: NSString! let DRISO9660LevelOne: NSString! let DRISO9660LevelTwo: NSString! let DRISO9660VersionNumber: NSString! let DRJoliet: NSString! let DRMacExtendedFinderFlags: NSString! let DRMacFileCreator: NSString! let DRMacFileType: NSString! let DRMacFinderFlags: NSString! let DRMacFinderHideExtension: NSString! let DRMacIconLocation: NSString! let DRMacScrollPosition: NSString! let DRMacWindowBounds: NSString! let DRMacWindowView: NSString! let DRPosixFileMode: NSString! let DRPosixGID: NSString! let DRPosixUID: NSString! let DRRecordingDate: NSString! let DRUDF: NSString! let DRUDFApplicationIdentifierSuffix: NSString! let DRUDFExtendedFilePermissions: NSString! let DRUDFInterchangeLevel: NSString! let DRUDFMaxInterchangeLevel: NSString! let DRUDFMaxVolumeSequenceNumber: NSString! let DRUDFPrimaryVolumeDescriptorNumber: NSString! let DRUDFRealTimeFile: NSString! let DRUDFVersion102: NSString! let DRUDFVersion150: NSString! let DRUDFVolumeSequenceNumber: NSString! let DRUDFVolumeSetIdentifier: NSString! let DRUDFVolumeSetImplementationUse: NSString! let DRUDFVolumeSetTimestamp: NSString! let DRUDFWriteVersion: NSString!
Objective C
extern NSString* const DRAccessDateAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRAllFilesystemsAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRAttributeModificationDateAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRBackupDateAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRContentModificationDateAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRCreationDateAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DREffectiveDateAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRExpirationDateAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRHFSPlusAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRHFSPlusCatalogNodeIDAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRHFSPlusTextEncodingHintAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRInvisibleAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRISO9660AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRISO9660LevelOneAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRISO9660LevelTwoAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRISO9660VersionNumberAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRJolietAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRMacExtendedFinderFlagsAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRMacFileCreatorAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRMacFileTypeAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRMacFinderFlagsAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRMacFinderHideExtensionAVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER; extern NSString* const DRMacIconLocationAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRMacScrollPositionAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRMacWindowBoundsAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRMacWindowViewAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRPosixFileModeAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRPosixGIDAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRPosixUIDAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRRecordingDateAVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER; extern NSString* const DRUDFAVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern NSString* const DRUDFApplicationIdentifierSuffixAVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern NSString* const DRUDFExtendedFilePermissionsAVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern NSString* const DRUDFInterchangeLevelAVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern NSString* const DRUDFMaxInterchangeLevelAVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern NSString* const DRUDFMaxVolumeSequenceNumberAVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern NSString* const DRUDFPrimaryVolumeDescriptorNumberAVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern NSString* const DRUDFRealTimeFileAVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern NSString* const DRUDFVersion102AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern NSString* const DRUDFVersion150AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern NSString* const DRUDFVolumeSequenceNumberAVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern NSString* const DRUDFVolumeSetIdentifierAVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern NSString * const DRUDFVolumeSetImplementationUseAVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern NSString* const DRUDFVolumeSetTimestampAVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; extern NSString* const DRUDFWriteVersionAVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
Константы
-
DRAccessDate
DRAccessDate
NSDate, содержащий дату последнего обращения элемента.
Доступный в OS X v10.2 и позже.
-
DRAllFilesystems
DRAllFilesystems
Ключ для доступа к имени или свойствам для файла во всех файловых системах вместе. Когда этот ключ используется для обращения к имени, он относится к базовому имени (который не имеет никаких ограничений именования).
Доступный в OS X v10.2 и позже.
-
DRAttributeModificationDate
DRAttributeModificationDate
NSDate, содержащий дату модификации атрибута элемента.
Доступный в OS X v10.2 и позже.
-
DRBackupDate
DRBackupDate
NSDate, содержащий резервную дату элемента.
Доступный в OS X v10.2 и позже.
-
DRContentModificationDate
DRContentModificationDate
NSDate, содержащий дату модификации содержания элемента.
Доступный в OS X v10.2 и позже.
-
DRCreationDate
DRCreationDate
NSDate, содержащий дату создания элемента.
Доступный в OS X v10.2 и позже.
-
DREffectiveDate
DREffectiveDate
NSDate, содержащий дату вступления в силу элемента.
Доступный в OS X v10.2 и позже.
-
DRExpirationDate
DRExpirationDate
NSDate, содержащий дату истечения срока элемента.
Доступный в OS X v10.2 и позже.
-
DRHFSPlus
DRHFSPlus
Ключ для доступа к HFS + имя/свойства для файла. HFS + имена могут быть, до 255 анализировали unicode символы долго.
Доступный в OS X v10.2 и позже.
-
DRHFSPlusCatalogNodeID
DRHFSPlusCatalogNodeID
NSNumber, содержащий узел каталога элемента ID (HFS + только). В настоящее время, это значение, если установленный только предложение. Механизм записи попытается использовать этот узел ID, но может использовать другое значение, если это должно разрешить конфликты. Поведение по умолчанию состоит в том, чтобы выделить узел IDs инкрементно от kHFSFirstUserCatalogNodeID.
Доступный в OS X v10.2 и позже.
-
DRHFSPlusTextEncodingHint
DRHFSPlusTextEncodingHint
NSNumber, содержащий текст элемента, кодирующий подсказку (HFS + только).
Это значение используется MacOS для помощи при преобразовании исходно имя файла UTF-16 в 8 битов за символьное представление (таких как Макрочеловек, Shift-JIS или UTF8). Если не набор, поведение по умолчанию состоит в том, чтобы вызвать CFStringGetMostCompatibleMacStringEncoding (CFStringGetSmallestEncoding ()).
Доступный в OS X v10.2 и позже.
-
DRInvisible
DRInvisible
Указание NSBoolean, является ли элемент invisibile или нет.
Доступный в OS X v10.2 и позже.
-
DRISO9660
DRISO9660
Ключ для доступа к ISO 9 660 свойств для файла. Этот ключ используется для обращения в частности к свойствам для файла.
Этот ключ не может использоваться для обращения к имени файла; это неоднозначно, так как имя может быть или в формате уровня 1 или в уровня 2.
Доступный в OS X v10.2 и позже.
-
DRISO9660LevelOne
DRISO9660LevelOne
Ключ для доступа к уровню 1 ISO 9660 называет для файла. Если уровень ISO установлен в 1, этот ключ используется для обращения в частности к имени, сгенерированному для ISO 9660. Когда используется для свойства, это эквивалентно в использовании ключу DRISO9660 и действует как синоним для того ключа.
Имена уровня 1 ISO9660 находятся в форме, обычно известной как 8,3 - восемь символов имени и три символа расширения (если это - файл; каталоги не могут иметь расширений). Набор символов ограничивается A-Z, 0-9, и _.
Доступный в OS X v10.2 и позже.
-
DRISO9660LevelTwo
DRISO9660LevelTwo
Ключ для доступа к уровню 2 ISO 9660 называет для файла. Если уровень ISO установлен в 2, этот ключ используется для обращения в частности к имени, сгенерированному для ISO 9660. Когда используется для свойства, это эквивалентно в использовании ключу DRISO9660 и действует как синоним для того ключа.
Имена уровня 2 ISO9660 могут быть 32 символами долго, ограничиваются подмножеством 7-разрядных символов ASCII (прописные буквы, числа, пространство, пунктуация), и только позволяются «один.» символ.
Доступный в OS X v10.2 и позже.
-
DRISO9660VersionNumber
DRISO9660VersionNumber
NSNumber, содержащий номер версии ISO9660 для объекта. Значение по умолчанию равняется 1.
Доступный в OS X v10.2 и позже.
-
DRJoliet
DRJoliet
Ключ для доступа к имени/свойствам Джолиета для файла. Имена Джолиета могут быть 64, предварительно составлял unicode символы долго, но только позволяются «один.» символ, и много знаков препинания недопустимы.
Доступный в OS X v10.2 и позже.
-
DRMacExtendedFinderFlags
DRMacExtendedFinderFlags
NSNumber, содержащий расширенные флаги Средства поиска элемента (только MacOS).
Доступный в OS X v10.2 и позже.
-
DRMacFileCreator
DRMacFileCreator
NSData, содержащий OSType для создателя файла (только MacOS).
Доступный в OS X v10.2 и позже.
-
DRMacFileType
DRMacFileType
NSData, содержащий OSType для типа файла (только MacOS).
Доступный в OS X v10.2 и позже.
-
DRMacFinderFlags
DRMacFinderFlags
NSNumber, содержащий флаги Средства поиска элемента (только MacOS). Невидимый бит проигнорирован - используют DRInvisible вместо этого.
Доступный в OS X v10.2 и позже.
-
DRMacFinderHideExtension
DRMacFinderHideExtension
Указание BOOL, должно ли расширение быть скрыто в Средстве поиска или нет. Значение по умолчанию является ложью и только применяется к файлам.
Доступный в OS X v10.5 и позже.
-
DRMacIconLocation
DRMacIconLocation
NSData, содержащий Точку (не NSPoint) для местоположения значка элемента в его родительской папке (только MacOS).
Доступный в OS X v10.2 и позже.
-
DRMacScrollPosition
DRMacScrollPosition
NSData, содержащий Точку (не NSPoint) для позиции прокрутки папки (только MacOS).
Доступный в OS X v10.2 и позже.
-
DRMacWindowBounds
DRMacWindowBounds
NSData, содержащий Rect (не NSRect) для окна, ограничивает для папки (только MacOS).
Доступный в OS X v10.2 и позже.
-
DRMacWindowView
DRMacWindowView
NSNumber, содержащие окно папки, просматривают тип (только MacOS).
Доступный в OS X v10.2 и позже.
-
DRPosixFileMode
DRPosixFileMode
NSNumber, содержащий режим файла POSIX элемента.
Доступный в OS X v10.2 и позже.
-
DRPosixGID
DRPosixGID
NSNumber, содержащий POSIX элемента GID.
Доступный в OS X v10.2 и позже.
-
DRPosixUID
DRPosixUID
NSNumber, содержащий POSIX элемента UID.
Доступный в OS X v10.2 и позже.
-
DRRecordingDate
DRRecordingDate
NSDate, содержащий дату записи элемента.
Доступный в OS X v10.2 и позже.
-
DRUDF
DRUDF
Ключ для доступа к имени/свойствам UDF для файла.
Доступный в OS X v10.4 и позже.
-
DRUDFApplicationIdentifierSuffix
DRUDFApplicationIdentifierSuffix
Дополнительный ключ. Объект NSData до 8 байтов в длине, для использования приложения. Присутствие этого ключа требует ключа DRApplicationIdentifier.
Доступный в OS X v10.4 и позже.
-
DRUDFExtendedFilePermissions
DRUDFExtendedFilePermissions
NSNumber указание расширенных полномочий файла UDF этого файла.
Бит 0: Изменение приписывает для других (бит низкоуровневый) Бита 1: Удалите полномочия для других Бит 2: Изменение приписывает для группы Бита 3: Удалите полномочия для группы Бит 4: Изменение приписывает для владельца Бита 5: Удалите полномочия для владельца Бита 6 и 7: Зарезервированный, Если этот ключ не присутствует, DRPosixFileMode будет использоваться с вышеупомянутыми битами, устанавливаемыми в соответствующий бит записи для владельца, группы и других. Если DRPosixFileMode не будет присутствовать, то режим файла от файла на диске будет использоваться, снова использование записи укусило для этих полномочий.
Доступный в OS X v10.4 и позже.
-
DRUDFInterchangeLevel
DRUDFInterchangeLevel
Дополнительный ключ. NSNumber, содержащие объем, обмениваются уровнем. Посмотрите спецификации UDF для подробных данных.
Доступный в OS X v10.4 и позже.
-
DRUDFMaxInterchangeLevel
DRUDFMaxInterchangeLevel
Дополнительный ключ. NSNumber, содержащие максимальную громкость, обмениваются числом уровня. Посмотрите спецификации UDF для подробных данных.
Доступный в OS X v10.4 и позже.
-
DRUDFMaxVolumeSequenceNumber
DRUDFMaxVolumeSequenceNumber
Дополнительный ключ. NSNumber, содержащий порядковый номер максимальной громкости. Посмотрите спецификации UDF для подробных данных.
Доступный в OS X v10.4 и позже.
-
DRUDFPrimaryVolumeDescriptorNumber
DRUDFPrimaryVolumeDescriptorNumber
Дополнительный ключ. NSNumber, содержащий основной порядковый номер объема. Посмотрите спецификации UDF для подробных данных.
Доступный в OS X v10.4 и позже.
-
DRUDFRealTimeFile
DRUDFRealTimeFile
Указание NSNumber, является ли файл файлом В реальном времени UDF.
Доступный в OS X v10.4 и позже.
-
DRUDFVersion102
DRUDFVersion102
Это значение используется в DRUDFWriteVersion.
Доступный в OS X v10.4 и позже.
-
DRUDFVersion150
DRUDFVersion150
Это значение используется в DRUDFWriteVersion.
Доступный в OS X v10.4 и позже.
-
DRUDFVolumeSequenceNumber
DRUDFVolumeSequenceNumber
Дополнительный ключ. NSNumber, содержащий порядковый номер объема. Посмотрите спецификации UDF для подробных данных.
Доступный в OS X v10.4 и позже.
-
DRUDFVolumeSetIdentifier
DRUDFVolumeSetIdentifier
Дополнительный ключ. Идентификатор Набора томов для набора томов UDF. Если этот ключ не будет присутствовать, то DRVolumeSet будет использоваться если настоящее. Идентификатор Набора томов составлен из Метки времени Набора томов, Использования Реализации, и строка, содержавшаяся в этом свойстве.
Доступный в OS X v10.4 и позже.
-
DRUDFVolumeSetImplementationUse
DRUDFVolumeSetImplementationUse
Дополнительный ключ. Объект NSData (8 байтов в длине) для реализации использует данные. Посмотрите спецификации UDF для подробных данных.
Доступный в OS X v10.4 и позже.
-
DRUDFVolumeSetTimestamp
DRUDFVolumeSetTimestamp
Дополнительный ключ. NSDate возражает для метки времени набора томов. Посмотрите спецификации UDF для подробных данных.
Доступный в OS X v10.4 и позже.
-
DRUDFWriteVersion
DRUDFWriteVersion
Дополнительный ключ. Этот ключ свойства определяет версию для структур UDF, записанных в диск. Значения являются definde в Типах версий UDF.
Доступный в OS X v10.4 и позже.
-
-
Объявление
Swift
var DRFilesystemInclusionMaskISO9660: Int { get } var DRFilesystemInclusionMaskJoliet: Int { get } var DRFilesystemInclusionMaskUDF: Int { get } var DRFilesystemInclusionMaskHFSPlus: Int { get }
Objective C
enum { DRFilesystemInclusionMaskISO9660 = ( 1<<0), DRFilesystemInclusionMaskJoliet = ( 1<<1), DRFilesystemInclusionMaskUDF = ( 1<<2), DRFilesystemInclusionMaskHFSPlus = ( 1<<3) };
Константы
-
DRFilesystemInclusionMaskISO9660
DRFilesystemInclusionMaskISO9660
Указывает, что объект должен быть включен в ISO9660 filesytem
Доступный в OS X v10.2 и позже.
-
DRFilesystemInclusionMaskJoliet
DRFilesystemInclusionMaskJoliet
Указывает, что объект должен быть включен в Джолиета filesytem
Доступный в OS X v10.2 и позже.
-
DRFilesystemInclusionMaskUDF
DRFilesystemInclusionMaskUDF
Указывает, что объект должен быть включен в UDF filesytem
Доступный в OS X v10.4 и позже.
-
DRFilesystemInclusionMaskHFSPlus
DRFilesystemInclusionMaskHFSPlus
Указывает, что объект должен быть включен в HFS + filesytem
Доступный в OS X v10.2 и позже.
Обсуждение
Константы маски для determing присутствие DRFSObject в определенной файловой системе
-