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

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

Разработчик

Ссылка класса IOInterleavedMemoryDescriptor

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

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

IOInterleavedMemoryDescriptor

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

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

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


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

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


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

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


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

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.5 и позже.
  • Очистите все IOMemoryDescriptors, в настоящее время содержавшиеся в, и сбросьте IOInterleavedMemoryDescriptor.

    Объявление

    C++

    virtual void clearMemoryDescriptors( IODirection direction = direction );

    Параметры

    direction

    Направление I/O, которое будет связано с дескриптором, который может влиять на работу того, чтобы подготавливать и завершить методы на некоторой архитектуре.

    Обсуждение

    Очищает каждый IOMemoryDescriptor путем завершения (в случае необходимости) и выпуская. IOInterleavedMemoryDescriptor тогда сбрасывается и может признать, что новые дескрипторы до способности указали, когда это создавалось.

  • Полная обработка памяти после передачи I/O заканчивается.

    Объявление

    C++

    virtual IOReturn complete( IODirection forDirection = forDirection);

    Параметры

    forDirection

    Направление I/O просто завершилось, или kIODirectionNone для направления, указанного дескриптором памяти.

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

    Код IOReturn.

    Обсуждение

    Этот метод нельзя вызвать, если не было ранее выпущено подготавливать; подготавливать () и завершенный () должно произойти в парах, прежде и после передачи I/O, включающей листаемую память.

  • Повредите дескриптор памяти в его физически непрерывные сегменты.

    Объявление

    C++

    virtual addr64_t getPhysicalSegment( IOByteCountoffset, IOByteCount *length, IOOptionBits options = 0 );

    Параметры

    offset

    Байтовое смещение в память, чей физический адрес для возврата.

    length

    Если ненулевой, getPhysicalSegment сохранит здесь длину физически непрерывного segement при данном смещении.

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

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

    Обсуждение

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

  • Инициализируйте IOInterleavedMemoryDescriptor для описания области памяти, составленной из нескольких других IOMemoryDescriptors.

    Объявление

    C++

    virtual bool initWithCapacity( IOByteCountcapacity, IODirectiondirection );

    Параметры

    capacity

    Максимальное количество IOMemoryDescriptors, который может быть впоследствии добавлен к этому IOInterleavedMemoryDescriptor.

    direction

    Направление I/O, которое будет связано с дескриптором, который может влиять на работу того, чтобы подготавливать и завершить методы на некоторой архитектуре.

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

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

    Обсуждение

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

  • Подготовьте память к передаче I/O.

    Объявление

    C++

    virtual IOReturn prepare( IODirection forDirection = forDirection);

    Параметры

    forDirection

    Направление I/O, который будет выполняться, или kIODirectionNone для направления, указанного дескриптором памяти.

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

    Код IOReturn.

    Обсуждение

    Это вовлекает разбивку на страницы в память, при необходимости, и проводное соединение его вниз на время передачи. Полное () метод завершает обработку памяти после того, как закончится передача I/O. Этому методу нужно не, потребовал нелистаемую память.

  • Добавьте часть IOMemoryDescriptor к IOInterleavedMemoryDescriptor.

    Объявление

    C++

    virtual bool setMemoryDescriptor( IOMemoryDescriptor *descriptor, IOByteCountoffset, IOByteCountlength );

    Параметры

    descriptor

    IOMemoryDescriptor, который будет добавлен к IOInterleavedMemoryDescriptor. Его направление должно быть совместимо с тем из IOInterleavedMemoryDescriptor.

    offset

    Смещение в IOMemoryDescriptor части, которая будет добавлена к виртуализированному буферу.

    length

    Длина части IOMemoryDescriptor, который будет добавлен к виртуализированному буферу.

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

    Возвращает true, часть была успешно добавлена.

    Обсуждение

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

  • Создайте IOInterleavedMemoryDescriptor для описания области памяти, составленной из нескольких других IOMemoryDescriptors.

    Объявление

    C++

    static IOInterleavedMemoryDescriptor * withCapacity( IOByteCountcapacity, IODirectiondirection);

    Параметры

    capacity

    Максимальное количество IOMemoryDescriptors, который может быть впоследствии добавлен к этому IOInterleavedMemoryDescriptor.

    direction

    Направление I/O, которое будет связано с дескриптором, который может влиять на работу того, чтобы подготавливать и завершить методы на некоторой архитектуре.

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

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

    Обсуждение

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