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

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

Разработчик

Ссылка IODataQueueClient.h

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

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

Ссылка IODataQueueClient.h

Включенные заголовки

  • <sys/cdefs.h>

  • <AvailabilityMacros.h>

  • <libkern/OSTypes.h>

  • <mach/port.h>

  • <IOKit/IOReturn.h>

  • <IOKit/IODataQueueShared.h>

Функции

  • Выделяет и возвращает новый порт Маха, который в состоянии получить уведомления доступных данных от IODataQueue.

    Объявление

    Swift

    func IODataQueueAllocateNotificationPort() -> mach_port_t

    Objective C

    mach_port_t IODataQueueAllocateNotificationPort ( void );

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

    Возвращает недавно выделенный порт Маха на успехе. При отказе это возвращает MACH_PORT_NULL.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Используемый, чтобы определить, avilable ли больше данных на очереди.

    Объявление

    Swift

    func IODataQueueDataAvailable(_ dataQueue: UnsafeMutablePointer<IODataQueueMemory>) -> Boolean

    Objective C

    Boolean IODataQueueDataAvailable ( IODataQueueMemory *dataQueue );

    Параметры

    dataQueue

    Область IODataQueueMemory отобразилась от конуры.

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

    Если данные являются доступными и ложными если нет, возвращает true.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Исключает следующую доступную запись из очереди на очереди и копирует его в указатель определенных данных.

    Объявление

    Swift

    func IODataQueueDequeue(_ dataQueue: UnsafeMutablePointer<IODataQueueMemory>, _ data: UnsafeMutablePointer<Void>, _ dataSize: UnsafeMutablePointer<UInt32>) -> IOReturn

    Objective C

    IOReturn IODataQueueDequeue ( IODataQueueMemory *dataQueue, void *data, uint32_t *dataSize );

    Параметры

    dataQueue

    Область IODataQueueMemory отобразилась от ядра.

    data

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

    dataSize

    Указатель на размер параметра данных. Даже если первоначальный размер не был достаточно большим, по возврату это содержит размер фактических данных записи-.

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

    Возвраты kIOReturnSuccess на успехе. Другие возможные возвращаемые значения: kIOReturnUnderrun - очередь пуста, kIOReturnBadArgument - никакой dataQueue или никакой размер данных, kIOReturnNoSpace - размер данных является слишком небольшим для записи.

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Ставит в очередь новую запись на очереди.

    Объявление

    Swift

    func IODataQueueEnqueue(_ dataQueue: UnsafeMutablePointer<IODataQueueMemory>, _ data: UnsafeMutablePointer<Void>, _ dataSize: UInt32) -> IOReturn

    Objective C

    IOReturn IODataQueueEnqueue ( IODataQueueMemory *dataQueue, void *data, uint32_t dataSize );

    Параметры

    dataQueue

    Область IODataQueueMemory отобразилась от ядра, создаваемого из IOSharedDataQueue.

    data

    Указатель на данные, которые будут добавлены к очереди.

    dataSize

    На размер данных указывают данные.

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

    Возвраты kIOReturnSuccess на успехе. Другие возможные возвращаемые значения: kIOReturnOverrun - очередь полна.

    Обсуждение

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

    Если очередь будет пуста, когда новая запись будет добавлена, то порт, указанный в IODataQueueSetNotificationPort, будет использоваться для отправки сообщения в клиентский процесс, что данные теперь доступны.

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Используемый для заглядывания на следующую запись на очереди.

    Объявление

    Swift

    func IODataQueuePeek(_ dataQueue: UnsafeMutablePointer<IODataQueueMemory>) -> UnsafeMutablePointer<IODataQueueEntry>

    Objective C

    IODataQueueEntry * IODataQueuePeek ( IODataQueueMemory *dataQueue );

    Параметры

    dataQueue

    Область IODataQueueMemory отобразилась от ядра.

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

    Возвращает указатель на следующий IODataQueueEntry, если Вы доступны. Если очередь пуста, нуль возвращается.

    Обсуждение

    Эта функция может использоваться для рассмотрения следующей записи, позволяющей записи быть полученной, не имея необходимость копировать ее с IODataQueueDequeue. Чтобы сделать это, вызовите IODataQueuePeek для получения записи. Тогда вызовите IODataQueueDequeue с указателем данных NULL. Это заставит голову быть перемещенной в следующую запись, но никакую память, которая будет скопирована.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Создает простое сообщение Маха, предназначающееся для порта Маха, указанного в порту.

    Объявление

    Swift

    func IODataQueueSetNotificationPort(_ dataQueue: UnsafeMutablePointer<IODataQueueMemory>, _ notifyPort: mach_port_t) -> IOReturn

    Objective C

    IOReturn IODataQueueSetNotificationPort ( IODataQueueMemory *dataQueue, mach_port_t notifyPort );

    Параметры

    dataQueue

    Область IODataQueueMemory отобразилась от ядра, создаваемого из IOSharedDataQueue.

    notifyPort

    Порт Маха для предназначения с уведомлением.

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

    Возвраты kIOReturnSuccess на успехе. Возвраты kIOReturnBadArgument, если любой dataQueue 0 (NULL).

    Обсуждение

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

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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

  • Ожидайте поступления dataAvailable сообщение на данном notifyPort.

    Объявление

    Swift

    func IODataQueueWaitForAvailableData(_ dataQueue: UnsafeMutablePointer<IODataQueueMemory>, _ notifyPort: mach_port_t) -> IOReturn

    Objective C

    IOReturn IODataQueueWaitForAvailableData ( IODataQueueMemory *dataQueue, mach_port_t notificationPort );

    Параметры

    dataQueue

    Область IODataQueueMemory отобразилась от ядра.

    notifyPort

    Порт Маха, на котором можно прислушаться к входящим сообщениям.

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

    Возвраты kIOReturnSuccess на успехе. Возвраты kIOReturnBadArgument, если или dataQueue 0 (NULL) или notiryPort, являются MACH_PORT_NULL. Возвращается результат mach_msg () слушают, обращаются к данному порту.

    Обсуждение

    Этот метод будет просто ожидать входящего сообщения на данном notifyPort. Как только это получено, возврат из mach_msg () возвращается.

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

    Objective C

    @import IOKit;

    Swift

    import IOKit

    Доступность

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