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

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

Разработчик

Ссылка CMSimpleQueue

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

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

Ссылка CMSimpleQueue

Этот документ описывает API для создания и управления CMSimpleQueues.

CMSimpleQueues Базовые Основанные на основе объекты, реализующие простую незапертую очередь FIFO (недействительный *) элементы. Элементы, как предполагается, не являются указателями; они могли быть простыми числовыми значениями размера указателя (несмотря на то, что NULL или 0-ценные элементы не позволяются). Если элементы являются фактически указателями на выделенные буферы памяти, буферное пожизненное управление должно быть обработано внешне.

A CMSimpleQueue может безопасно обработать один поток постановки в очередь и один поток исключения из очереди. CMSimpleQueues являются незапертыми. Также, Ставит в очередь, и/или Двухсторонние очереди могут произойти на CoreAudio ioProc поток, где запрещается блокировка/блокирование. Текущий статус a CMSimpleQueue может быть опрошен. Клиенты могут получить текущее число элементов в очереди (GetCount) а также максимальная способность очереди (GetCapacity). Существует также макрос удобства (GetFullness) это использует те два APIs для вычислений Float32 между 0,0 и 1.0, представляя обилие очереди. CMSimpleQueues может быть сброшен. Это возвращает недавно создаваемое состояние без элементов в очереди (но с максимальной неизменной способностью).

Функции

  • Возвраты CFTypeID из CMSimpleQueue объекты.

    Объявление

    Swift

    func CMSimpleQueueGetTypeID() -> CFTypeID

    Objective C

    CFTypeID CMSimpleQueueGetTypeID ( void );

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

    CFTypeID из CMSimpleQueue объекты.

    Обсуждение

    Можно проверить если a CFTypeRef объектом является фактически CMSimpleQueue путем сравнения CFGetTypeID (объект) с CMSimpleQueueGetTypeID().

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

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Создает a CMSimpleQueue.

    Объявление

    Swift

    func CMSimpleQueueCreate(_ allocator: CFAllocator!, _ capacity: Int32, _ queueOut: UnsafeMutablePointer<Unmanaged<CMSimpleQueue>?>) -> OSStatus

    Objective C

    OSStatus CMSimpleQueueCreate ( CFAllocatorRef allocator, int32_t capacity, CMSimpleQueueRef *queueOut );

    Параметры

    allocator

    Средство выделения раньше выделяло хранение для очереди.

    capacity

    Способность очереди (максимальное количество элементов, holdable в любой момент времени). Требуемый (не должен быть 0). Должно быть положительное значение.

    queueOut

    На выводе, ссылке на недавно создаваемую очередь. Не должен быть NULL.

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

    Код результата. Посмотрите Коды Результата.

    Обсуждение

    По возврату вызывающей стороне принадлежит возвращенный CMSimpleQueue, и должен выпустить его, когда сделано с ним.

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

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Исключает элемент из очереди от очереди.

    Объявление

    Swift

    func CMSimpleQueueDequeue(_ queue: CMSimpleQueue!) -> UnsafePointer<Void>

    Objective C

    const void * CMSimpleQueueDequeue ( CMSimpleQueueRef queue );

    Параметры

    queue

    Очередь, от которой можно исключить элемент из очереди. Не должен быть NULL.

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

    Исключенный из очереди элемент. NULL если была некоторая другая ошибка, если очередь была пуста, или.

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

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает элемент во главе очереди.

    Объявление

    Swift

    func CMSimpleQueueGetHead(_ queue: CMSimpleQueue!) -> UnsafePointer<Void>

    Objective C

    const void * CMSimpleQueueGetHead ( CMSimpleQueueRef queue );

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

    Главный элемент. NULL если была некоторая другая ошибка, если очередь была пуста, или.

    Обсуждение

    Если очередь пуста, NULL будет возвращен.

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

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Сбрасывает очередь.

    Объявление

    Swift

    func CMSimpleQueueReset(_ queue: CMSimpleQueue!) -> OSStatus

    Objective C

    OSStatus CMSimpleQueueReset ( CMSimpleQueueRef queue );

    Параметры

    queue

    Очередь для сброса. Не должен быть NULL.

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

    Возвраты noErr если успешно выполняется вызов.

    Обсуждение

    Эта функция сбрасывает очередь к своему пустому состоянию; все значения в очереди до сброса потеряны. Обратите внимание на то, что CMSimpleQueueReset не синхронизируется всегда, таким образом, поток читателя и поток писателя должны быть удержаны клиентом во время этой работы.

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

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает число элементов, которое может быть сохранено в очереди.

    Объявление

    Swift

    func CMSimpleQueueGetCapacity(_ queue: CMSimpleQueue!) -> Int32

    Objective C

    int32_t CMSimpleQueueGetCapacity ( CMSimpleQueueRef queue );

    Параметры

    queue

    Опрашиваемая очередь. Не должен быть NULL.

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

    Число элементов, которое может быть сохранено в очереди. Возвраты 0, если существует ошибка.

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

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • В настоящее время возвращает число элементов на очереди.

    Объявление

    Swift

    func CMSimpleQueueGetCount(_ queue: CMSimpleQueue!) -> Int32

    Objective C

    int32_t CMSimpleQueueGetCount ( CMSimpleQueueRef queue );

    Параметры

    queue

    Опрашиваемая очередь. Не должен быть NULL.

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

    Число элементов в настоящее время в очереди. Возвраты 0, если существует ошибка.

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

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Макрос удобства, возвращающий GetCount/GetCapacity, вычисленный в плавающей точке.

    Объявление

    Objective C

    #define CMSimpleQueueGetFullness(queue)

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

    • Возвраты 0.0, если очередь пуста

    • Возвраты 0.5, если очередь наполовину полна

    • Возвраты 1.0, если очередь полна.

    • Возвраты 0.0, если существует ошибка (например, если очередь NULL).

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

    Objective C

    @import CoreMedia;

    Доступность

    Доступный в OS X v10.7 и позже.

Типы данных

  • Ссылка на a CMSimpleQueue, Базовая Основа возражает, что реализует простую незапертую очередь (недействительный *) элементы.

    Объявление

    Swift

    typealias CMSimpleQueueRef = CMSimpleQueue

    Objective C

    typedef struct opaqueCMSimpleQueue *CMSimpleQueueRef;

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

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

Коды результата

Эта таблица приводит коды результата, определенные для CMSimpleQueue APIs.

Код результата

Значение

Описание

noErr

0

Никакая ошибка.

kCMSimpleQueueError_AllocationFailed

- 12770

Указывает отказавшее выделение.

kCMSimpleQueueError_RequiredParameterMissing

- 12771

Указывает a NULL или 0 был передан для обязательного параметра.

kCMSimpleQueueError_ParameterOutOfRange

- 12772

Указывает, что значение из диапазона было передано для параметра с ограниченным допустимым диапазоном.

kCMSimpleQueueError_QueueIsFull

- 12773

Указывает работу, отказавшую, потому что очередь была полна.