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

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

Разработчик

Ссылка класса IOCommandPool

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

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

IOCommandPool

Управляет пулом команд, наследовавшихся от IOCommand.

Класс IOCommandPool используется для управления пулом команд, наследовавшихся от IOCommand. Это включает метод фабрики создать пул определенного размера. Как только метод фабрики вызывается, семафор обнуляется. Вызывающая сторона должна тогда поместить команды в пул путем создания команды (через метод фабрики контроллера или выделение памяти) и вызова returnCommand метода с недавно создаваемой командой как ее параметр.

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


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

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


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

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


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

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.6 и позже.
  • Никогда не должен использоваться, не устаревший. Посмотрите IOCommandPool:: withWorkLoop.

    Объявление

    C++

    static IOCommandPool *commandPool( IOService *inOwner, IOWorkLoop *inWorkLoop, UInt32 inSize = kIOCommandPoolDefaultSize);

  • Объявление

    C++

    virtual IOReturn gatedGetCommand( IOCommand **vCommand, boolvBlock);

    Параметры

    vCommand

    Указатель на указатель на IOCommand возражает, где будет сохранена возвращенная команда.

    vBlock

    bool, указывающий, блокировать ли запрос до команды, становится доступным.

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

    Возвраты kIOReturnNoResources, если никакая команда не доступна и клиент, не хотят блокировать, пока каждый действительно не становится доступным. kIOReturnSuccess, если vCommand параметр допустим.

    Обсуждение

    gatedGetCommand метод используется для сериализации экстракции команды от пула позади логического элемента команды, runAction-редактора getCommand.

  • Объявление

    C++

    virtual IOReturn gatedReturnCommand( IOCommand *vCommand);

    Параметры

    vCommand

    Указатель на IOCommand возражает, чтобы быть возвращенным к пулу.

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

    Всегда возвраты kIOReturnSuccess, если vCommand параметр допустим.

    Обсуждение

    gatedReturnCommand метод используется для сериализации возврата команды к пулу позади логического элемента команды, runAction-редактора returnCommand.

  • Объявление

    C++

    virtual IOCommand *getCommand( bool blockForCommand = true);

    Параметры

    blockForCommand

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

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

    Если вызывающая сторона передаст истину в blockForCommand, то getCommand гарантирует, что результатом будет указатель на объект IOCommand от пула. Если вызывающая сторона передает ложь, он или она ответственен за проверку, был ли возвращен ненулевой указатель.

    Обсуждение

    getCommand метод используется для получения указателя на объект типа IOCommand от пула.

  • Никогда не должен использоваться, не устаревший. См. initWithWorkLoop.

    Объявление

    C++

    virtual bool init( IOService *inOwner, IOWorkLoop *inWorkLoop, UInt32 inSize = kIOCommandPoolDefaultSize);

  • Основной инициализатор для объекта IOCommandPool.

    Объявление

    C++

    virtual bool initWithWorkLoop( IOWorkLoop *inWorkLoop);

    Параметры

    inWorkLoop

    workloop, с которым должен синхронизироваться этот пул команды.

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

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

    Обсуждение

    Основной инициализатор для IOCommandPool. Должен, вероятно, использовать IOCommandPool:: withWorkLoop (), поскольку проще использовать.

  • Объявление

    C++

    virtual void returnCommand( IOCommand *commmand);

    Параметры

    commmand

    Команда для размещения в пуле.

    Обсуждение

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

  • Никогда не должен использоваться, не устаревший. Посмотрите IOCommandPool:: withWorkLoop.

    Объявление

    C++

    static IOCommandPool *commandPool( IOService *inOwner, IOWorkLoop *inWorkLoop, UInt32 inSize = kIOCommandPoolDefaultSize);

  • Основной метод фабрики для класса IOCommandPool

    Объявление

    C++

    static IOCommandPool *withWorkLoop( IOWorkLoop *inWorkLoop);

    Параметры

    inWorkLoop

    workloop, с которым должен синхронизироваться этот пул команды.

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

    Возвращает указатель на экземпляр IOCommandPool в случае успеха, иначе NULL.

    Обсуждение

    withWorkLoop метод - то, что известно как метод фабрики. Это создает новый экземпляр IOCommandPool и возвращает указатель на тот объект.

Константы

  • kIOCommandPoolDefaultSize

    kIOCommandPoolDefaultSize

    Размер по умолчанию любого пула команды.

    kIOCommandPoolDefaultSize является размером по умолчанию любого пула команды. Размер по умолчанию был полон решимости быть самым маленьким размером, для которого целесообразен пул.

  • Типы данных

    • Объявление

      C++

      struct ExpansionData { };

      Обсуждение

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

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

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

      Объявление

      C++

      ExpansionData *reserved;