IOCatalogue
База данных в ядре для лиц драйвера IOKit.
IOCatalogue является базой данных, содержащей все лица драйвера IOKit. IOService использует этот ресурс когда согласующие устройства к их связанным драйверам.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый
Objective C
@import Kernel;
Доступность
Доступный в OS X v10.0 через OS X v10.5.
-
Добавляет массив лиц драйвера к базе данных.
Объявление
C++
bool addDrivers( OSArray *
array
, bool doNubMatching = true );Параметры
array
Массив лиц драйвера, которые будут добавлены к базе данных.
doNubMatchng
Начните соответствовать процесс после того, как будут добавлены лица.
Возвращаемое значение
Если индивидуальность драйвера была добавлена к базе данных успешно, возвращает true. Отказ вследствие сбоя выделения памяти.
-
Это - основная точка входа для IOService.
Объявление
C++
OSOrderedSet * findDrivers( IOService *
service
, SInt32 *generationCount
);Параметры
service
generationCount
Возвращает ссылку на количество генерации базы данных. Количество генерации увеличивается только, когда лица добавляются к базе данных *и*, соответствие IOService инициировалось.
Возвращаемое значение
Возвращает упорядоченный набор лиц драйвера, оцениваемых на тестовых очках. Упорядоченный набор должен быть выпущен получателем.
-
Более интерфейс общего назначения, позволяющий получать лица драйвера, базировал пересечение 'соответствующего' словаря и собственного списка свойств индивидуальности.
Объявление
C++
OSOrderedSet * findDrivers( OSDictionary *
matching
, SInt32 *generationCount
);Параметры
matching
Словарь, содержащий только ключи и значения, которые должны использоваться для соответствия. Например, соответствующий словарь, содержащий 'IOProviderClass' ='IOPCIDevice ', возвратит все лица с ключом IOProviderClass и значением IOPCIDevice.
generationCount
Возвращает ссылку на текущую генерацию базы данных. Количество генерации увеличивается только, когда лица добавляются к базе данных *и*, соответствие IOService инициировалось.
Возвращаемое значение
Возвращает упорядоченный набор лиц драйвера, оцениваемых на тестовых очках. Упорядоченный набор должен быть выпущен получателем.
-
Очищает базу данных и освобождает память, выделенную в инициализации. Это никогда не вызывают в нормальном функционировании системы.
Объявление
C++
void free(
void
); -
Получите текущее количество генерации базы данных.
Объявление
C++
SInt32 getGenerationCount(
void
) const; -
Инициализирует объект базы данных.
Объявление
C++
bool init( OSArray *
initArray
);Параметры
initArray
Начальный массив лиц драйвера для заполнения базы данных.
-
Создает и инициализирует объект базы данных и poputates это с лицами в драйвере ядра.
Объявление
C++
static void initialize(
void
); -
Отчеты, если модуль ядра был загружен для определенной индивидуальности.
Объявление
C++
bool isModuleLoaded( OSDictionary *
driver
) const;Параметры
driver
Список свойств индивидуальности драйвера.
Возвращаемое значение
Возвращает true, если связанный модуль ядра был загружен в ядро для определенной индивидуальности драйвера, от которой это зависит.
-
Отчеты, если был загружен модуль ядра.
Объявление
C++
bool isModuleLoaded( const char *
moduleName
) const;Параметры
moduleName
Имя модуля.
Возвращаемое значение
Если связанный модуль ядра был загружен в ядро, возвращает true.
-
Отчеты, если был загружен модуль ядра.
Объявление
C++
bool isModuleLoaded( OSString *
moduleName
) const;Параметры
moduleName
Имя модуля.
Возвращаемое значение
Если связанный модуль ядра был загружен в ядро, возвращает true.
-
Функция обратного вызова, вызванная после зависимого модуля ядра IOKit, загружается.
Объявление
C++
void moduleHasLoaded( const char *
name
);Параметры
name
Имя модуля ядра.
-
Функция обратного вызова, вызванная после зависимого модуля ядра IOKit, загружается.
Объявление
C++
void moduleHasLoaded( OSString *
name
);Параметры
name
Имя модуля ядра.
-
Удалите лица драйвера из базы данных на основе соответствия предоставленной информации.
Объявление
C++
bool removeDrivers( OSDictionary *
matching
, bool doNubMatching = true );Параметры
matching
Словарь, ключи которого и значения используются для соответствия лиц в базе данных. Например, соответствующий словарь, содержащий ключ 'IOProviderClass' со значением 'IOPCIDevice', удалит все лица, имеющие ключ 'IOProviderClass', равный 'IOPCIDevice'.
doNubMatchng
Начните соответствовать процесс после того, как будут удалены лица. Соответствие критериев основывается на IOProviderClass тех удаленных лиц. Это должно позволить драйверы, которые не были соответствующими для соответствия против NUB's, блокированного предыдущими лицами.
Возвращаемое значение
Если индивидуальность была удалена успешно, возвращает true. Отказ вследствие сбоя выделения памяти.
-
Возвратите Каталог его начальному состоянию.
Объявление
C++
void reset(
void
);Обсуждение
Должен только использоваться kextd непосредственно перед тем, как он отправляет все kext лица вниз во время пересканирования.
-
Замените лица в IOCatalog с предоставленными.
Объявление
C++
bool resetAndAddDrivers( OSArray *
drivers
, bool doNubMatching = true);Обсуждение
Сбрасывает каталог с новым набором драйверов, сохраняя соответствие оригиналов для подавления соединенного проводом использования памяти.
-
Сериализирует каталог для транспорта пользователю.
Объявление
C++
virtual bool serialize( OSSerialize *
s
) const;Параметры
s
Объект сериализатора.
Возвращаемое значение
Возвращает false, если неспособный для сериализации базы данных, наиболее вероятно вследствие нехватки памяти.
-
Запускает IOService соответствие потока, где соответствие ключей и значений предоставлено соответствующим словарем.
Объявление
C++
bool startMatching( OSDictionary *
matching
);Параметры
matching
Словарь, ключи которого и значения используются для соответствия лиц в базе данных. Например, соответствующий словарь, содержащий ключ 'IOProviderClass' со значением 'IOPCIDevice', начнет соответствовать для всех лиц, имеющих ключ 'IOProviderClass', равный 'IOPCIDevice'.
-
Завершает все экземпляры драйвера, соответствующие содержание соответствующего словаря. Не разгружает модуль.
Объявление
C++
IOReturn terminateDrivers( OSDictionary *
matching
);Параметры
matching
Словарь, ключи которого и значения используются для соответствия лиц в базе данных. Например, соответствующий словарь, содержащий ключ 'IOProviderClass' со значением 'IOPCIDevice', вызовет завершение для всех экземпляров, у лиц которых есть ключ 'IOProviderClass', равный 'IOPCIDevice'.
-
terminateDriversForModule (символ константы *, bool) - terminateDriversForModule (символ константы *, bool)
Завершает все экземпляры драйвера, зависящего от определенного модуля и разгружающего модуль.
Объявление
C++
IOReturn terminateDriversForModule( const char *
moduleName
, bool unload = true);Параметры
moduleName
Имя модуля, использующегося для определения который экземпляры драйвера завершиться и разгрузиться.
unload
Флаг для порождения фактической разгрузки модуля.
-
Завершает все экземпляры драйвера, зависящего от определенного модуля и разгружающего модуль.
Объявление
C++
IOReturn terminateDriversForModule( OSString *
moduleName
, bool unload = true);Параметры
moduleName
Имя модуля, использующегося для определения который экземпляры драйвера завершиться и разгрузиться.
unload
Флаг для порождения фактической разгрузки модуля.
-
Разгружает reqested модуль, если никакие экземпляры драйвера в настоящее время не в зависимости от него.
Объявление
C++
IOReturn unloadModule( OSString *
moduleName
) const;Параметры
moduleName
OSString, содержащий имя модуля для разгрузки.