Spec-Zone .ru
спецификации, руководства, описания, API
ADC домой > Ссылочная библиотека> Ссылка> Объединяющийся в сеть> Базовая Основа> Базовая Ссылка Идентификационных данных Служб

 


CSIdentityQuery

Платформа:
/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework
См. также:
Включает:

Обзор

Объект CSIdentityQuery обеспечивает синхронный или асинхронный доступ к набору идентификационных данных, которыми управляют полномочия идентификационных данных. Клиенты вызывают один из CSIdentityQueryCreate* функции для определения условий запроса. Запрос может быть выполнен точно один раз, или в синхронном или в асинхронном режиме.

Для синхронного выполнения клиент вызывает CSIdentityQueryExecute. Когда все identies соответствие критериев будут найдены, эта функция возвратится. К результатам получают доступ как массив через CSIdentityQueryCopyResults (). Никакие живые обновления к массиву результатов не предоставлены в синхронном режиме.

Для выполнения в асинхронном режиме клиент вызывает CSIdentityQueryExecuteAsynchronously, указывая объект клиента для получения обратных вызовов и runloop/mode, на который планируются обратные вызовы.

CSIdentityQueryExecuteAsynchronously сразу возвращается, и о событиях сообщат функции обратного вызова, поскольку результаты добавляются запросом. Клиент может запросить живые обновления к запросу, который отследит изменения в результатах, поскольку изменения внесены в полномочия идентификационных данных другими процессами. В настоящее время только изменения в локальных полномочиях идентификационных данных наблюдаются.

Асинхронные клиенты должны вызвать CSIdentityQueryStop, когда сделано обработав результаты запроса, чтобы препятствовать тому, чтобы клиентские обратные вызовы были вызваны снова.



Функции

CSIdentityQueryCopyResults
Получите результаты выполнения запроса идентификационных данных
CSIdentityQueryCreate
Создает объект запроса идентификационных данных для всех идентификационных данных в указанных полномочиях
CSIdentityQueryCreateForCurrentUser
Создает запрос для текущих идентификационных данных пользователя сеанса
CSIdentityQueryCreateForName
Создает запрос идентификационных данных, основанный на объектах на имени
CSIdentityQueryCreateForPersistentReference
Создает запрос идентификационных данных, основанный на объектах на объекте справочных данных идентификационных данных
CSIdentityQueryCreateForPosixID
Создает запрос идентификационных данных, основанный на объектах на POSIX ID
CSIdentityQueryCreateForUUID
Создает запрос идентификационных данных, основанный на объектах на UUID
CSIdentityQueryExecute
Выполните запрос идентификационных данных синхронно
CSIdentityQueryExecuteAsynchronously
Выполните запрос идентификационных данных асинхронно
CSIdentityQueryGetTypeID
Получите CFTypeID класса CSIdentityQuery
CSIdentityQueryStop
Лишите законной силы клиент запроса идентификационных данных

CSIdentityQueryCopyResults


Получите результаты выполнения запроса идентификационных данных

extern CFArrayRef CSIdentityQueryCopyResults( 
    CSIdentityQueryRef query );  
Параметры
query
Объект запроса получить доступ
Возвращаемое значение

Массив нуля или большего количества CSIdentityRefs

Обсуждение

Возвращает неизменный массив CSIdentityRefs, отражая текущие результаты выполнения запроса.


CSIdentityQueryCreate


Создает объект запроса идентификационных данных для всех идентификационных данных в указанных полномочиях

extern CSIdentityQueryRef CSIdentityQueryCreate( 
    CFAllocatorRef allocator, 
    CSIdentityClass identityClass, 
    CSIdentityAuthorityRef authority );  
Параметры
allocator
Средство выделения для использования для этого экземпляра
identityClass
Класс идентификационных данных для нахождения
authority
Полномочия идентификационных данных для запросов
Возвращаемое значение

Новый объект CSIdentityQuery

Обсуждение

Результаты этого запроса включают все идентификационные данные в базе данных указанных полномочий.


CSIdentityQueryCreateForCurrentUser


Создает запрос для текущих идентификационных данных пользователя сеанса

extern CSIdentityQueryRef CSIdentityQueryCreateForCurrentUser( 
    CFAllocatorRef allocator );  
Параметры
allocator
Средство выделения для использования для этого экземпляра
Возвращаемое значение

Новый объект CSIdentityQuery


CSIdentityQueryCreateForName


Создает запрос идентификационных данных, основанный на объектах на имени

extern CSIdentityQueryRef CSIdentityQueryCreateForName( 
    CFAllocatorRef allocator, 
    CFStringRef name, 
    CSIdentityQueryStringComparisonMethod comparisonMethod, 
    CSIdentityClass identityClass, 
    CSIdentityAuthorityRef authority );  
Параметры
allocator
Средство выделения для использования для этого экземпляра
name
Критерии имени запроса.
comparisonMethod
Функция comparision (равняются или начинается),
identityClass
Класс идентификационных данных для нахождения
authority
Полномочия идентификационных данных для запросов
Возвращаемое значение

Новый объект CSIdentityQuery

Обсуждение

Запрос находит идентификационные данные по имени. Это ищет полные имена, posix имена и псевдонимы для соответствий.


CSIdentityQueryCreateForPersistentReference


Создает запрос идентификационных данных, основанный на объектах на объекте справочных данных идентификационных данных

extern CSIdentityQueryRef CSIdentityQueryCreateForPersistentReference( 
    CFAllocatorRef allocator, 
    CFDataRef referenceData );  
Параметры
allocator
Средство выделения для использования для этого экземпляра
referenceData
Справочные данные, полностью описывающие идентификационные данные
Возвращаемое значение

Новый объект CSIdentityQuery

Обсуждение

Считает идентификационные данные справочными данными полученными из CSIdentityCreateReferenceData


CSIdentityQueryCreateForPosixID


Создает запрос идентификационных данных, основанный на объектах на POSIX ID

extern CSIdentityQueryRef CSIdentityQueryCreateForPosixID( 
    CFAllocatorRef allocator, 
    id_t posixID, 
    CSIdentityClass identityClass, 
    CSIdentityAuthorityRef authority );  
Параметры
allocator
Средство выделения для использования для этого экземпляра
posixID
UID или GID идентификационных данных для нахождения
identityClass
Класс идентификационных данных для нахождения
authority
Полномочия идентификационных данных для запросов
Возвращаемое значение

Новый объект CSIdentityQuery

Обсуждение

Находит идентификационные данные его UID или GID


CSIdentityQueryCreateForUUID


Создает запрос идентификационных данных, основанный на объектах на UUID

extern CSIdentityQueryRef CSIdentityQueryCreateForUUID( 
    CFAllocatorRef allocator, 
    CFUUIDRef uuid, 
    CSIdentityAuthorityRef authority );  
Параметры
allocator
Средство выделения для использования для этого экземпляра
uuid
UUID идентификационных данных для нахождения
authority
Полномочия идентификационных данных для запросов
Возвращаемое значение

Новый объект CSIdentityQuery

Обсуждение

Находит идентификационные данные его UUID


CSIdentityQueryExecute


Выполните запрос идентификационных данных синхронно

extern Boolean CSIdentityQueryExecute( 
    CSIdentityQueryRef query, 
    CSIdentityQueryFlags flags, 
    CFErrorRef *error );  
Параметры
query
Объект запроса выполниться
flags
Опции выполнения
error
Дополнительный указатель на объект CFError, который должен быть выпущен вызывающей стороной, если CSIdentityQueryExecute возвращает false
Возвращаемое значение

Возвращает true, если запрос выполнился успешно, ложь, если произошла ошибка.


CSIdentityQueryExecuteAsynchronously


Выполните запрос идентификационных данных асинхронно

extern Boolean CSIdentityQueryExecuteAsynchronously( 
    CSIdentityQueryRef query, 
    CSIdentityQueryFlags flags, 
    const CSIdentityQueryClientContext *clientContext, 
    CFRunLoopRef runLoop, 
    CFStringRef runLoopMode );  
Параметры
query
Объект запроса выполниться
flags
Опции выполнения
clientContext
Клиентский контекст и обратные вызовы, которые будут использоваться во время выполнения
runLoop
Цикл выполнения, на который можно запланировать обратные вызовы
runLoopMode
Режим цикла выполнения, в котором могут быть запланированы обратные вызовы
Возвращаемое значение

Возвращает true, если выполнение запросов запустилось, ложь, если был уже выполнен запрос.


CSIdentityQueryGetTypeID


Получите CFTypeID класса CSIdentityQuery

extern CFTypeID CSIdentityQueryGetTypeID(
    void );  


CSIdentityQueryStop


Лишите законной силы клиент запроса идентификационных данных

extern void CSIdentityQueryStop(
    CSIdentityQueryRef query );  
Параметры
query
Запрос к доступу
Обсуждение

Лишите законной силы клиент запроса так, чтобы его обратный вызов никогда не вызывали в будущем. Когда запрос больше не будет использоваться до выпуска заключительной ссылки запроса, клиенты должны вызвать CSIdentityQueryStop.

Определения типов


CSIdentityQueryReceiveEventCallback


Клиентский обратный вызов события функционирует для получения асинхронных событий запроса

typedef extern void ( *CSIdentityQueryReceiveEventCallback )( 
    CSIdentityQueryRef query, 
    CSIdentityQueryEvent event, 
    CFArrayRef identities, 
    CFErrorRef error, 
    void *info );  
Параметры
query
Объект запроса идентификационных данных, завершивший событие
event
Событие объект запроса идентификационных данных завершилось
identities
CFArray, содержащий идентификационные данные, следующие из запроса
error
CFError возражает, была ли ошибка от запроса
info
Любая другая информация, которую Вы хотите, передала функции обратного вызова

Структуры и объединения


CSIdentityQueryClientContext


Клиентские обратные вызовы указания структуры и частные данные контекста

struct CSIdentityQueryClientContext { 
    CFIndex version; 
    void *info; 
    CFAllocatorRetainCallBack retainInfo; 
    CFAllocatorReleaseCallBack releaseInfo; 
    CFAllocatorCopyDescriptionCallBack copyInfoDescription; 
    CSIdentityQueryReceiveEventCallback receiveEvent; 
};  

Перечисления


CSIdentityQueryEvent


Результаты выполнения асинхронного запроса

enum { 
    kCSIdentityQueryEventSearchPhaseFinished = 1, 
    kCSIdentityQueryEventResultsAdded = 2, 
    kCSIdentityQueryEventResultsChanged = 3, 
    kCSIdentityQueryEventResultsRemoved = 4, 
    kCSIdentityQueryEventErrorOccurred = 5 
};  
Константы
kCSIdentityQueryEventSearchPhaseFinished
Когда начальный поиск идентификационных данных закончился, событие генерировало. Если вызывающая сторона запросит kCSIdentityQueryGenerateUpdateEvents опцию, живые события обновления будут следовать.
kCSIdentityQueryEventResultsAdded
Когда идентификационные данные добавляются к результатам запроса, событие генерировало
kCSIdentityQueryEventResultsChanged
Когда идентификационные данные уже в результатах запроса были изменены, событие генерировало
kCSIdentityQueryEventResultsRemoved
Когда идентификационные данные удалены из результатов запроса, событие генерировало
kCSIdentityQueryEventErrorOccurred
Используемый для создания отчетов об ошибке. Остановки выполнения запросов (постоянно), если отправляется это событие.
Обсуждение

События сгенерированы во время асинхронного выполнения запросов


CSIdentityQueryFlags


Опции выполнения для запроса идентификационных данных

enum { 
    kCSIdentityQueryGenerateUpdateEvents = 0x0001, 
    kCSIdentityQueryIncludeHiddenIdentities = 0x0002 
};  
Константы
kCSIdentityQueryGenerateUpdateEvents
После того, как фаза запроса intial завершена, контролируйте набор результатов для живых обновлений
kCSIdentityQueryIncludeHiddenIdentities
Включайте все идентификационные данные соответствия в набор результатов, включая скрытых «системных» пользователей и группы (корень, www, и т.д.)
Обсуждение

Немного маски для установки опций выполнения на запросе


CSIdentityQueryStringComparisonMethod


Опции для запросов базы данных по имени

enum { 
    kCSIdentityQueryStringEquals = 1, 
    kCSIdentityQueryStringBeginsWith = 2 
};  
Константы
kCSIdentityQueryStringEquals
Имя идентификационных данных должно равняться строке поиска
kCSIdentityQueryStringBeginsWith
Имя идентификационных данных должно начаться со строки поиска
Обсуждение

При поиске идентификационных данных по имени, это значение указывает функцию сравнения строк

Последнее обновление: 11.03.2008