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

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

Разработчик

Ссылка класса IOMemoryMap

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

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

IOMemoryMap

Класс, определяющий общие методы для описания отображения памяти.

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

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


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

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


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

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


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

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.0 и позже.
  • Средство доступа к продолжительности отображения.

    Объявление

    C++

    inline mach_vm_address_t getAddress() __attribute__((always_inline));

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

    Количество байта.

    Обсуждение

    Этот метод возвращает продолжительность отображения.

  • Средство доступа к продолжительности отображения.

    Объявление

    C++

    virtual mach_vm_address_t getAddress();

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

    Количество байта.

    Обсуждение

    Этот метод возвращает продолжительность отображения.

  • Средство доступа к задаче отображения.

    Объявление

    C++

    virtual task_t getAddressTask();

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

    Мах task_t.

    Обсуждение

    Этот метод возвращает задачу Маха, в которой существует отображение.

  • Средство доступа к продолжительности отображения.

    Объявление

    C++

    virtual IOByteCount getLength();

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

    Количество байта.

    Обсуждение

    Этот метод возвращает продолжительность отображения.

  • Средство доступа к опциям отображение создавалось с.

    Объявление

    C++

    virtual IOOptionBits getMapOptions();

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

    Опции для отображения, включая параметры кэширования.

    Обсуждение

    Этот метод возвращает опции в IOMemoryDescriptor:: отобразитесь отображение создавалось с.

  • Средство доступа к IOMemoryDescriptor отображение создавалось из.

    Объявление

    C++

    virtual IOMemoryDescriptor * getMemoryDescriptor();

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

    Ссылка IOMemoryDescriptor, которая допустима, в то время как сохраняется объект IOMemoryMap. Это не должно быть выпущено вызывающей стороной.

    Обсуждение

    Этот метод возвращает IOMemoryDescriptor, из которого создавалось отображение.

  • Возвратите физический адрес первого байта в отображении.

    Объявление

    C++

    IOPhysicalAddress getPhysicalAddress();

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

    Физический адрес.

    Обсуждение

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

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

    Объявление

    C++

    #ifdef __LP64__ virtual IOPhysicalAddress getPhysicalSegment( IOByteCount offset, IOByteCount *length, IOOptionBits options = 0); #else /* !__LP64__ */ virtual IOPhysicalAddress getPhysicalSegment( IOByteCount offset, IOByteCount *length); #endif /* !__LP64__ */

    Параметры

    offset

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

    length

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

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

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

    Обсуждение

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

  • Средство доступа к продолжительности отображения.

    Объявление

    C++

    inline mach_vm_address_t getAddress() __attribute__((always_inline));

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

    Количество байта.

    Обсуждение

    Этот метод возвращает продолжительность отображения.

  • Средство доступа к продолжительности отображения.

    Объявление

    C++

    virtual mach_vm_address_t getAddress();

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

    Количество байта.

    Обсуждение

    Этот метод возвращает продолжительность отображения.

  • Средство доступа к виртуальному адресу первого байта в отображении.

    Объявление

    C++

    virtual IOVirtualAddress getVirtualAddress();

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

    Виртуальный адрес.

    Обсуждение

    Этот метод возвращает виртуальный адрес первого байта в отображении. Так как IOVirtualAddress составляет только 32 бита в ядрах на 32 бита, getAddress (), метод должен использоваться для совместимости с отображениями задачи на 64 бита.

  • Замените с отображенной памятью в процессе с новой резервной памятью.

    Объявление

    C++

    #ifndef __LP64__ virtual IOReturn redirect( IOMemoryDescriptor *newBackingMemory, IOOptionBits options, IOByteCount offset = 0); #endif

    Параметры

    newBackingMemory

    IOMemoryDescriptor, представляющий физическую память, которая должна быть теперь отображена в виртуальном диапазоне IOMemoryMap, представляет. Если newBackingMemory будет NULL, то любой доступ к отображению зависнет (в vm_fault ()), пока доступ не был восстановлен новым вызовом для перенаправления () с не-NULL newBackingMemory параметра.

    options

    Отображающиеся опции определяются в IOTypes.h и документируются в IOMemoryDescriptor:: карта ()

    offset

    Как с IOMemoryDescriptor:: карта (), смещение начала в память IOMemoryDescriptor, где запускается отображение. Нуль является значением по умолчанию.

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

    Код IOReturn.

    Обсуждение

    IOMemoryMap, создаваемый с kIOMapUnique опцией к IOMemoryDescriptor:: карта () может повторно отображенный на новом IOMemoryDescriptor, поддерживающем объект. Если новый IOMemoryDescriptor указан как NULL, клиентский доступ к карте распределения памяти блокирован, пока новый объект поддержки не был установлен. В то время как клиент потенциально читает или пишет память, путем блокирования доступа и копирования данных, вызывающая сторона может создать атомарные копии памяти.

  • Вынудите IOMemoryMap не отобразиться, не уничтожая объект.

    Объявление

    C++

    virtual IOReturn unmap();

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

    Код IOReturn.

    Обсуждение

    Когда последний клиент со ссылкой вызовет выпуск, экземпляры IOMemoryMap не отобразят себя на свободный, т.е. Этот метод вынуждает IOMemoryMap уничтожить отображение, это представляет, независимо от числа клиентов. Это обычно не используется.