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

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

Разработчик

Ссылка класса IOUserClient

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

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

IOUserClient

Обеспечивает основание для коммуникации между клиентскими приложениями и объектами Набора I/O.

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


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

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


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

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


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

Objective C

@import Kernel;

Доступность


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

    C++

    virtual IOReturn exportObjectToClient( task_ttask, OSObject *obj, io_object_t *clientObj);

    Параметры

    task

    Задача.

    obj

    Объект мы хотим экспортировать в клиент.

    clientObj

    Возвращенное значение является именем порта клиента.

    Обсуждение

    Сделайте произвольное доступное OSObject клиентской задаче.

  • Выпустите mach_port_t ссылку, сохраненную в структуре OSAsyncReference64.

    Объявление

    C++

    static IOReturn releaseAsyncReference64( OSAsyncReference64reference);

    Параметры

    reference

    Ссылка передала подклассу IOAsyncMethod или externalMethod () в поле IOExternalMethodArguments.asyncReference.

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

    Код возврата.

    Обсуждение

    Структура OSAsyncReference64, переданная асинхронным методам, содержит ссылку на пробуждение порт Маха, который должен быть выпущен для балансирования каждого асинхронного вызова метода. Если эти вызовы правильно не сбалансированы, поведение не определено.

  • Выпустите mach_port_t, переданный registerNotificationPort ().

    Объявление

    C++

    static IOReturn releaseNotificationPort( mach_port_treference);

    Параметры

    reference

    mach_port_t параметр ранее передал реализации подкласса registerNotificationPort ().

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

    Код возврата.

    Обсуждение

    mach_port_t передал registerNotificationPort (), методы должны быть выпущены для балансирования каждого вызова к registerNotificationPort (). Если эти вызовы правильно не сбалансированы, поведение не определено.

  • Объявление

    C++

    IOMemoryMap * removeMappingForDescriptor( IOMemoryDescriptor *memory);

    Параметры

    memory

    Экземпляр дескриптора памяти, ранее возвращенный реализацией clientMemoryForType ().

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

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

    Обсуждение

    Удалите первое отображение, создаваемое из дескриптора памяти, возвращенного clientMemoryForType () из списка IOUserClient отображений. Если такое отображение существует, оно сохраняется, и ссылка, в настоящее время сохраненная IOUserClient, возвращается к вызывающей стороне.

  • Отправьте уведомление как с sendAsyncResult, но с конечной организацией очередей.

    Объявление

    C++

    static IOReturn sendAsyncResult64WithOptions( OSAsyncReference64 reference, IOReturn result, io_user_reference_t args[], UInt32 numArgs, IOOptionBits options);

    Обсуждение

    IOUserClient:: sendAsyncResult64 () будет infitely сообщения очереди, если клиент не обработает их своевременно. Этот вариант не будет для простой обработки ситуаций, где клиенты, как могут ожидать, прекратят обрабатывать сообщения.

Типы данных

  • Объявление

    C++

    struct ExpansionData { #if IOKITSTATS IOUserClientCounter *counter; #else void *iokitstatsReserved; #endif };

    Обсуждение

    Эта структура будет использоваться для расширения capablilties этого класса в будущем.

Переменные экземпляра

  • Зарезервированный для будущего использования. (Только внутреннее использование)

    Объявление

    C++

    ExpansionData * reserved;