Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы CoreServices ссылка CFHost

Опции
Развертывание Target:

На этой странице
Язык:

Ссылка CFHost

API CFHost позволяет, Вы для создания экземпляров CFHost возражаете, что можно использовать для получения информации об узле, включая имена, адреса и информацию о достижимости.

Процесс получения информации об узле известен как разрешение. Начните путем вызова CFHostCreateWithAddress или CFHostCreateWithName создать экземпляр CFHost использование адреса или имени, соответственно. Если Вы хотите разрешить узел асинхронно. вызвать CFHostSetClient связать Ваш клиентский контекст и определяемую пользователем функцию обратного вызова с узлом. Тогда вызовите CFHostScheduleWithRunLoop запланировать узел на цикл выполнения.

Для запуска разрешения вызвать CFHostStartInfoResolution. Если Вы устанавливаете для асинхронного разрешения, CFHostStartInfoResolution возвраты сразу. Когда разрешение будет завершено, Вашу функцию обратного вызова вызовут. Если Вы не устанавливали для асинхронного разрешения, CFHostStartInfoResolution блоки до разрешения завершены, ошибка происходит, или разрешение отменяется.

Когда разрешение будет завершено, вызвать CFHostGetAddressing или CFHostGetNames получить массив известных адресов или известных имен, соответственно, для узла. Вызвать CFHostGetReachability получить флаги, объявленные в SystemConfiguration/SCNetwork.h, это описывает достижимость узла.

Когда Вам больше не будет нужен объект CFHost, вызвать CFHostUnscheduleFromRunLoop и CFHostSetClient разъединять узел с Вашим определяемым пользователем клиентским контекстом и функцией обратного вызова (если это было установлено для асинхронного разрешения). Тогда избавьтесь от него.

Функции

  • Создает новый объект хоста путем копирования.

    Объявление

    Swift

    func CFHostCreateCopy(_ alloc: CFAllocator!, _ addr: CFHost!) -> Unmanaged<CFHost>!

    Objective C

    CFHostRef CFHostCreateCopy ( CFAllocatorRef alloc, CFHostRef host );

    Параметры

    alloc

    Средство выделения для использования для выделения памяти для нового объекта. Передача NULL или kCFAllocatorDefault использовать текущее средство выделения по умолчанию.

    addr

    Узел копии. Это значение не должно быть NULL.

    Возвращаемое значение

    Допустимый CFHost возражает или NULL если не могла бы быть создана копия. Новый узел содержит копию всех ранее разрешенных данных от исходного узла. Владение соблюдает Создать Правило.

    Специальные замечания

    Эта функция ориентирована на многопотоковое исполнение.

    Оператор импорта

    Objective C

    @import CFNetwork;

    Swift

    import CFNetwork

    Доступность

    Доступный в версии 10.3 OS X и позже.

  • Использует адрес для создания экземпляра объекта хоста.

    Объявление

    Swift

    func CFHostCreateWithAddress(_ alloc: CFAllocator!, _ addr: CFData!) -> Unmanaged<CFHost>!

    Objective C

    CFHostRef CFHostCreateWithAddress ( CFAllocatorRef allocator, CFDataRef addr );

    Параметры

    alloc

    Средство выделения для использования для выделения памяти для нового объекта. Передача NULL или kCFAllocatorDefault использовать текущее средство выделения по умолчанию.

    addr

    Объект CFDataRef, содержащий a sockaddr структура для адреса узла. Это значение не должно быть NULL.

    Возвращаемое значение

    Допустимый объект CFHostRef, который может быть разрешен, или NULL если не мог бы быть создан узел. Владение соблюдает Создать Правило.

    Обсуждение

    Вызвать CFHostStartInfoResolution разрешить имя эхо-сигнала и информацию о достижимости.

    Специальные замечания

    Эта функция ориентирована на многопотоковое исполнение.

    Оператор импорта

    Objective C

    @import CFNetwork;

    Swift

    import CFNetwork

    Доступность

    Доступный в версии 10.3 OS X и позже.

  • Использует имя для создания экземпляра объекта хоста.

    Объявление

    Swift

    func CFHostCreateWithName(_ alloc: CFAllocator!, _ hostname: CFString!) -> Unmanaged<CFHost>!

    Objective C

    CFHostRef CFHostCreateWithName ( CFAllocatorRef allocator, CFStringRef hostname );

    Параметры

    alloc

    Средство выделения для использования для выделения памяти для нового объекта. Передача NULL или kCFAllocatorDefault использовать текущее средство выделения по умолчанию.

    hostname

    Строка, представляющая имя узла. Это значение не должно быть NULL.

    Возвращаемое значение

    Допустимый объект CFHostRef, который может быть разрешен, или NULL если не мог бы быть создан узел. Владение соблюдает Создать Правило.

    Обсуждение

    Вызвать CFHostStartInfoResolution разрешить адреса объекта и информацию о достижимости.

    Специальные замечания

    Эта функция ориентирована на многопотоковое исполнение.

    Оператор импорта

    Objective C

    @import CFNetwork;

    Swift

    import CFNetwork

    Доступность

    Доступный в версии 10.3 OS X и позже.

  • Отменяет разрешение узла.

    Объявление

    Swift

    func CFHostCancelInfoResolution(_ theHost: CFHost!, _ info: CFHostInfoType)

    Objective C

    void CFHostCancelInfoResolution ( CFHostRef theHost, CFHostInfoType info );

    Параметры

    theHost

    Узел, для которого должно быть отменено разрешение. Это значение не должно быть NULL.

    info

    Значение типа CFHostInfoType указание типа разрешения, которое должно быть отменено. Посмотрите Константы CFHostInfoType для возможных значений.

    Обсуждение

    Эта функция отменяет асинхронное или синхронное разрешение, указанное info для узла, указанного theHost.

    Специальные замечания

    Эта функция ориентирована на многопотоковое исполнение.

    Оператор импорта

    Objective C

    @import CFNetwork;

    Swift

    import CFNetwork

    Доступность

    Доступный в версии 10.3 OS X и позже.

  • Получает адреса от узла.

    Объявление

    Swift

    func CFHostGetAddressing(_ theHost: CFHost!, _ hasBeenResolved: UnsafeMutablePointer<Boolean>) -> Unmanaged<CFArray>!

    Objective C

    CFArrayRef CFHostGetAddressing ( CFHostRef theHost, Boolean *hasBeenResolved );

    Параметры

    theHost

    CFHost, адреса которого должны быть получены. Это значение не должно быть NULL.

    hasBeenResolved

    По возврату, указателю на булевскую переменную, которая является TRUE если адреса были доступны и FALSE если адреса не были доступны. Этот параметр может быть нулем.

    function result

    CFArray адресов, где адрес является a sockaddr структура, обернутая CFDataRef или нулем, если никакие адреса не были доступны.

    Обсуждение

    Эта функция получает адреса от CFHost. CFHost, должно быть, был ранее разрешен. Для разрешения CFHost вызвать CFHostStartInfoResolution.

    Специальные замечания

    Эта функция получает адреса ориентированным на многопотоковое исполнение способом, но получающиеся данные не ориентированы на многопотоковое исполнение. Данные возвращаются как то, «чтобы получать» в противоположность копии, таким образом, данные не безопасны, если CFHost изменен от другого потока.

    Оператор импорта

    Objective C

    @import CFNetwork;

    Swift

    import CFNetwork

    Доступность

    Доступный в версии 10.3 OS X и позже.

  • Получает имена от CFHost.

    Объявление

    Swift

    func CFHostGetNames(_ theHost: CFHost!, _ hasBeenResolved: UnsafeMutablePointer<Boolean>) -> Unmanaged<CFArray>!

    Objective C

    CFArrayRef CFHostGetNames ( CFHostRef theHost, Boolean *hasBeenResolved );

    Параметры

    theHost

    Узел для исследования. Узел, должно быть, был ранее разрешен. (Для разрешения узла вызвать CFHostStartInfoResolution.) Это значение не должно быть NULL.

    hasBeenResolved

    По возврату, содержит TRUE если имена были доступны, иначе FALSE. Это значение может быть NULL.

    Возвращаемое значение

    Массив, содержащий имен theHost, или NULL если никакие имена не были доступны.

    Специальные замечания

    Эта функция получает имена ориентированным на многопотоковое исполнение способом, но получающиеся данные не ориентированы на многопотоковое исполнение. Данные возвращаются как то, «чтобы получать» в противоположность копии, таким образом, данные не безопасны, если CFHost изменен от другого потока.

    Оператор импорта

    Objective C

    @import CFNetwork;

    Swift

    import CFNetwork

    Доступность

    Доступный в версии 10.3 OS X и позже.

  • Получает информацию достижимости от узла.

    Объявление

    Swift

    func CFHostGetReachability(_ theHost: CFHost!, _ hasBeenResolved: UnsafeMutablePointer<Boolean>) -> Unmanaged<CFData>!

    Objective C

    CFDataRef CFHostGetReachability ( CFHostRef theHost, Boolean *hasBeenResolved );

    Параметры

    theHost

    Узел, достижимость которого должна быть получена. Узел, должно быть, был ранее разрешен. (Для разрешения узла вызвать CFHostStartInfoResolution.) Это значение не должно быть NULL.

    hasBeenResolved

    По возврату, содержит TRUE если достижимость была доступна, иначе FALSE. Это значение может быть NULL.

    Возвращаемое значение

    CFData возражает, что обертывает флаги достижимости (SCNetworkConnectionFlags) определенный в SystemConfiguration/SCNetwork.h, или NULL если информация о достижимости не была доступна.

    Специальные замечания

    Эта функция получает информацию достижимости ориентированным на многопотоковое исполнение способом, но получающиеся данные не ориентированы на многопотоковое исполнение. Данные возвращаются как то, «чтобы получать» в противоположность копии, таким образом, данные не безопасны, если CFHost изменен от другого потока.

    Оператор импорта

    Objective C

    @import CFNetwork;

    Swift

    import CFNetwork

    Доступность

    Доступный в версии 10.3 OS X и позже.

  • Запускает разрешение для объекта хоста.

    Объявление

    Swift

    func CFHostStartInfoResolution(_ theHost: CFHost!, _ info: CFHostInfoType, _ error: UnsafeMutablePointer<CFStreamError>) -> Boolean

    Objective C

    Boolean CFHostStartInfoResolution ( CFHostRef theHost, CFHostInfoType info, CFStreamError *error );

    Параметры

    theHost

    Узел, полученный путем предыдущего вызова CFHostCreateCopy, CFHostCreateWithAddress, или CFHostCreateWithName, это должно быть разрешено. Это значение не должно быть NULL.

    info

    Значение типа CFHostInfoType указание типа информации, которая должна быть получена. Посмотрите Константы CFHostInfoType для возможных значений.

    error

    Указатель на a CFStreamError структура, что, если ошибка происходит, установлена в ошибку и домен ошибки. В синхронном режиме ошибка указывает, почему разрешение, неработающее, и в асинхронном режиме, ошибка указывает, почему разрешению не удалось запуститься.

    Возвращаемое значение

    TRUE если разрешение было запущено (асинхронный режим); FALSE если другое разрешение уже происходит для theHost или если произошла ошибка.

    Обсуждение

    Эта функция получает информацию, указанную info и хранилища это в узле.

    В синхронном режиме это завершились функциональные блоки до разрешения, когда возвращается эта функция TRUE, пока разрешение не останавливается путем вызова CFHostCancelInfoResolution от другого потока, когда возвращается эта функция FALSE, или пока ошибка не происходит.

    Специальные замечания

    Эта функция ориентирована на многопотоковое исполнение.

    Оператор импорта

    Objective C

    @import CFNetwork;

    Swift

    import CFNetwork

    Доступность

    Доступный в версии 10.3 OS X и позже.

  • Связывает клиентский контекст, и функция обратного вызова с CFHost возражают, или разъединяет ранее установленные клиентский контекст и функцию обратного вызова.

    Объявление

    Swift

    func CFHostSetClient(_ theHost: CFHost!, _ clientCB: CFHostClientCallBack, _ clientContext: UnsafeMutablePointer<CFHostClientContext>) -> Boolean

    Objective C

    Boolean CFHostSetClient ( CFHostRef theHost, CFHostClientCallBack clientCB, CFHostClientContext *clientContext );

    Параметры

    theHost

    Узел для изменения. Значение не должно быть NULL.

    clientCB

    Функция обратного вызова для соединения с theHost. Когда разрешение завершится или будет отменено, функцию обратного вызова вызовут. Если Вы вызываете эту функцию для разъединения клиентского контекста и обратного вызова от theHost, pclientCBзадница NULL.

    clientContext

    A CFHostClientContext структура, чей info поле будет передано функции обратного вызова, указанной clientCB когда clientCB вызывается. Это значение не должно быть NULL при установке ассоциации.

    Передача NULL при разъединении клиентского контекста и обратного вызова от узла.

    Возвращаемое значение

    TRUE если ассоциация могла бы быть установлена или сброшена, иначе FALSE.

    Обсуждение

    Функция обратного вызова, указанная clientCB когда разрешение завершится или будет отменено, будет вызван.

    Специальные замечания

    Эта функция ориентирована на многопотоковое исполнение.

    Оператор импорта

    Objective C

    @import CFNetwork;

    Swift

    import CFNetwork

    Доступность

    Доступный в версии 10.3 OS X и позже.

  • Планирует CFHost на цикл выполнения.

    Объявление

    Swift

    func CFHostScheduleWithRunLoop(_ theHost: CFHost!, _ runLoop: CFRunLoop!, _ runLoopMode: CFString!)

    Objective C

    void CFHostScheduleWithRunLoop ( CFHostRef theHost, CFRunLoopRef runLoop, CFStringRef runLoopMode );

    Параметры

    theHost

    Узел, чтобы быть расписанием на цикле выполнения. Это значение не должно быть NULL.

    runLoop

    Цикл выполнения, на который можно запланировать theHost. Это значение не должно быть NULL.

    runLoopMode

    Режим, на который можно запланировать theHost. Это значение не должно быть NULL.

    Обсуждение

    Расписания theHost на цикле выполнения, заставляющем разрешения узла выполняться асинхронно. Вызывающая сторона ответственна за обеспечение, что выполняется по крайней мере один из циклов выполнения, на которые планируется узел.

    Специальные замечания

    Эта функция ориентирована на многопотоковое исполнение.

    Оператор импорта

    Objective C

    @import CFNetwork;

    Swift

    import CFNetwork

    Доступность

    Доступный в версии 10.3 OS X и позже.

  • Не планирует CFHost от цикла выполнения.

    Объявление

    Swift

    func CFHostUnscheduleFromRunLoop(_ theService: CFHost!, _ runLoop: CFRunLoop!, _ runLoopMode: CFString!)

    Objective C

    void CFHostUnscheduleFromRunLoop ( CFHostRef theHost, CFRunLoopRef runLoop, CFStringRef runLoopMode );

    Параметры

    theService

    Узел нерасписания. Это значение не должно быть NULL.

    runLoop

    Цикл выполнения. Это значение не должно быть NULL.

    runLoopMode

    Режим, от которого служба должна быть не запланирована. Это значение не должно быть NULL.

    Специальные замечания

    Эта функция ориентирована на многопотоковое исполнение.

    Оператор импорта

    Objective C

    @import CFNetwork;

    Swift

    import CFNetwork

    Доступность

    Доступный в версии 10.3 OS X и позже.

  • Получает Базовый идентификатор типа Основы для непрозрачного типа CFHost.

    Объявление

    Swift

    func CFHostGetTypeID() -> CFTypeID

    Objective C

    CFTypeID CFHostGetTypeID ( void );

    Возвращаемое значение

    Базовый идентификатор типа Основы для непрозрачного типа CFHost.

    Специальные замечания

    Эта функция ориентирована на многопотоковое исполнение.

    Оператор импорта

    Objective C

    @import CFNetwork;

    Swift

    import CFNetwork

    Доступность

    Доступный в версии 10.3 OS X и позже.

Обратные вызовы

  • Определяет указатель на функцию обратного вызова, которую вызывают, когда асинхронное разрешение CFHost завершается, или ошибка происходит для асинхронного разрешения CFHost.

    Объявление

    Swift

    typealias CFHostClientCallBack = CFunctionPointer<((CFHost!, CFHostInfoType, UnsafePointer<CFStreamError>, UnsafeMutablePointer<Void>) -> Void)>

    Objective C

    typedef void (CFHostClientCallBack) ( CFHostRef theHost, CFHostInfoType typeInfo, const CFStreamError *error, void *info);

    Параметры

    theHost

    Узел, для которого было завершено асинхронное разрешение.

    typeInfo

    Значение типа CFHostInfoType представление типа информации (адреса, имена или информация о достижимости) полученный завершенным разрешением. Посмотрите Константы CFHostInfoType для возможных значений.

    error

    Если отказавшее разрешение, содержит a CFStreamError структура, чей error поле содержит код ошибки.

    info

    Определяемая пользователем контекстная информация. Значение, которым указывают info совпадает со значением, на которое указывают info поле CFHostClientContext структура, которая была предоставлена, когда узел был связан с этой функцией обратного вызова.

    Обсуждение

    Функцию обратного вызова для объекта CFHost вызывают один или несколько раз, когда асинхронное разрешение завершается для указанного узла, когда асинхронное разрешение отменяется, или когда ошибка происходит во время асинхронного разрешения.

    Оператор импорта

    Objective C

    @import CFNetwork;

    Swift

    import CFNetwork

    Доступность

    Доступный в версии 10.3 OS X и позже.

Типы данных

  • Непрозрачная ссылка, представляющая объект CFHost.

    Объявление

    Swift

    typealias CFHostRef = CFHost

    Objective C

    typedef struct __CFHost* CFHostRef;

    Доступность

    Доступный в версии 10.3 OS X и позже.

  • Структура, содержащая определяемые пользователем данные и обратные вызовы для объектов CFHost.

    Объявление

    Swift

    struct CFHostClientContext { var version: CFIndex var info: UnsafeMutablePointer<Void> var retain: CFAllocatorRetainCallBack var release: CFAllocatorReleaseCallBack var copyDescription: CFAllocatorCopyDescriptionCallBack }

    Objective C

    struct CFHostClientContext { CFIndex version; void *info; CFAllocatorRetainCallBack retain; CFAllocatorReleaseCallBack release; CFAllocatorCopyDescriptionCallBack copyDescription; } CFHostClientContext; typedef struct CFHostClientContext CFHostClientContext;

    Поля

    version

    Номер версии типа структуры передал в качестве параметра клиентской функции узла. Единственное число действительной версии 0.

    info

    Произвольный указатель на выделенную память, содержащую определяемые пользователем данные, которые могут быть связаны с узлом и это передается обратным вызовам.

    retain

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

    release

    Обратный вызов раньше удалял сохранение ранее добавленного для узла на информационном указателе.

    copyDescription

    Обратный вызов раньше создавал представление описательной строки информационного указателя (или данные, на которые указывает информационный указатель) для отладки целей. Этот обратный вызов вызывают CFCopyDescription функция.

    Доступность

    Доступный в версии 10.3 OS X и позже.

Константы

  • Значения, указывающие тип данных, которые должны быть разрешены или тип разрешенных данных.

    Объявление

    Swift

    enum CFHostInfoType : Int32 { case Addresses case Names case Reachability }

    Objective C

    enum CFHostInfoType { kCFHostAddresses = 0, kCFHostNames = 1, kCFHostReachability = 2 }; typedef enum CFHostInfoType CFHostInfoType;

    Константы

    • Addresses

      kCFHostAddresses

      Указывает, что адреса должны быть разрешены или что были разрешены адреса.

      Доступный в OS X v10.3 и позже.

    • Names

      kCFHostNames

      Указывает, что имена должны быть разрешены или что были разрешены имена.

      Доступный в OS X v10.3 и позже.

    • Reachability

      kCFHostReachability

      Указывает, что информация о достижимости должна быть разрешена или что была разрешена информация о достижимости.

      Доступный в OS X v10.3 и позже.

    Оператор импорта

    Objective C

    @import CFNetwork;

    Swift

    import CFNetwork

    Доступность

    Доступный в версии 10.3 OS X и позже.

  • Ошибочные домены, определенные для CFHost вызовы.

    Объявление

    Swift

    let kCFStreamErrorDomainNetDB: Int32 let kCFStreamErrorDomainSystemConfiguration: Int32

    Objective C

    extern const SInt32 kCFStreamErrorDomainNetDB; extern const SInt32 kCFStreamErrorDomainSystemConfiguration;

    Константы

    • kCFStreamErrorDomainNetDB

      kCFStreamErrorDomainNetDB

      Ошибочный домен, возвращающий ошибки из сетевой базы данных (преобразователь DNS) уровень (описанный в /usr/include/netdb.h).

      Доступный в версии 10.5 OS X и позже.

    • kCFStreamErrorDomainSystemConfiguration

      kCFStreamErrorDomainSystemConfiguration

      Ошибочный домен, возвращающий ошибки из уровня конфигурации системы (описанный в Ссылке Платформы Конфигурации системы).

      Доступный в версии 10.5 OS X и позже.

    Обсуждение

    Для определения источника ошибки исследуйте userInfo словарь, включенный в CFError объект, возвращенный вызовом функции или вызовом CFErrorGetDomain и передача в CFError возразите и домен, значение которого Вы хотите считать.