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

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

Разработчик

Ссылка класса IOFilterScheme

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

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

IOFilterScheme

Общий базовый класс для всех объектов схемы фильтра.

Класс IOFilterScheme является общим базовым классом для всех объектов схемы фильтра. Это расширяет класс IOStorage путем реализации надлежащей открытой и близкой семантики для объектов фильтра (стандартная семантика действие, когда реле для поступления открывается, производя одно исходящее открытое для каждого входящего открытого). Это также реализует чтение по умолчанию и семантику записи, передающие все чтения и записи через к необработанным носителям провайдера. Для простых схем поведение по умолчанию достаточно. Более сложные схемы фильтра, такие как RAID захотят сделать дополнительную обработку для чтений и записей.

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


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

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


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

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


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

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.6 и позже.
  • Объявление

    C++

    virtual IOStorage * copyPhysicalExtent( IOService *client, UInt64 *byteStart, UInt64 *byteCount);

    Параметры

    client

    Клиент, запрашивающий работу.

    byteStart

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

    byteCount

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

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

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

    Обсуждение

    Преобразуйте указанное байтовое смещение в физическое байтовое смещение относительно физического объекта хранения. Этот вызов должен только быть выполнен в контексте lockPhysicalExtents ().

  • Объявление

    C++

    virtual void handleClose( IOService *client, IOOptionBitsoptions);

    Параметры

    client

    Клиент, запрашивающий завершение.

    options

    Опции для завершения. Обнулить.

    Обсуждение

    handleClose метод закрывает доступ клиента к этому объекту.

    Эта реализация заменяет определение IOService handleClose ().

  • Объявление

    C++

    virtual bool handleIsOpen( const IOService *client) const;

    Параметры

    client

    Клиент для проверки открытого состояния. Обнуленный для проверки открытого состояния всех клиентов.

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

    Возвращает true, если клиент был (или клиенты были), открытый, ложный иначе.

    Обсуждение

    handleIsOpen метод определяет, есть ли у указанного клиента или какого-либо клиента, если ни один не указан, в настоящее время открытое на этом объекте.

    Эта реализация заменяет определение IOService handleIsOpen ().

  • Объявление

    C++

    virtual bool handleOpen( IOService *client, IOOptionBitsoptions, void *access);

    Параметры

    client

    Клиент, запрашивающий открытое.

    options

    Опции для открытого. Обнулить.

    access

    Уровень доступа для открытого. Набор к kIOStorageAccessReader или kIOStorageAccessReaderWriter.

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

    Если открытое было успешным, ложным иначе, возвращает true.

    Обсуждение

    handleOpen метод предоставляет или отклоняет разрешение получить доступ к этому объекту заинтересованному клиенту. Параметром является значение IOStorageAccess, указывающее уровень желаемого доступа - читатель или читатель-писатель.

    Этот метод может быть вызван, чтобы обновить или понизить уровень доступа для существующего клиента также. Предыдущий уровень доступа будет преобладать для обновлений тот сбой, конечно. Снижение никогда не должно перестать работать. Если новый уровень доступа должен совпасть со старым для данного клиента, этот метод ничего не сделает и возвратит успех. Во всех случаях, один, исключительное завершение на клиент ожидается для всех, открывается на клиент полученный.

    Эта реализация заменяет определение IOService handleOpen ().

  • Объявление

    C++

    virtual bool lockPhysicalExtents( IOService *client);

    Параметры

    client

    Клиент, запрашивающий работу.

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

    Если блокировка была успешной, ложной иначе, возвращает true.

    Обсуждение

    Заблокируйте содержание объекта хранения против перемещения временно, в целях получения физических степеней.

  • Объявление

    C++

    virtual void read( IOService *client, UInt64byteStart, IOMemoryDescriptor *buffer, IOStorageAttributes *attributes, IOStorageCompletion *completion);

    Параметры

    client

    Клиент, запрашивающий чтение.

    byteStart

    Запуск байтового смещения для передачи данных.

    buffer

    Буфер для передачи данных. Размер буфера подразумевает размер передачи данных.

    attributes

    Атрибуты передачи данных. Посмотрите IOStorageAttributes. Это - ответственность вызываемого поддержать информацию на время передачи данных по мере необходимости.

    completion

    Подпрограмма завершения для вызова один раз передача данных завершена. Это - ответственность вызываемого поддержать информацию на время передачи данных по мере необходимости.

    Обсуждение

    Считайте данные из объекта хранения при указанном байтовом смещении в указанный буфер, асинхронно. Когда чтение завершится, вызывающая сторона будет уведомлена через указанное действие завершения.

    Буфер будет сохранен на время чтения.

    Для простых схем фильтра поведение по умолчанию состоит в том, чтобы просто передать чтение через носителям провайдера. Более сложные схемы фильтра, такие как RAID должны будут сделать дополнительную обработку здесь.

  • Объявление

    C++

    virtual IOReturn synchronizeCache( IOService *client);

    Параметры

    client

    Клиент, запрашивающий синхронизацию кэша.

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

    Возвращает состояние синхронизации кэша.

    Обсуждение

    Сбросьте кэшированные данные в объекте хранения, если таковые имеются, синхронно.

  • Объявление

    C++

    virtual void unlockPhysicalExtents( IOService *client);

    Параметры

    client

    Клиент, запрашивающий работу.

    Обсуждение

    Разблокируйте содержание объекта хранения для перемещения снова. Этот вызов должен сбалансировать успешный вызов к lockPhysicalExtents ().

  • Объявление

    C++

    virtual IOReturn unmap( IOService *client, IOStorageExtent *extents, UInt32extentsCount, UInt32 options = 0);

    Параметры

    client

    Клиент, запрашивающий работу.

    extents

    Список степеней. Посмотрите IOStorageExtent. Законно для вызываемого перезаписать содержание этого буфера для удовлетворения запроса.

    extentsCount

    Число степеней.

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

    Возвращает состояние работы.

    Обсуждение

    Удалите неиспользованные данные из объекта хранения при указанных байтовых смещениях, синхронно.

  • Объявление

    C++

    virtual void write( IOService *client, UInt64byteStart, IOMemoryDescriptor *buffer, IOStorageAttributes *attributes, IOStorageCompletion *completion);

    Параметры

    client

    Клиент, запрашивающий запись.

    byteStart

    Запуск байтового смещения для передачи данных.

    buffer

    Буфер для передачи данных. Размер буфера подразумевает размер передачи данных.

    attributes

    Атрибуты передачи данных. Посмотрите IOStorageAttributes. Это - ответственность вызываемого поддержать информацию на время передачи данных по мере необходимости.

    completion

    Подпрограмма завершения для вызова один раз передача данных завершена. Это - ответственность вызываемого поддержать информацию на время передачи данных по мере необходимости.

    Обсуждение

    Запишите данные в объект хранения при указанном байтовом смещении от указанного буфера, асинхронно. Когда запись завершится, вызывающая сторона будет уведомлена через указанное действие завершения.

    Буфер будет сохранен на время записи.

    Для простых схем фильтра поведение по умолчанию состоит в том, чтобы просто передать запись через носителям провайдера. Более сложные схемы фильтра, такие как RAID должны будут сделать дополнительную обработку здесь.