Предпочтительные домены

При создании нового предпочтения или поиске существующего, Базовая Основа использует понятие “Предпочтительных Доменов” для указания объема и расположения предпочтения. Предпочтительный домен состоит из трех данных, идентификатора приложения, имени хоста и имени пользователя. Таблица 1 показывает все предпочтительные домены, перечисленные в порядке, что они ищутся при попытке определить местоположение предпочтительного значения.

Табличные 1  Предпочтительные Домены в поисковом порядке

1

Текущий пользователь

Текущее приложение

Текущий узел

2

Текущий пользователь

Текущее приложение

Любой узел

3

Текущий пользователь

Любое приложение

Текущий узел

4

Текущий пользователь

Любое приложение

Любой узел

5

Любой пользователь

Текущее приложение

Текущий узел

6

Любой пользователь

Текущее приложение

Любой узел

7

Любой пользователь

Любое приложение

Текущий узел

8

Любой пользователь

Любое приложение

Любой узел

При использовании высокоуровневых предпочтительных функций CFPreferencesSetAppValue, и CFPreferencesCopyAppValue, Вы должны только указать идентификатор приложения. Первая функция, CFPreferencesSetAppValue, помещает предпочтительное значение в домен «Current User» и «Any Host» для приложения, означая, что стандартное расположение для установок приложения является доменным номером два, как перечислено в Таблице 1. Другая функция, CFPreferencesCopyAppValue, перерывает все домены в порядке, пока не найдено значение. Посмотрите Используя Высокоуровневые Предпочтения API для получения информации об использовании этих функций.

Доменные спецификаторы

Если необходимо указать точный домен для предпочтительных значений, можно использовать низкоуровневые предпочтительные функции CFPreferencesSetValue, и CFPreferencesCopyValue. Эти функции позволяют Вам указывать все три из доменных спецификаторов при установке или поиске предпочтений. При использовании этих функций Вы не можете передать произвольные имена хоста и имена пользователей; необходимо вместо этого использовать надлежащее «Любые» или «Текущие» константы, данные в списке ниже. Для спецификатора домена приложения можно или передать идентификатор приложения или одну из «Любых» или «Текущих» констант приложения, данных в списке ниже. Посмотрите Используя Низкоуровневые Предпочтения API для получения информации об использовании этих функций.

kCFPreferencesAnyApplicationУказывает предпочтение, применяющееся к любому приложению.
kCFPreferencesCurrentApplicationУказывает предпочтение, применяющееся только к текущему приложению.
kCFPreferencesAnyHostУказывает предпочтение, применяющееся к любому узлу.
kCFPreferencesCurrentHostУказывает предпочтение, применяющееся только к текущему узлу.
kCFPreferencesAnyUserУказывает предпочтение, применяющееся к любому пользователю.
kCFPreferencesCurrentUserУказывает предпочтение, применяющееся только к текущему пользователю.