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

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

Разработчик

Ссылка класса IORegistryIterator

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

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

IORegistryIterator

Итератор по реестру.

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

Наследование


Не применимый

Соответствует


Не применимый

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


Не применимый

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.0 и позже.
  • Рекурсивно вызовите в текущую запись в итерации реестра.

    Объявление

    C++

    virtual void enterEntry( void );

    Обсуждение

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

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

    Объявление

    C++

    virtual void enterEntry( const IORegistryPlane *plane );

    Параметры

    plane

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

    Обсуждение

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

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

    Объявление

    C++

    virtual bool exitEntry( void );

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

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

    Обсуждение

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

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

    Объявление

    C++

    virtual IORegistryEntry * getCurrentEntry( void );

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

    Текущий ключ реестра в итерации или нуль, если последняя итерация возвратила нуль или итерацию, недопустим (см. isValid). Запись возвратилась, сохраняется, в то время как итератор указывает на нее (текущая запись) или рекурсивно вызывает в нее. Вызывающая сторона не должна выпускать его.

    Обсуждение

    Этот метод возвращает текущую запись, в последний раз возвращенную getNextObject и др. Объект возвратился, сохраняется, в то время как итератор указывает на него (текущая запись) или рекурсивно вызывает в него. Вызывающая сторона не должна выпускать его. Если итерация больше не действительна (см. isValid), текущая запись является нулем.

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

    Объявление

    C++

    virtual IORegistryEntry * getNextObject( void );

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

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

    Обсуждение

    Это вызовы метода или getNextObjectFlat или getNextObjectRecursive в зависимости от опций итератор создавалось с. Это реализует определенный getNextObject метод OSIterator. Объект возвратился, сохраняется, в то время как итератор указывает на него (текущая запись) или рекурсивно вызывает в него. Вызывающая сторона не должна выпускать его.

  • Возвратите следующий объект в итерации реестра, игнорируя kIORegistryIterateRecursively опцию.

    Объявление

    C++

    virtual IORegistryEntry * getNextObjectFlat( void );

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

    Следующий ключ реестра в итерации (текущая запись), или нуль, если итерация закончилась на этом уровне рекурсии или итерации, недопустим (см. isValid). Запись возвратилась, сохраняется, в то время как итератор указывает на нее (текущая запись) или рекурсивно вызывает в нее. Вызывающая сторона не должна выпускать его.

    Обсуждение

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

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

    Объявление

    C++

    virtual IORegistryEntry * getNextObjectRecursive( void );

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

    Следующий ключ реестра в итерации (текущая запись), или нуль, если его законченный, или итерация недопустим (см. isValid). Запись возвратилась, сохраняется, в то время как итератор указывает на нее (текущая запись) или рекурсивно вызывает в нее. Вызывающая сторона не должна выпускать его.

    Обсуждение

    Если итератор имеет текущую запись, и итератор уже не вошел ранее, enterEntry вызывают для рекурсивного вызова в него, т.е. сделать его новый корень, и следующий дочерний элемент или родитель, если kIORegistryIterateParents опция использовалась для создания итератора на этом новом уровне рекурсии, возвращаются. Если нет никакой текущей записи на этом уровне рекурсии, exitEntry вызывают и повторения процесса, пока итерация не возвращается к записи, с которой создавался итератор, и нуль возвращается. Объект возвратился, сохраняется, в то время как итератор указывает на него (текущая запись) или рекурсивно вызывает в него. Вызывающая сторона не должна выпускать его.

  • Проверки, что никакие изменения реестра не лишили законной силы итерацию.

    Объявление

    C++

    virtual bool isValid( void );

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

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

    Обсуждение

    Если итерация реестра будет лишена законной силы изменениями в реестре, то это будет сделано недопустимым, currentEntry будут считать нулем, и дальнейшие вызовы к getNextObject и др. возвратят нуль. Итератор должен быть сброшен для перезапуска итерации, когда это происходит.

  • Выполняет итерации всех записей (с getNextObject) и возвращает ряд всех возвращенных записей.

    Объявление

    C++

    virtual OSOrderedSet * iterateAll( void );

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

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

    Обсуждение

    Этот метод сбросит, затем выполнит итерации всех записей в итерации (с getNextObject) до успешный (т.е. итератор допустим в конце итерации).

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

    Объявление

    C++

    static IORegistryIterator * iterateOver( const IORegistryPlane *plane, IOOptionBits options = 0 );

    Параметры

    plane

    Должен быть указан плоский объект.

    options

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

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

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

    Обсуждение

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

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

    Объявление

    C++

    static IORegistryIterator * iterateOver( IORegistryEntry *start, const IORegistryPlane *plane, IOOptionBits options = 0 );

    Параметры

    start

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

    plane

    Должен быть указан плоский объект.

    options

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

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

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

    Обсуждение

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

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

    Объявление

    C++

    virtual void reset( void );

    Обсуждение

    Этот метод выходит из всех уровней рекурсии и восстанавливает итератор к его состоянию при создании.