Ссылка 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>
<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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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) -> UInt32Objective 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) -> UInt32Objective 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) -> UInt32Objective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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_tObjective 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 и позже.
-