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);Параметры
servicegenerationCountВозвращает ссылку на количество генерации базы данных. Количество генерации увеличивается только, когда лица добавляются к базе данных *и*, соответствие 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;Параметры
moduleNameOSString, содержащий имя модуля для разгрузки.
