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

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

Разработчик

Ссылка IOKitLib.h

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

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

Ссылка IOKitLib.h

IOKitLib реализует доступ задачи неядра к общим типам объектов IOKit - IORegistryEntry, IOService, IOIterator и т.д. Эти функции универсальны - семьи могут обеспечить API, который является более определенным.

IOKitLib представляет объекты IOKit вне ядра с типами io_object_t, io_registry_entry_t, io_service_t, и io_connect_t. Имена функций обычно начинаются с типа объекта, они совместимы с - например, IOObjectRelease может использоваться с любым io_object_t. В ядре иерархия класса C++ позволяет подклассам каждого типа объекта получать те же запросы от пользовательских клиентов уровня, например в ядре, IOService является подклассом IORegistryEntry, что означает, что любая из функций IORegistryEntryXXX в IOKitLib может использоваться с io_service_t, а также io_registry_t. Существуют функции, доступные для анализирования класса объекта ядра, который и др. представляет любой io_object_t. Объекты IOKit, возвращенные всеми функциями, должны быть выпущены с IOObjectRelease.

Включенные заголовки

  • <sys/cdefs.h>

  • types.h

  • <mach/mach_types.h>

  • <mach/mach_init.h>

  • <CoreFoundation/CFBase.h>

  • <CoreFoundation/CFDictionary.h>

  • <CoreFoundation/CFRunLoop.h>

  • <IOKit/IOTypes.h>

  • <IOKit/IOKitKeys.h>

  • <IOKit/OSMessageNotification.h>

  • <AvailabilityMacros.h>

  • <dispatch/dispatch.h>

Функции

  • Создайте соответствующий словарь, указывающий соответствие IOService на основе имени устройства BSD.

    Объявление

    Objective C

    OSDictionary * IOBSDNameMatching ( const char *name );

    Параметры

    masterPort

    Ведущий порт, полученный из IOMasterPort (). Передайте kIOMasterPortDefault для поиска ведущего порта по умолчанию.

    options

    Никакие опции в настоящее время не определяются.

    bsdName

    Имя BSD, как символ константы *.

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

    Соответствующий создаваемый словарь, возвращается на успехе или нуле при отказе. Словарь обычно передается IOServiceGetMatchingServices или IOServiceAddNotification, который использует ссылку, иначе это должно быть выпущено с CFRelease вызывающей стороной.

    Обсуждение

    IOServices, представляющие устройства BSD, имеют связанное имя BSD. Эта функция создает соответствующий словарь, который будет соответствовать IOService's данному имени BSD.

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

    Objective C

    #include <IOLib.h>;

    Доступность

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

  • Сообщите соединению второго соединения.

    Объявление

    Swift

    func IOConnectAddClient(_ connect: io_connect_t, _ client: io_connect_t) -> kern_return_t

    Objective C

    kern_return_t IOConnectAddClient ( io_connect_t connect, io_connect_t client );

    Параметры

    connect

    Дескриптор подключения создается IOServiceOpen.

    client

    Другой дескриптор подключения создается IOServiceOpen.

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

    kern_return_t код ошибки, возвращенный семьей.

    Обсуждение

    Это - общий метод сообщить соединению семьи второго соединения и редко используется.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Добавляет ссылка на дескриптор подключения.

    Объявление

    Swift

    func IOConnectAddRef(_ connect: io_connect_t) -> kern_return_t

    Objective C

    kern_return_t IOConnectAddRef ( io_connect_t connect );

    Параметры

    connect

    Дескриптор подключения создается IOServiceOpen.

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

    kern_return_t код ошибки.

    Обсуждение

    Добавляет ссылка на дескриптор подключения.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращает IOService, на котором был открыт дескриптор подключения.

    Объявление

    Swift

    func IOConnectGetService(_ connect: io_connect_t, _ service: UnsafeMutablePointer<io_service_t>) -> kern_return_t

    Objective C

    kern_return_t IOConnectGetService ( io_connect_t connect, io_service_t *service );

    Параметры

    connect

    Дескриптор подключения создается IOServiceOpen.

    service

    На успехе, дескриптор службы, на котором было открыто соединение, который должен быть выпущен с IOObjectRelease.

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

    kern_return_t код ошибки.

    Обсуждение

    Находит объект службы, на котором было открыто соединение.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Отобразите аппаратные средства или общую память в задачу вызывающей стороны.

    Объявление

    Swift

    func IOConnectMapMemory(_ connect: io_connect_t, _ memoryType: UInt32, _ intoTask: task_port_t, _ atAddress: UnsafeMutablePointer<mach_vm_address_t>, _ ofSize: UnsafeMutablePointer<mach_vm_size_t>, _ options: IOOptionBits) -> kern_return_t

    Objective C

    kern_return_t IOConnectMapMemory ( io_connect_t connect, uint32_t memoryType, task_port_t intoTask, vm_address_t *atAddress, vm_size_t *ofSize, IOOptionBits options );

    Параметры

    connect

    Дескриптор подключения создается IOServiceOpen.

    memoryType

    Что требуют быть отображенным, не интерпретируемый IOKit и определенной семьей. Семья может поддерживать отображения физического оборудования или общей памяти.

    intoTask

    Порт задачи для задачи, в которой можно создать отображение. Это может отличаться от задачи который открытый соединение.

    atAddress

    В / параметре - если kIOMapAnywhere опция не установлена, вызывающая сторона должна передать адрес, где это запрашивает, чтобы отображение было создано, иначе ничто не должно устанавливать на вводе. Адрес создаваемого отображения пасуется назад на успехе.

    ofSize

    Размер создаваемого отображения пасуется назад на успехе.

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

    kern_return_t код ошибки.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Отобразите аппаратные средства или общую память в задачу вызывающей стороны.

    Объявление

    Swift

    func IOConnectMapMemory64(_ connect: io_connect_t, _ memoryType: UInt32, _ intoTask: task_port_t, _ atAddress: UnsafeMutablePointer<mach_vm_address_t>, _ ofSize: UnsafeMutablePointer<mach_vm_size_t>, _ options: IOOptionBits) -> kern_return_t

    Objective C

    kern_return_t IOConnectMapMemory64 ( io_connect_t connect, uint32_t memoryType, task_port_t intoTask, mach_vm_address_t *atAddress, mach_vm_size_t *ofSize, IOOptionBits options );

    Параметры

    connect

    Дескриптор подключения создается IOServiceOpen.

    memoryType

    Что требуют быть отображенным, не интерпретируемый IOKit и определенной семьей. Семья может поддерживать отображения физического оборудования или общей памяти.

    intoTask

    Порт задачи для задачи, в которой можно создать отображение. Это может отличаться от задачи который открытый соединение.

    atAddress

    В / параметре - если kIOMapAnywhere опция не установлена, вызывающая сторона должна передать адрес, где это запрашивает, чтобы отображение было создано, иначе ничто не должно устанавливать на вводе. Адрес создаваемого отображения пасуется назад на успехе.

    ofSize

    Размер создаваемого отображения пасуется назад на успехе.

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

    kern_return_t код ошибки.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Удалите ссылку на дескриптор подключения.

    Объявление

    Swift

    func IOConnectRelease(_ connect: io_connect_t) -> kern_return_t

    Objective C

    kern_return_t IOConnectRelease ( io_connect_t connect );

    Параметры

    connect

    Дескриптор подключения создается IOServiceOpen.

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

    kern_return_t код ошибки.

    Обсуждение

    Удаляет ссылку на дескриптор подключения. Если последняя ссылка удалена выполняется, неявный IOServiceClose.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Установите базируемые свойства контейнера CF на соединении.

    Объявление

    Swift

    func IOConnectSetCFProperties(_ connect: io_connect_t, _ properties: AnyObject!) -> kern_return_t

    Objective C

    kern_return_t IOConnectSetCFProperties ( io_connect_t connect, CFTypeRef properties );

    Параметры

    connect

    Дескриптор подключения создается IOServiceOpen.

    properties

    Контейнер CF - обычно CFDictionary, но это не осуществляется. Контейнер должен состоять из объектов, понятых под IOKit - это в настоящее время: CFDictionary, CFArray, CFSet, CFString, CFData, CFNumber, CFBoolean, и передаются в ядре, поскольку и т.д. возражает соответствующий OSDictionary.

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

    kern_return_t код ошибки, возвращенный семьей.

    Обсуждение

    Это - общий метод передать контейнер CF свойств к соединению. Свойства интерпретируются семьей и обычно представляют параметры конфигурации, но могут быть интерпретированы как что-либо.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Установите базируемое свойство контейнера CF на соединении.

    Объявление

    Swift

    func IOConnectSetCFProperty(_ connect: io_connect_t, _ propertyName: CFString!, _ property: AnyObject!) -> kern_return_t

    Objective C

    kern_return_t IOConnectSetCFProperty ( io_connect_t connect, CFStringRef propertyName, CFTypeRef property );

    Параметры

    connect

    Дескриптор подключения создается IOServiceOpen.

    propertyName

    Имя свойства как CFString.

    property

    Контейнер CF - должен состоять из объектов, понятых под IOKit - это в настоящее время: CFDictionary, CFArray, CFSet, CFString, CFData, CFNumber, CFBoolean, и передаются в ядре, поскольку и т.д. возражает соответствующий OSDictionary.

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

    kern_return_t код ошибки, возвращенный объектом.

    Обсуждение

    Это - общий метод передать свойство CF соединению. Свойство интерпретируется семьей, и обычно представляйте параметры конфигурации, но может быть интерпретирован как что-либо.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Установите порт для получения семьи определенные уведомления.

    Объявление

    Swift

    func IOConnectSetNotificationPort(_ connect: io_connect_t, _ type: UInt32, _ port: mach_port_t, _ reference: UInt) -> kern_return_t

    Objective C

    kern_return_t IOConnectSetNotificationPort ( io_connect_t connect, uint32_t type, mach_port_t port, uintptr_t reference );

    Параметры

    connect

    Дескриптор подключения создается IOServiceOpen.

    type

    Тип уведомления, которое требуют, не интерпретируемый IOKit и семьей, определяется.

    port

    Порт, в который можно отправить уведомления.

    reference

    Некоторые семьи могут поддерживать передачу параметра ссылки для использования вызывающих сторон с уведомлением.

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

    kern_return_t код ошибки.

    Обсуждение

    Это - общий метод передать порт Маха, отправляют право быть использоваться семьей определенные уведомления.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Удалите отображение, сделанное с IOConnectMapMemory.

    Объявление

    Swift

    func IOConnectUnmapMemory(_ connect: io_connect_t, _ memoryType: UInt32, _ fromTask: task_port_t, _ atAddress: mach_vm_address_t) -> kern_return_t

    Objective C

    kern_return_t IOConnectUnmapMemory ( io_connect_t connect, uint32_t memoryType, task_port_t fromTask, vm_address_t atAddress );

    Параметры

    connect

    Дескриптор подключения создается IOServiceOpen.

    memoryType

    Тип памяти первоначально требуют в IOConnectMapMemory.

    fromTask

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

    atAddress

    Адрес отображения, которое будет удалено.

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

    kern_return_t код ошибки.

    Обсуждение

    Это - общий метод удалить отображение в задаче вызывающих сторон.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Удалите отображение, сделанное с IOConnectMapMemory64.

    Объявление

    Swift

    func IOConnectUnmapMemory64(_ connect: io_connect_t, _ memoryType: UInt32, _ fromTask: task_port_t, _ atAddress: mach_vm_address_t) -> kern_return_t

    Objective C

    kern_return_t IOConnectUnmapMemory64 ( io_connect_t connect, uint32_t memoryType, task_port_t fromTask, mach_vm_address_t atAddress );

    Параметры

    connect

    Дескриптор подключения создается IOServiceOpen.

    memoryType

    Тип памяти первоначально требуют в IOConnectMapMemory.

    fromTask

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

    atAddress

    Адрес отображения, которое будет удалено.

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

    kern_return_t код ошибки.

    Обсуждение

    Это - общий метод удалить отображение в задаче вызывающих сторон.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Создает и возвращает порт Маха, подходящий для получения сообщений IOKit указанного типа.

    Объявление

    Swift

    func IOCreateReceivePort(_ msgType: UInt32, _ recvPort: UnsafeMutablePointer<mach_port_t>) -> kern_return_t

    Objective C

    kern_return_t IOCreateReceivePort ( uint32_t msgType, mach_port_t *recvPort );

    Параметры

    msgType

    Тип сообщения, которое будет отправлено в этот порт (kOSNotificationMessageID или kOSAsyncCompleteMessageID)

    recvPort

    Создаваемый порт возвращается.

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

    kern_return_t код ошибки.

    Обсуждение

    В будущем IOKit может использовать специализированные сообщения и порты вместо стандартных портов, создаваемых mach_port_allocate (). Используйте эту функцию вместо mach_port_allocate () для обеспечения совместимости будущими версиями IOKit.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Уведомления об обратном вызове отгрузок из сообщения Маха.

    Объявление

    Swift

    func IODispatchCalloutFromMessage(_ unused: UnsafeMutablePointer<Void>, _ msg: UnsafeMutablePointer<mach_msg_header_t>, _ reference: UnsafeMutablePointer<Void>)

    Objective C

    void IODispatchCalloutFromMessage ( void *unused, mach_msg_header_t *msg, void *reference );

    Параметры

    unused

    Не используемый, обнуленный.

    msg

    Указатель на сообщение получен.

    reference

    Передайте IONotificationPortRef для объекта.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Проверяет, что итератор все еще допустим.

    Объявление

    Swift

    func IOIteratorIsValid(_ iterator: io_iterator_t) -> boolean_t

    Objective C

    boolean_t IOIteratorIsValid ( io_iterator_t iterator );

    Параметры

    iterator

    Дескриптор итератора IOKit.

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

    True, если дескриптор итератора допустим, иначе ложный, возвращается.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращает следующий объект в итерации.

    Объявление

    Swift

    func IOIteratorNext(_ iterator: io_iterator_t) -> io_object_t

    Objective C

    io_object_t IOIteratorNext ( io_iterator_t iterator );

    Параметры

    iterator

    Дескриптор итератора IOKit.

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

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

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Сбрасывает итерацию назад к началу.

    Объявление

    Swift

    func IOIteratorReset(_ iterator: io_iterator_t)

    Objective C

    void IOIteratorReset ( io_iterator_t iterator );

    Параметры

    iterator

    Дескриптор итератора IOKit.

    Обсуждение

    Если итератор будет недопустим, или если вызывающая сторона захочет запуститься, то IOIteratorReset задержит итерацию к началу.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращает busyState всего IOServices.

    Объявление

    Swift

    func IOKitGetBusyState(_ masterPort: mach_port_t, _ busyState: UnsafeMutablePointer<UInt32>) -> kern_return_t

    Objective C

    kern_return_t IOKitGetBusyState ( mach_port_t masterPort, uint32_t *busyState );

    Параметры

    masterPort

    Ведущий порт, полученный из IOMasterPort (). Передайте kIOMasterPortDefault для поиска ведущего порта по умолчанию.

    busyState

    Количество busyState возвращается.

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

    kern_return_t код ошибки.

    Обсуждение

    Много действий в IOService являются асинхронными. Когда регистрация, соответствие или завершение происходят на IOService, его busyState увеличен одним. Изменение в busyState к или от нуля также изменяет busyState провайдера IOSERVICE одним, что означает, что IOService отмечен занятый, когда любое из вышеупомянутых действий происходит на нем или любой из его клиентов. IOKitGetBusyState возвращает состояние занятости корня плоскости службы, отражающей состояние занятости всего IOServices.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Ожидайте busyState всех IOSERVICE, чтобы быть нулем.

    Объявление

    Swift

    func IOKitWaitQuiet(_ masterPort: mach_port_t, _ waitTime: UnsafeMutablePointer<mach_timespec_t>) -> kern_return_t

    Objective C

    kern_return_t IOKitWaitQuiet ( mach_port_t masterPort, mach_timespec_t *waitTime );

    Параметры

    masterPort

    Ведущий порт, полученный из IOMasterPort (). Передайте kIOMasterPortDefault для поиска ведущего порта по умолчанию.

    waitTime

    Указывает максимальное время для ожидания.

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

    Если примитивы синхронизации Маха перестали работать, kIOReturnTimeout, или kIOReturnSuccess, возвращает код ошибки.

    Обсуждение

    Блокирует вызывающую сторону, пока все IOServices не заняты, посмотрите IOKitGetBusyState.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращается порт Маха раньше инициировал связь с IOKit.

    Объявление

    Swift

    func IOMasterPort(_ bootstrapPort: mach_port_t, _ masterPort: UnsafeMutablePointer<mach_port_t>) -> kern_return_t

    Objective C

    kern_return_t IOMasterPort ( mach_port_t bootstrapPort, mach_port_t *masterPort );

    Параметры

    bootstrapPort

    Передайте MACH_PORT_NULL для значения по умолчанию.

    masterPort

    Ведущий порт возвращается.

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

    kern_return_t код ошибки.

    Обсуждение

    Функции, не указывающие существующий объект, требуют, чтобы был передан ведущий порт IOKit. Эта функция получает тот порт.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

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

    Объявление

    Swift

    func IONotificationPortCreate(_ masterPort: mach_port_t) -> Unmanaged<IONotificationPort>!

    Objective C

    IONotificationPortRef IONotificationPortCreate ( mach_port_t masterPort );

    Параметры

    masterPort

    Ведущий порт, полученный из IOMasterPort (). Передайте kIOMasterPortDefault для поиска ведущего порта по умолчанию.

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

    Ссылка на объект уведомления.

    Обсуждение

    Создает объект уведомления получить уведомления от IOKit новых поступлений устройства или изменений состояния. Объект уведомления может быть предоставлением CFRunLoopSource или mach_port_t, который будет использоваться для прислушиваний к событиям.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Уничтожает объект уведомления, создаваемый с IONotificationPortCreate. Также уничтожает любой mach_port или CFRunLoopSources obatined от IONotificationPortGetRunLoopSource или IONotificationPortGetMachPort

    Объявление

    Swift

    func IONotificationPortDestroy(_ notify: IONotificationPort!)

    Objective C

    void IONotificationPortDestroy ( IONotificationPortRef notify );

    Параметры

    notify

    Ссылка на объект уведомления.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращает mach_port, который будет использоваться для прислушиваний к уведомлениям.

    Объявление

    Swift

    func IONotificationPortGetMachPort(_ notify: IONotificationPort!) -> mach_port_t

    Objective C

    mach_port_t IONotificationPortGetMachPort ( IONotificationPortRef notify );

    Параметры

    notify

    Объект уведомления.

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

    mach_port для объекта уведомления.

    Обсуждение

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

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращает CFRunLoopSource, который будет использоваться для прислушиваний к уведомлениям.

    Объявление

    Swift

    func IONotificationPortGetRunLoopSource(_ notify: IONotificationPort!) -> Unmanaged<CFRunLoopSource>!

    Objective C

    CFRunLoopSourceRef IONotificationPortGetRunLoopSource ( IONotificationPortRef notify );

    Параметры

    notify

    Объект уведомления.

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

    CFRunLoopSourceRef для объекта уведомления.

    Обсуждение

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

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Устанавливает очередь отгрузки, чтобы использоваться для прислушиваний к уведомлениям.

    Объявление

    Swift

    func IONotificationPortSetDispatchQueue(_ notify: IONotificationPort!, _ queue: dispatch_queue_t!)

    Objective C

    void IONotificationPortSetDispatchQueue ( IONotificationPortRef notify, dispatch_queue_t queue );

    Параметры

    notify

    Объект уведомления.

    queue

    Очередь отгрузки.

    Обсуждение

    Объект уведомления может поставить уведомления клиенту отгрузки.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Выполняет операцию OSDynamicCast на объекте IOKit.

    Объявление

    Swift

    func IOObjectConformsTo(_ object: io_object_t, _ className: UnsafePointer<Int8>) -> boolean_t

    Objective C

    boolean_t IOObjectConformsTo ( io_object_t object, const io_name_t className );

    Параметры

    object

    Объект IOKit.

    className

    Имя класса, как струна до.

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

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

    Обсуждение

    Эта функция использует систему OSMetaClass в ядре, чтобы определить, будет ли объект динамический бросок к классу, указанному как струна до. Другими словами, если объект имеет тот класс или подкласс.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвратите идентификатор пакета данного класса.

    Объявление

    Swift

    func IOObjectCopyBundleIdentifierForClass(_ classname: CFString!) -> Unmanaged<CFString>!

    Objective C

    CFStringRef IOObjectCopyBundleIdentifierForClass ( CFStringRef classname );

    Параметры

    classname

    Имя класса как CFString.

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

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

    Обсуждение

    Эта функция использует систему OSMetaClass в ядре для получения имени kmod, совпадающего с идентификатором пакета.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвратите имя класса объекта IOKit.

    Объявление

    Swift

    func IOObjectCopyClass(_ object: io_object_t) -> Unmanaged<CFString>!

    Objective C

    CFStringRef IOObjectCopyClass ( io_object_t object );

    Параметры

    object

    Объект IOKit.

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

    Получающийся CFStringRef. Это должно быть выпущено вызывающей стороной. Если доступный объект не передается в, то NULL возвращается.

    Обсуждение

    Эта функция делает ту же вещь как IOObjectGetClass, но возвращает результат как CFStringRef.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвратите суперимя класса данного класса.

    Объявление

    Swift

    func IOObjectCopySuperclassForClass(_ classname: CFString!) -> Unmanaged<CFString>!

    Objective C

    CFStringRef IOObjectCopySuperclassForClass ( CFStringRef classname );

    Параметры

    classname

    Имя класса как CFString.

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

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

    Обсуждение

    Эта функция использует систему OSMetaClass в ядре для получения имени суперкласса класса.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвратите имя класса объекта IOKit.

    Объявление

    Swift

    func IOObjectGetClass(_ object: io_object_t, _ className: UnsafeMutablePointer<Int8>) -> kern_return_t

    Objective C

    kern_return_t IOObjectGetClass ( io_object_t object, io_name_t className );

    Параметры

    object

    Объект IOKit.

    className

    Вызывающая сторона выделила буфер для получения строки имени.

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

    kern_return_t код ошибки.

    Обсуждение

    Эта функция использует систему OSMetaClass в ядре для получения имени класса, из которого объект является экземпляром.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Ядро возвратов сохраняет количество объекта IOKit.

    Объявление

    Swift

    func IOObjectGetKernelRetainCount(_ object: io_object_t) -> UInt32

    Objective C

    uint32_t IOObjectGetKernelRetainCount ( io_object_t object );

    Параметры

    object

    Объект IOKit.

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

    Если объектный дескриптор допустим, объекты ядра сохраняют количество, возвращается, иначе обнулите, возвращается.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Ядро возвратов сохраняет количество объекта IOKit. Идентичный IOObjectGetKernelRetainCount (), но доступный до Mac OS 10.6.

    Объявление

    Swift

    func IOObjectGetRetainCount(_ object: io_object_t) -> UInt32

    Objective C

    uint32_t IOObjectGetRetainCount ( io_object_t object );

    Параметры

    object

    Объект IOKit.

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

    Если объектный дескриптор допустим, объекты ядра сохраняют количество, возвращается, иначе обнулите, возвращается.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвраты сохранить счет для текущего процесса объекта IOKit.

    Объявление

    Swift

    func IOObjectGetUserRetainCount(_ object: io_object_t) -> UInt32

    Objective C

    uint32_t IOObjectGetUserRetainCount ( io_object_t object );

    Параметры

    object

    Объект IOKit.

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

    Если объектный дескриптор допустим, пользователь объектов сохраняют количество, возвращается, иначе обнулите, возвращается.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Проверки, которые два объекта обрабатывают, чтобы видеть, представляют ли они тот же объект ядра.

    Объявление

    Swift

    func IOObjectIsEqualTo(_ object: io_object_t, _ anObject: io_object_t) -> boolean_t

    Objective C

    boolean_t IOObjectIsEqualTo ( io_object_t object, io_object_t anObject );

    Параметры

    object

    Объект IOKit.

    anObject

    Другой объект IOKit.

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

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

    Обсуждение

    Если два объектных дескриптора будут возвращены функциями IOKitLib, то эта функция сравнит их, чтобы видеть, представляют ли они тот же объект ядра.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Выпускает объектный дескриптор, ранее возвращенный IOKitLib.

    Объявление

    Swift

    func IOObjectRelease(_ object: io_object_t) -> kern_return_t

    Objective C

    kern_return_t IOObjectRelease ( io_object_t object );

    Параметры

    object

    IOKit возражают для выпуска.

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

    kern_return_t код ошибки.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

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

    Объявление

    Swift

    func IOObjectRetain(_ object: io_object_t) -> kern_return_t

    Objective C

    kern_return_t IOObjectRetain ( io_object_t object );

    Параметры

    object

    IOKit возражают для сохранения.

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

    kern_return_t код ошибки.

    Обсуждение

    Дает вызывающей стороне дополнительную ссылку на существующий объектный дескриптор, ранее возвращенный IOKitLib.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Создайте итератор, базированный в корне реестра.

    Объявление

    Swift

    func IORegistryCreateIterator(_ masterPort: mach_port_t, _ plane: UnsafePointer<Int8>, _ options: IOOptionBits, _ iterator: UnsafeMutablePointer<io_iterator_t>) -> kern_return_t

    Objective C

    kern_return_t IORegistryCreateIterator ( mach_port_t masterPort, const io_name_t plane, IOOptionBits options, io_iterator_t *iterator );

    Параметры

    masterPort

    Ведущий порт, полученный из IOMasterPort (). Передайте kIOMasterPortDefault для поиска ведущего порта по умолчанию.

    plane

    Имя существующей плоскости реестра. Плоские имена определяются в IOKitKeys.h, например, kIOServicePlane.

    options

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

    iterator

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

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

    kern_return_t код ошибки.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Создайте представление словаря CF таблицы свойства ключа реестра.

    Объявление

    Swift

    func IORegistryEntryCreateCFProperties(_ entry: io_registry_entry_t, _ properties: UnsafeMutablePointer<Unmanaged<CFMutableDictionary>?>, _ allocator: CFAllocator!, _ options: IOOptionBits) -> kern_return_t

    Objective C

    kern_return_t IORegistryEntryCreateCFProperties ( io_registry_entry_t entry, CFMutableDictionaryRef *properties, CFAllocatorRef allocator, IOOptionBits options );

    Параметры

    entry

    Дескриптор ключа реестра, чья таблица свойства для копирования.

    properties

    CFDictionary создается и возвратил вызывающую сторону на успехе. Вызывающая сторона должна выпустить с CFRelease.

    allocator

    Средство выделения CF для использования при создании контейнеров CF.

    options

    Никакие опции в настоящее время не определяются.

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

    kern_return_t код ошибки.

    Обсуждение

    Эта функция создает мгновенный снимок таблицы свойства ключа реестра, создавая аналог CFDictionary в задаче вызывающей стороны. Не каждый объект, доступный в ядре, представлен как контейнер CF; в настоящее время OSDictionary, OSArray, OSSet, OSSymbol, OSString, OSData, OSNumber, OSBoolean создаются как их дубликаты CF.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Создайте представление CF свойства ключа реестра.

    Объявление

    Swift

    func IORegistryEntryCreateCFProperty(_ entry: io_registry_entry_t, _ key: CFString!, _ allocator: CFAllocator!, _ options: IOOptionBits) -> Unmanaged<AnyObject>!

    Objective C

    CFTypeRef IORegistryEntryCreateCFProperty ( io_registry_entry_t entry, CFStringRef key, CFAllocatorRef allocator, IOOptionBits options );

    Параметры

    entry

    Дескриптор ключа реестра, чье свойство для копирования.

    key

    CFString указание имени свойства.

    allocator

    Средство выделения CF для использования при создании контейнера CF.

    options

    Никакие опции в настоящее время не определяются.

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

    Контейнер CF создается и возвратил вызывающую сторону на успехе. Вызывающая сторона должна выпустить с CFRelease.

    Обсуждение

    Эта функция создает мгновенный снимок свойства ключа реестра, создавая аналог контейнера CF в задаче вызывающей стороны. Не каждый объект, доступный в ядре, представлен как контейнер CF; в настоящее время OSDictionary, OSArray, OSSet, OSSymbol, OSString, OSData, OSNumber, OSBoolean создаются как их дубликаты CF.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Создайте итератор, базированный в данном ключе реестра.

    Объявление

    Swift

    func IORegistryEntryCreateIterator(_ entry: io_registry_entry_t, _ plane: UnsafePointer<Int8>, _ options: IOOptionBits, _ iterator: UnsafeMutablePointer<io_iterator_t>) -> kern_return_t

    Objective C

    kern_return_t IORegistryEntryCreateIterator ( io_registry_entry_t entry, const io_name_t plane, IOOptionBits options, io_iterator_t *iterator );

    Параметры

    entry

    Корневая запись для начала итерации в.

    plane

    Имя существующей плоскости реестра. Плоские имена определяются в IOKitKeys.h, например, kIOServicePlane.

    options

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

    iterator

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

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

    kern_return_t код ошибки.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Ищет ключ реестра путем.

    Объявление

    Swift

    func IORegistryEntryFromPath(_ masterPort: mach_port_t, _ path: UnsafePointer<Int8>) -> io_registry_entry_t

    Objective C

    io_registry_entry_t IORegistryEntryFromPath ( mach_port_t masterPort, const io_string_t path );

    Параметры

    masterPort

    Ведущий порт, полученный из IOMasterPort (). Передайте kIOMasterPortDefault для поиска ведущего порта по умолчанию.

    path

    Путь струны до.

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

    Дескриптор ведьме IORegistryEntry, как находили, с путем, был выпущен с IOObjectRelease вызывающей стороной или MACH_PORT_NULL при отказе.

    Обсуждение

    Эта функция анализирует пути к ключам реестра поиска. Путь должен начаться' <с плоского имени>': если существуют символы, остающиеся непроанализированными после того, как запись искалась, это считают недопустимым поиском. Пути далее документируются в IORegistryEntry.h

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращает первый дочерний элемент ключа реестра в плоскости.

    Объявление

    Swift

    func IORegistryEntryGetChildEntry(_ entry: io_registry_entry_t, _ plane: UnsafePointer<Int8>, _ child: UnsafeMutablePointer<io_registry_entry_t>) -> kern_return_t

    Objective C

    kern_return_t IORegistryEntryGetChildEntry ( io_registry_entry_t entry, const io_name_t plane, io_registry_entry_t *child );

    Параметры

    entry

    Ключ реестра, чей дочерний элемент для поиска.

    plane

    Имя существующей плоскости реестра. Плоские имена определяются в IOKitKeys.h, например, kIOServicePlane.

    child

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

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

    kern_return_t код ошибки.

    Обсуждение

    Эта функция возвратит дочерний элемент, сначала присоединивший к ключу реестра в плоскости.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращает итератор по дочерним элементам ключа реестра в плоскости.

    Объявление

    Swift

    func IORegistryEntryGetChildIterator(_ entry: io_registry_entry_t, _ plane: UnsafePointer<Int8>, _ iterator: UnsafeMutablePointer<io_iterator_t>) -> kern_return_t

    Objective C

    kern_return_t IORegistryEntryGetChildIterator ( io_registry_entry_t entry, const io_name_t plane, io_iterator_t *iterator );

    Параметры

    entry

    Ключ реестра, чьи дочерние элементы для итерации.

    plane

    Имя существующей плоскости реестра. Плоские имена определяются в IOKitKeys.h, например, kIOServicePlane.

    iterator

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

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

    kern_return_t код ошибки.

    Обсуждение

    Этот метод создает итератор, который возвратит каждые из дочерних элементов ключа реестра в указанной плоскости.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращает расположение струны до, присвоенное ключу реестра, в указанной плоскости.

    Объявление

    Swift

    func IORegistryEntryGetLocationInPlane(_ entry: io_registry_entry_t, _ plane: UnsafePointer<Int8>, _ location: UnsafeMutablePointer<Int8>) -> kern_return_t

    Objective C

    kern_return_t IORegistryEntryGetLocationInPlane ( io_registry_entry_t entry, const io_name_t plane, io_name_t location );

    Параметры

    entry

    Дескриптор ключа реестра, чье имя для поиска.

    plane

    Имя существующей плоскости реестра. Плоские имена определяются в IOKitKeys.h, например, kIOServicePlane.

    location

    Буфер вызывающей стороны для получения строки расположения.

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

    kern_return_t код ошибки.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращает имя струны до, присвоенное ключу реестра.

    Объявление

    Swift

    func IORegistryEntryGetName(_ entry: io_registry_entry_t, _ name: UnsafeMutablePointer<Int8>) -> kern_return_t

    Objective C

    kern_return_t IORegistryEntryGetName ( io_registry_entry_t entry, io_name_t name );

    Параметры

    entry

    Дескриптор ключа реестра, чье имя для поиска.

    name

    Буфер вызывающей стороны для получения имени.

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

    kern_return_t код ошибки.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращает имя струны до, присвоенное ключу реестра, в указанной плоскости.

    Объявление

    Swift

    func IORegistryEntryGetNameInPlane(_ entry: io_registry_entry_t, _ plane: UnsafePointer<Int8>, _ name: UnsafeMutablePointer<Int8>) -> kern_return_t

    Objective C

    kern_return_t IORegistryEntryGetNameInPlane ( io_registry_entry_t entry, const io_name_t plane, io_name_t name );

    Параметры

    entry

    Дескриптор ключа реестра, чье имя для поиска.

    plane

    Имя существующей плоскости реестра. Плоские имена определяются в IOKitKeys.h, например, kIOServicePlane.

    name

    Буфер вызывающей стороны для получения имени.

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

    kern_return_t код ошибки.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращает первого родителя ключа реестра в плоскости.

    Объявление

    Swift

    func IORegistryEntryGetParentEntry(_ entry: io_registry_entry_t, _ plane: UnsafePointer<Int8>, _ parent: UnsafeMutablePointer<io_registry_entry_t>) -> kern_return_t

    Objective C

    kern_return_t IORegistryEntryGetParentEntry ( io_registry_entry_t entry, const io_name_t plane, io_registry_entry_t *parent );

    Параметры

    entry

    Ключ реестра, чей родитель для поиска.

    plane

    Имя существующей плоскости реестра. Плоские имена определяются в IOKitKeys.h, например, kIOServicePlane.

    parent

    Первый родитель ключа реестра, на успехе. Родитель должен быть выпущен вызывающей стороной.

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

    kern_return_t код ошибки.

    Обсуждение

    Эта функция возвратит родителя, к которому ключ реестра был сначала присоединен в плоскости.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращает итератор по родительским записям ключа реестра в плоскости.

    Объявление

    Swift

    func IORegistryEntryGetParentIterator(_ entry: io_registry_entry_t, _ plane: UnsafePointer<Int8>, _ iterator: UnsafeMutablePointer<io_iterator_t>) -> kern_return_t

    Objective C

    kern_return_t IORegistryEntryGetParentIterator ( io_registry_entry_t entry, const io_name_t plane, io_iterator_t *iterator );

    Параметры

    entry

    Ключ реестра, чьи родители для итерации.

    plane

    Имя существующей плоскости реестра. Плоские имена определяются в IOKitKeys.h, например, kIOServicePlane.

    iterator

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

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

    kern_return_t ошибка.

    Обсуждение

    Этот метод создает итератор, который возвратит каждую из родительских записей ключа реестра в указанной плоскости.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Создайте путь для ключа реестра.

    Объявление

    Swift

    func IORegistryEntryGetPath(_ entry: io_registry_entry_t, _ plane: UnsafePointer<Int8>, _ path: UnsafeMutablePointer<Int8>) -> kern_return_t

    Objective C

    kern_return_t IORegistryEntryGetPath ( io_registry_entry_t entry, const io_name_t plane, io_string_t path );

    Параметры

    entry

    Дескриптор ключа реестра, чей путь для поиска.

    plane

    Имя существующей плоскости реестра. Плоские имена определяются в IOKitKeys.h, например, kIOServicePlane.

    path

    Символьный буфер выделяется вызывающей стороной.

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

    IORegistryEntryGetPath перестанет работать, если запись не будет присоединена в плоскости, или если буфер не является достаточно большим для содержания пути.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращает ID для ключа реестра, который является глобальной переменной ко всем задачам.

    Объявление

    Swift

    func IORegistryEntryGetRegistryEntryID(_ entry: io_registry_entry_t, _ entryID: UnsafeMutablePointer<UInt64>) -> kern_return_t

    Objective C

    kern_return_t IORegistryEntryGetRegistryEntryID ( io_registry_entry_t entry, uint64_t *entryID );

    Параметры

    entry

    Дескриптор ключа реестра, чей ID для поиска.

    entryID

    Получающийся ID.

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

    kern_return_t код ошибки.

    Обсуждение

    Запись ID, возвращенный IORegistryEntryGetRegistryEntryID, может использоваться для идентификации ключа реестра через все задачи. Ключ реестра может искаться его entryID путем создания соответствующего словаря с IORegistryEntryIDMatching (), чтобы использоваться с IOKit соответствие функций. ID допустим только до перезагрузок машины.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Создайте соответствующий словарь, указывающий соответствие IOService на основе ключа реестра ID.

    Объявление

    Swift

    func IORegistryEntryIDMatching(_ entryID: UInt64) -> Unmanaged<CFMutableDictionary>!

    Objective C

    CFMutableDictionaryRef IORegistryEntryIDMatching ( uint64_t entryID );

    Параметры

    entryID

    Ключ реестра ID, который будет найден.

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

    Соответствующий создаваемый словарь, возвращается на успехе или нуле при отказе. Словарь обычно передается IOServiceGetMatchingServices или IOServiceAddNotification, который использует ссылку, иначе это должно быть выпущено с CFRelease вызывающей стороной.

    Обсуждение

    Эта функция создает соответствующий словарь, который будет соответствовать зарегистрированный, активный IOService, найденный данному ключу реестра ID. Запись ID для ключа реестра возвращается IORegistryEntryGetRegistryEntryID ().

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Определяет, присоединяется ли ключ реестра в плоскости.

    Объявление

    Swift

    func IORegistryEntryInPlane(_ entry: io_registry_entry_t, _ plane: UnsafePointer<Int8>) -> boolean_t

    Objective C

    boolean_t IORegistryEntryInPlane ( io_registry_entry_t entry, const io_name_t plane );

    Параметры

    entry

    Ключ реестра.

    plane

    Имя существующей плоскости реестра. Плоские имена определяются в IOKitKeys.h, например, kIOServicePlane.

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

    Если запись имеет родителя в плоскости, true возвращается, иначе false возвращается.

    Обсуждение

    Этот метод определяет, присоединяется ли запись в плоскости к какой-либо другой записи.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Создайте представление CF свойства ключа реестра.

    Объявление

    Swift

    func IORegistryEntrySearchCFProperty(_ entry: io_registry_entry_t, _ plane: UnsafePointer<Int8>, _ key: CFString!, _ allocator: CFAllocator!, _ options: IOOptionBits) -> AnyObject!

    Objective C

    CFTypeRef IORegistryEntrySearchCFProperty ( io_registry_entry_t entry, const io_name_t plane, CFStringRef key, CFAllocatorRef allocator, IOOptionBits options );

    Параметры

    entry

    Ключ реестра, в котором можно запустить поиск.

    plane

    Имя существующей плоскости реестра. Плоские имена определяются в IOKitKeys.h, например, kIOServicePlane.

    key

    CFString указание имени свойства.

    allocator

    Средство выделения CF для использования при создании контейнера CF.

    options

    kIORegistryIterateRecursively может быть установлен рекурсивно вызвать автоматически в иерархию реестра. Без этой опции этот метод ухудшается в стандартный IORegistryEntryCreateCFProperty () вызов. kIORegistryIterateParents может быть установлен выполнить итерации родителей записи вместо дочерних элементов.

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

    Контейнер CF создается и возвратил вызывающую сторону на успехе. Вызывающая сторона должна выпустить с CFRelease.

    Обсуждение

    Эта функция создает мгновенный снимок свойства ключа реестра, создавая аналог контейнера CF в задаче вызывающей стороны. Не каждый объект, доступный в ядре, представлен как контейнер CF; в настоящее время OSDictionary, OSArray, OSSet, OSSymbol, OSString, OSData, OSNumber, OSBoolean создаются как их дубликаты CF. Эта функция будет искать свойство, запускаясь сначала с таблицы свойства указанного ключа реестра, затем выполняя итерации рекурсивно или через родительские ключи реестра или через дочерние ключи реестра этой записи. Как только первое возникновение найдено, оно будет поиск и возвращать значение свойства, с помощью той же семантики в качестве IORegistryEntryCreateCFProperty. Итерация отслеживает записи, рекурсивно вызванные в ранее для предотвращения циклов.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Установите базируемые свойства контейнера CF в ключе реестра.

    Объявление

    Swift

    func IORegistryEntrySetCFProperties(_ entry: io_registry_entry_t, _ properties: AnyObject!) -> kern_return_t

    Objective C

    kern_return_t IORegistryEntrySetCFProperties ( io_registry_entry_t entry, CFTypeRef properties );

    Параметры

    entry

    Ключ реестра, чьи свойства для установки.

    properties

    Контейнер CF - обычно CFDictionary, но это не осуществляется. Контейнер должен состоять из объектов, понятых под IOKit - это в настоящее время: CFDictionary, CFArray, CFSet, CFString, CFData, CFNumber, CFBoolean, и передаются в ядре, поскольку и т.д. возражает соответствующий OSDictionary.

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

    kern_return_t код ошибки, возвращенный объектом.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Установите базируемое свойство контейнера CF в ключе реестра.

    Объявление

    Swift

    func IORegistryEntrySetCFProperty(_ entry: io_registry_entry_t, _ propertyName: CFString!, _ property: AnyObject!) -> kern_return_t

    Objective C

    kern_return_t IORegistryEntrySetCFProperty ( io_registry_entry_t entry, CFStringRef propertyName, CFTypeRef property );

    Параметры

    entry

    Ключ реестра, чье свойство для установки.

    propertyName

    Имя свойства как CFString.

    property

    Контейнер CF - должен состоять из объектов, понятых под IOKit - это в настоящее время: CFDictionary, CFArray, CFSet, CFString, CFData, CFNumber, CFBoolean, и передаются в ядре, поскольку и т.д. возражает соответствующий OSDictionary.

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

    kern_return_t код ошибки, возвращенный объектом.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвратите дескриптор корню реестра.

    Объявление

    Swift

    func IORegistryGetRootEntry(_ masterPort: mach_port_t) -> io_registry_entry_t

    Objective C

    io_registry_entry_t IORegistryGetRootEntry ( mach_port_t masterPort );

    Параметры

    masterPort

    Ведущий порт, полученный из IOMasterPort (). Передайте kIOMasterPortDefault для поиска ведущего порта по умолчанию.

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

    Дескриптор к корневому экземпляру IORegistryEntry, чтобы быть выпущенным с IOObjectRelease вызывающей стороной или MACH_PORT_NULL при отказе.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Рекурсивно вызовите в текущую запись в итерации реестра.

    Объявление

    Swift

    func IORegistryIteratorEnterEntry(_ iterator: io_iterator_t) -> kern_return_t

    Objective C

    kern_return_t IORegistryIteratorEnterEntry ( io_iterator_t iterator );

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

    kern_return_t код ошибки.

    Обсуждение

    Этот метод вносит текущую запись, т.е. последнюю запись, возвращенную IOIteratorNext, корнем на новом уровне рекурсии.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Выходит из уровня рекурсии, восстанавливая текущую запись.

    Объявление

    Swift

    func IORegistryIteratorExitEntry(_ iterator: io_iterator_t) -> kern_return_t

    Objective C

    kern_return_t IORegistryIteratorExitEntry ( io_iterator_t iterator );

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

    kIOReturnSuccess, если уровень рекурсии был отменен, kIOReturnNoDevice, если никакие рекурсивные уровни не оставляют в итерации.

    Обсуждение

    Этот метод отменяет IORegistryIteratorEnterEntry, восстанавливая текущую запись. Если больше нет уровней рекурсии для выхода, false возвращается, иначе true возвращается.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Регистр для уведомления об изменениях состояния в IOService.

    Объявление

    Swift

    func IOServiceAddInterestNotification(_ notifyPort: IONotificationPort!, _ service: io_service_t, _ interestType: UnsafePointer<Int8>, _ callback: IOServiceInterestCallback, _ refCon: UnsafeMutablePointer<Void>, _ notification: UnsafeMutablePointer<io_object_t>) -> kern_return_t

    Objective C

    kern_return_t IOServiceAddInterestNotification ( IONotificationPortRef notifyPort, io_service_t service, const io_name_t interestType, IOServiceInterestCallback callback, void *refCon, io_object_t *notification );

    Параметры

    notifyPort

    IONotificationPortRef возражает, что средства управления, как сообщения будут отправлены, когда будет запущено уведомление. Посмотрите IONotificationPortCreate.

    interestType

    Тип уведомления от IOKitKeys.h

    изменения Общего состояния kIOGeneralInterest поставили через IOService:: сообщение API.

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

    callback

    Когда уведомление стреляет с messageType и messageArgument для изменения состояния, функция обратного вызова вызвала.

    refCon

    Ссылочная константа для использования обратных вызовов.

    notification

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

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

    kern_return_t код ошибки.

    Обсуждение

    Объекты IOService поставляют уведомления о своих изменениях состояния их клиентам через IOService:: передайте API, и к другим заинтересованным сторонам включая вызывающие стороны этой функции. Тип сообщения s определяется IOKit/IOMessage.h.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Ищите зарегистрированный IOService возражает, что соответствуют соответствующий словарь и устанавливают запрос уведомления нового IOServices то соответствие.

    Объявление

    Swift

    func IOServiceAddMatchingNotification(_ notifyPort: IONotificationPort!, _ notificationType: UnsafePointer<Int8>, _ matching: CFDictionary!, _ callback: IOServiceMatchingCallback, _ refCon: UnsafeMutablePointer<Void>, _ notification: UnsafeMutablePointer<io_iterator_t>) -> kern_return_t

    Objective C

    kern_return_t IOServiceAddMatchingNotification ( IONotificationPortRef notifyPort, const io_name_t notificationType, CFDictionaryRef matching, IOServiceMatchingCallback callback, void *refCon, io_iterator_t *notification );

    Параметры

    notifyPort

    IONotificationPortRef возражает, что средства управления, как сообщения будут отправлены, когда будет запущено вооруженное уведомление. Когда уведомление поставлено, io_iterator_t, представляющий уведомление, должен быть выполнен с помощью итераций через для взятия всех выдающихся объектов. Когда итерация закончена, уведомление перевооружено. Посмотрите IONotificationPortCreate.

    notificationType

    Тип уведомления от IOKitKeys.h

    kIOPublishNotification, Поставленный, когда регистрируется IOService.

    kIOFirstPublishNotification, Поставленный, когда IOService регистрируется, но только один раз на экземпляр IOService. Когда их состояние изменяется, некоторый IOService's может быть повторно зарегистрирован.

    kIOMatchedNotification, Поставленный, когда IOService имел все драйверы соответствия в ядре, зондируемом и запущенном.

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

    kIOTerminatedNotification, Поставленный после IOService, был завершен.

    matching

    Словарь CF, содержащий соответствие информации, которой ссылка всегда используется этой функцией (Примечание до выпуска Тигра был маленький шанс, что словарь не мог бы быть выпущен, если бы была ошибка при попытке сериализировать словарь). IOKitLib может создать соответствие словарей для общих критериев с функциями помощника, такими как IOServiceMatching, IOServiceNameMatching, IOBSDNameMatching.

    callback

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

    refCon

    Ссылочная константа для использования обратных вызовов.

    notification

    Когда уведомление должно быть уничтожено, дескриптор итератора возвращается на успехе и должен быть выпущен вызывающей стороной. Уведомление вооружено, когда итератор освобожден вызовами к IOIteratorNext - когда больше объектов не возвращается, уведомление вооружено. Обратите внимание на то, что уведомление не вооружено когда сначала создаваемый.

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

    kern_return_t код ошибки.

    Обсуждение

    Это - предпочтительный метод нахождения объектов IOService, которые могут поступить в любое время. Тип уведомления указывает изменение состояния, вызывающая сторона интересуется на IOService's, которые соответствуют словарь соответствия. Типы уведомления идентифицируются по имени и определяются в IOKitKeys.h. Соответствующая информация, используемая в соответствующем словаре, может варьироваться в зависимости от искавшей категории обслуживания.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Закройте соединение с IOService и уничтожьте дескриптор подключения.

    Объявление

    Swift

    func IOServiceClose(_ connect: io_connect_t) -> kern_return_t

    Objective C

    kern_return_t IOServiceClose ( io_connect_t connect );

    Параметры

    connect

    Дескриптор подключения создается IOServiceOpen. Это будет уничтожено этой функцией и не должно быть выпущено с IOObjectRelease.

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

    kern_return_t код ошибки.

    Обсуждение

    Когда соединение больше не должно использоваться с IOServiceClose, должно быть закрыто соединение, создаваемое с IOServiceOpen.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Возвращает busyState IOService.

    Объявление

    Swift

    func IOServiceGetBusyState(_ service: io_service_t, _ busyState: UnsafeMutablePointer<UInt32>) -> kern_return_t

    Objective C

    kern_return_t IOServiceGetBusyState ( io_service_t service, uint32_t *busyState );

    Параметры

    service

    IOService, чей busyState для возврата.

    busyState

    Количество busyState возвращается.

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

    kern_return_t код ошибки.

    Обсуждение

    Много действий в IOService являются асинхронными. Когда регистрация, соответствие или завершение происходят на IOService, его busyState увеличен одним. Изменение в busyState к или от нуля также изменяет busyState провайдера IOSERVICE одним, что означает, что IOService отмечен занятый, когда любое из вышеупомянутых действий происходит на нем или любой из его клиентов.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Ищите зарегистрированный IOService возражают, что соответствует соответствующий словарь.

    Объявление

    Swift

    func IOServiceGetMatchingService(_ masterPort: mach_port_t, _ matching: CFDictionary!) -> io_service_t

    Objective C

    io_service_t IOServiceGetMatchingService ( mach_port_t masterPort, CFDictionaryRef matching );

    Параметры

    masterPort

    Ведущий порт, полученный из IOMasterPort (). Передайте kIOMasterPortDefault для поиска ведущего порта по умолчанию.

    matching

    Словарь CF, содержащий соответствие информации, которой ссылка всегда используется этой функцией (Примечание до выпуска Тигра был маленький шанс, что словарь не мог бы быть выпущен, если бы была ошибка при попытке сериализировать словарь). IOKitLib может создать соответствие словарей для общих критериев с функциями помощника, такими как IOServiceMatching, IOServiceNameMatching, IOBSDNameMatching.

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

    Первая соответствующая служба возвращается на успехе. Служба должна быть выпущена вызывающей стороной.

    Обсуждение

    Это - предпочтительный метод нахождения объектов IOService, в настоящее время регистрируемых IOKit (т.е. объекты, имевшие их registerService () вызванные методы). Для нахождения объектов IOService, еще не регистрирующихся используйте итератор, как создается IORegistryEntryCreateIterator (). IOServiceAddMatchingNotification может также предоставить эту информацию и установить уведомление о новом IOServices. Соответствующая информация, используемая в соответствующем словаре, может варьироваться в зависимости от искавшей категории обслуживания.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Ищите зарегистрированный IOService возражает, что соответствуют соответствующий словарь.

    Объявление

    Swift

    func IOServiceGetMatchingServices(_ masterPort: mach_port_t, _ matching: CFDictionary!, _ existing: UnsafeMutablePointer<io_iterator_t>) -> kern_return_t

    Objective C

    kern_return_t IOServiceGetMatchingServices ( mach_port_t masterPort, CFDictionaryRef matching, io_iterator_t *existing );

    Параметры

    masterPort

    Ведущий порт, полученный из IOMasterPort (). Передайте kIOMasterPortDefault для поиска ведущего порта по умолчанию.

    matching

    Словарь CF, содержащий соответствие информации, которой ссылка всегда используется этой функцией (Примечание до выпуска Тигра был маленький шанс, что словарь не мог бы быть выпущен, если бы была ошибка при попытке сериализировать словарь). IOKitLib может создать соответствие словарей для общих критериев с функциями помощника, такими как IOServiceMatching, IOServiceNameMatching, IOBSDNameMatching.

    existing

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

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

    kern_return_t код ошибки.

    Обсуждение

    Это - предпочтительный метод нахождения объектов IOService, в настоящее время регистрируемых IOKit (т.е. объекты, имевшие их registerService () вызванные методы). Для нахождения объектов IOService, еще не регистрирующихся используйте итератор, как создается IORegistryEntryCreateIterator (). IOServiceAddMatchingNotification может также предоставить эту информацию и установить уведомление о новом IOServices. Соответствующая информация, используемая в соответствующем словаре, может варьироваться в зависимости от искавшей категории обслуживания.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Создайте соответствующий словарь, указывающий соответствие класса IOService.

    Объявление

    Swift

    func IOServiceMatching(_ name: UnsafePointer<Int8>) -> Unmanaged<CFMutableDictionary>!

    Objective C

    CFMutableDictionaryRef IOServiceMatching ( const char *name );

    Параметры

    name

    Имя класса, как струна до константы. Класс, соответствующий, успешен на IOService's этого класса или любого подкласса.

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

    Соответствующий создаваемый словарь, возвращается на успехе или нуле при отказе. Словарь обычно передается IOServiceGetMatchingServices или IOServiceAddNotification, который использует ссылку, иначе это должно быть выпущено с CFRelease вызывающей стороной.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Соответствуйте IOService объекты соответствию словаря.

    Объявление

    Swift

    func IOServiceMatchPropertyTable(_ service: io_service_t, _ matching: CFDictionary!, _ matches: UnsafeMutablePointer<boolean_t>) -> kern_return_t

    Objective C

    kern_return_t IOServiceMatchPropertyTable ( io_service_t service, CFDictionaryRef matching, boolean_t *matches );

    Параметры

    service

    IOService возражают для соответствия.

    matching

    Словарь CF, содержащий соответствие информации. IOKitLib может создать соответствие словарей для общих критериев с функциями помощника, такими как IOServiceMatching, IOServiceNameMatching, IOBSDNameMatching.

    matches

    Булев результат возвращается.

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

    kern_return_t код ошибки.

    Обсуждение

    Это вызовы функции метод сопоставления объекта IOService и возвратов булев результат.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Создайте соответствующий словарь, указывающий соответствие имени IOService.

    Объявление

    Swift

    func IOServiceNameMatching(_ name: UnsafePointer<Int8>) -> Unmanaged<CFMutableDictionary>!

    Objective C

    CFMutableDictionaryRef IOServiceNameMatching ( const char *name );

    Параметры

    name

    Имя IOService, как струна до константы.

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

    Соответствующий создаваемый словарь, возвращается на успехе или нуле при отказе. Словарь обычно передается IOServiceGetMatchingServices или IOServiceAddNotification, который использует ссылку, иначе это должно быть выпущено с CFRelease вызывающей стороной.

    Обсуждение

    Общее соответствие критерии IOService основывается на своем имени. IOServiceNameMatching создаст соответствующий словарь, указывающий IOService с именем. Некоторый IOServices, создаваемый из дерева устройств, выполнит имя, соответствующее по совместимому стандарту, имя, свойства модели.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Запрос для создания соединения с IOService.

    Объявление

    Swift

    func IOServiceOpen(_ service: io_service_t, _ owningTask: task_port_t, _ type: UInt32, _ connect: UnsafeMutablePointer<io_connect_t>) -> kern_return_t

    Objective C

    kern_return_t IOServiceOpen ( io_service_t service, task_port_t owningTask, uint32_t type, io_connect_t *connect );

    Параметры

    service

    IOService возражают для открытия соединения с, обычно получаемый через IOServiceGetMatchingServices или IOServiceAddNotification APIs.

    owningTask

    Задача Маха, запрашивающая соединение.

    type

    Постоянное указание типа соединения, которое будет создаваться, интерпретируемое только семьей IOSERVICE.

    connect

    Дескриптор io_connect_t возвращается на успехе, чтобы использоваться с IOConnectXXX APIs. Это должно быть уничтожено с IOServiceClose ().

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

    Код возврата, сгенерированный IOService:: newUserClient.

    Обсуждение

    Не клиент ядра может запросить, чтобы соединение было открыто через IOServiceOpen () библиотечная функция, которая вызовет IOService:: newUserClient в ядре. Правила и возможности пользовательских клиентов уровня являются зависимым семьи, реализация IOService по умолчанию возвращает kIOReturnUnsupported.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

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

    Объявление

    Swift

    func IOServiceRequestProbe(_ service: io_service_t, _ options: UInt32) -> kern_return_t

    Objective C

    kern_return_t IOServiceRequestProbe ( io_service_t service, uint32_t options );

    Параметры

    service

    IOService возражают для запроса пересканирования, обычно получаемого через IOServiceGetMatchingServices или IOServiceAddNotification APIs.

    options

    Маска опций, интерпретируемая только семьей IOSERVICE.

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

    Код возврата, сгенерированный IOService:: requestProbe.

    Обсуждение

    Если семейство шины действительно автоматически замечает такие изменения, не клиент ядра может запросить пересканирование шины или контроллера на добавленные или демонтированные устройства. Например, контроллеры шины SCSI не замечают изменений устройства. Реализация этой подпрограммы является зависимым семьи, и реализация IOService по умолчанию возвращает kIOReturnUnsupported.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Ожидайте busyState IOSERVICE, чтобы быть нулем.

    Объявление

    Swift

    func IOServiceWaitQuiet(_ service: io_service_t, _ waitTime: UnsafeMutablePointer<mach_timespec_t>) -> kern_return_t

    Objective C

    kern_return_t IOServiceWaitQuiet ( io_service_t service, mach_timespec_t *waitTime );

    Параметры

    service

    IOService ожидают на.

    waitTime

    Указывает максимальное время для ожидания.

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

    Если примитивы синхронизации Маха перестали работать, kIOReturnTimeout, или kIOReturnSuccess, возвращает код ошибки.

    Обсуждение

    Блокирует вызывающую сторону, пока IOService не занят, посмотрите IOServiceGetBusyState.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

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

  • стандартная функция обратного вызова для асинхронного I/O запрашивает с большим количеством дополнительных параметров вне кода результата и refcon.

    Объявление

    Swift

    typealias IOAsyncCallback = CFunctionPointer<((UnsafeMutablePointer<Void>, IOReturn, UnsafeMutablePointer<UnsafeMutablePointer<Void>>, UInt32) -> Void)>

    Objective C

    typedef void ( *IOAsyncCallback)( void *refcon, IOReturn result, void **args, uint32_t numArgs);

    Параметры

    refcon

    refcon передается в исходный запрос I/O

    result

    Результат операции I/O

    args

    Массив дополнительных параметров

    numArgs

    Число дополнительных параметров

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • стандартная функция обратного вызова для асинхронного I/O запрашивает без дополнительных параметров вне кода результата и refcon.

    Объявление

    Swift

    typealias IOAsyncCallback0 = CFunctionPointer<((UnsafeMutablePointer<Void>, IOReturn) -> Void)>

    Objective C

    typedef void ( *IOAsyncCallback0)( void *refcon, IOReturn result);

    Параметры

    refcon

    refcon передается в исходный запрос I/O

    result

    Результат операции I/O

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • стандартная функция обратного вызова для асинхронного I/O запрашивает с одним дополнительным параметром вне кода результата и refcon. Это часто - количество числа переданных байтов

    Объявление

    Swift

    typealias IOAsyncCallback1 = CFunctionPointer<((UnsafeMutablePointer<Void>, IOReturn, UnsafeMutablePointer<Void>) -> Void)>

    Objective C

    typedef void ( *IOAsyncCallback1)( void *refcon, IOReturn result, void *arg0);

    Параметры

    refcon

    refcon передается в исходный запрос I/O

    result

    Результат операции I/O

    arg0

    Дополнительный параметр

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • стандартная функция обратного вызова для асинхронного I/O запрашивает с двумя дополнительными параметрами вне кода результата и refcon.

    Объявление

    Swift

    typealias IOAsyncCallback2 = CFunctionPointer<((UnsafeMutablePointer<Void>, IOReturn, UnsafeMutablePointer<Void>, UnsafeMutablePointer<Void>) -> Void)>

    Objective C

    typedef void ( *IOAsyncCallback2)( void *refcon, IOReturn result, void *arg0, void *arg1);

    Параметры

    refcon

    refcon передается в исходный запрос I/O

    result

    Результат операции I/O

    arg0

    Дополнительный параметр

    arg1

    Дополнительный параметр

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Функция обратного вызова, которая будет уведомлена относительно изменений в состоянии IOService.

    Объявление

    Swift

    typealias IOServiceInterestCallback = CFunctionPointer<((UnsafeMutablePointer<Void>, io_service_t, UInt32, UnsafeMutablePointer<Void>) -> Void)>

    Objective C

    typedef void ( *IOServiceInterestCallback)( void *refcon, io_service_t service, uint32_t messageType, void *messageArgument );

    Параметры

    refcon

    Когда уведомление было установлено, refcon передал.

    service

    IOService, состояние которого изменилось.

    messageType

    messageType перечисление, определенное IOKit/IOMessage.h или семьей IOSERVICE.

    messageArgument

    Параметр за сообщение, зависящее от messageType. Если данные сообщения больше, чем sizeof (недействительный*), то messageArgument содержит указатель на данные сообщения; иначе, messageArgument содержит данные сообщения.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Функция обратного вызова, которая будет уведомлена относительно публикации IOService.

    Объявление

    Swift

    typealias IOServiceMatchingCallback = CFunctionPointer<((UnsafeMutablePointer<Void>, io_iterator_t) -> Void)>

    Objective C

    typedef void ( *IOServiceMatchingCallback)( void *refcon, io_iterator_t iterator );

    Параметры

    refcon

    Когда уведомление было установлено, refcon передал.

    iterator

    Итератор уведомления, теперь имеющий новые объекты.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

Константы

См. Обзор для документации уровня заголовка.

  • Объявление

    Swift

    let kIOMasterPortDefault: mach_port_t

    Objective C

    extern const mach_port_t kIOMasterPortDefault;

    Константы

    • kIOMasterPortDefault

      kIOMasterPortDefault

      Значение по умолчанию порт Маха раньше инициировало связь с IOKit.

      При указании ведущего порта к функциям IOKit Аргумент Нулевого указывает, «используют значение по умолчанию». Если Вы использовали бы именованную константу, это - синоним для NULL.

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