IOMultiMemoryDescriptor
Объект IOMultiMemoryDescriptor описывает область памяти, составленную из нескольких других IOMemoryDescriptors.
Объект IOMultiMemoryDescriptor представляет многократные диапазоны памяти, указанной как упорядоченный список IOMemoryDescriptors. Дескрипторы объединены в цепочку от начала до конца для составления единственного непрерывного буфера.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый
Objective C
@import Kernel;
Доступность
Доступный в OS X v10.0 и позже.
-
Полная обработка памяти после передачи I/O заканчивается.
Объявление
C++
virtual IOReturn complete( IODirection forDirection =
forDirection
);Параметры
forDirection
Направление I/O просто завершилось, или kIODirectionNone для направления, указанного дескриптором памяти.
Возвращаемое значение
Код IOReturn.
Обсуждение
Этот метод нельзя вызвать, если не было ранее выпущено подготавливать; подготавливать () и завершенный () должно произойти в парах, прежде и после передачи I/O, включающей листаемую память.
-
Повредите дескриптор памяти в его физически непрерывные сегменты.
Объявление
C++
virtual addr64_t getPhysicalSegment( IOByteCount
offset
, IOByteCount *length
, IOOptionBits options = 0 );Параметры
offset
Байтовое смещение в память, чей физический адрес для возврата.
length
Если ненулевой, getPhysicalSegment сохранит здесь длину физически непрерывного segement при данном смещении.
Возвращаемое значение
Физический адрес или нуль, если смещение вне длины памяти.
Обсуждение
Этот метод возвращает физический адрес байта при данном смещении в память, и дополнительно длины физически непрерывного сегмента от того смещения.
-
Инициализируйте IOMultiMemoryDescriptor для описания области памяти, составленной из нескольких других IOMemoryDescriptors.
Объявление
C++
virtual bool initWithDescriptors( IOMemoryDescriptor **
descriptors
, UInt32withCount
, IODirectionwithDirection
, bool asReference = false );Параметры
descriptors
Массив IOMemoryDescriptors, составляющих память, которая будет описана.
withCount
Число объектов для массива дескрипторов.
withDirection
Направление I/O, которое будет связано с дескриптором, который может влиять на работу того, чтобы подготавливать и завершить методы на некоторой архитектуре.
asReference
Если ложь, объект IOMultiMemoryDescriptor сделает копию массива дескрипторов, иначе, массив будет использоваться на месте, избегая дополнительного выделения.
Возвращаемое значение
Создаваемый IOMultiMemoryDescriptor на успехе, чтобы быть выпущенным вызывающей стороной или нулем при отказе.
Обсуждение
Этот метод инициализирует IOMultiMemoryDescriptor для памяти, состоящей из многих других IOMemoryDescriptors, объединенных в цепочку от начала до конца (в порядке, они появляются в массиве) представлять единственный непрерывный буфер памяти. При передаче массива дескриптора, поскольку ссылка избежит дополнительного выделения.
-
Подготовьте память к передаче I/O.
Объявление
C++
virtual IOReturn prepare( IODirection forDirection =
forDirection
);Параметры
forDirection
Направление I/O просто завершилось, или kIODirectionNone для направления, указанного дескриптором памяти.
Возвращаемое значение
Код IOReturn.
Обсуждение
Это вовлекает разбивку на страницы в память, при необходимости, и проводное соединение его вниз на время передачи. Полное () метод завершает обработку памяти после того, как закончится передача I/O. Этот метод не должен требовавшийся нелистаемая память.
-
withDescriptors (IOMemoryDescriptor **, UInt32, IODirection, bool) - withDescriptors (IOMemoryDescriptor **, UInt32, IODirection, bool)
Создайте IOMultiMemoryDescriptor для описания области памяти, составленной из нескольких других IOMemoryDescriptors.
Объявление
C++
static IOMultiMemoryDescriptor * withDescriptors( IOMemoryDescriptor **
descriptors
, UInt32withCount
, IODirectionwithDirection
, bool asReference = false );Параметры
descriptors
Массив IOMemoryDescriptors, составляющих память, которая будет описана.
withCount
Число объектов для массива дескрипторов.
withDirection
Направление I/O, которое будет связано с дескриптором, который может влиять на работу того, чтобы подготавливать и завершить методы на некоторой архитектуре.
asReference
Если ложь, объект IOMultiMemoryDescriptor сделает копию массива дескрипторов, иначе, массив будет использоваться на месте, избегая дополнительного выделения.
Возвращаемое значение
Создаваемый IOMultiMemoryDescriptor на успехе, чтобы быть выпущенным вызывающей стороной или нулем при отказе.
Обсуждение
Этот метод создает и инициализирует IOMultiMemoryDescriptor для памяти, состоящей из многих других IOMemoryDescriptors, объединенных в цепочку от начала до конца (в порядке, они появляются в массиве) представлять единственный непрерывный буфер памяти. При передаче массива дескриптора, поскольку ссылка избежит дополнительного выделения.
-
withDescriptors (IOMemoryDescriptor **, UInt32, IODirection, bool) - withDescriptors (IOMemoryDescriptor **, UInt32, IODirection, bool)
Инициализируйте IOMultiMemoryDescriptor для описания области памяти, составленной из нескольких других IOMemoryDescriptors.
Объявление
C++
virtual bool initWithDescriptors( IOMemoryDescriptor **
descriptors
, UInt32withCount
, IODirectionwithDirection
, bool asReference = false );Параметры
descriptors
Массив IOMemoryDescriptors, составляющих память, которая будет описана.
withCount
Число объектов для массива дескрипторов.
withDirection
Направление I/O, которое будет связано с дескриптором, который может влиять на работу того, чтобы подготавливать и завершить методы на некоторой архитектуре.
asReference
Если ложь, объект IOMultiMemoryDescriptor сделает копию массива дескрипторов, иначе, массив будет использоваться на месте, избегая дополнительного выделения.
Возвращаемое значение
Создаваемый IOMultiMemoryDescriptor на успехе, чтобы быть выпущенным вызывающей стороной или нулем при отказе.
Обсуждение
Этот метод инициализирует IOMultiMemoryDescriptor для памяти, состоящей из многих других IOMemoryDescriptors, объединенных в цепочку от начала до конца (в порядке, они появляются в массиве) представлять единственный непрерывный буфер памяти. При передаче массива дескриптора, поскольку ссылка избежит дополнительного выделения.