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

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

Разработчик

Ссылка класса IOFireWireSBP2LibLUNInterface

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

На этой странице

IOFireWireSBP2LibLUNInterface

Начальный интерфейс disovered для всех драйверов.

IOFireWireSBP2LibLUNInterface является начальным интерфейсом, обнаруженным большинством драйверов. Это предоставляет методы, управляющие работой ЛУНА в целом. Методы, управляющие поведением и выполнением сеанса входа в систему SBP2, предоставляются в отдельном объекте IOFireWireSBP2LibLoginInterface. ЛУН может использоваться для создания одного из этих объектов входа в систему. ЛУН может также создать IOFireWireSBP2LibManagementORBInterfaces для конфигурирования, и добавление невхода в систему связало функции управления. Вход в систему связал функции управления (т.е. Вход в систему, Выход из системы, Переподключение) предоставляются IOFireWireSBP2LibLoginInterface. Наконец ЛУН может предоставить ссылку на IOFireWireUnit. Если драйвер хочет получить доступ к стандартному FireWire APIs, это может быть полезно.

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


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

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


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

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


Не применимый не применимый
  • Добавляет диспетчер для обратных вызовов ядра к указанному runloop.

    Объявление

    C++

    IOReturn ( *addCallbackDispatcherToRunLoop)( void *self, CFRunLoopRef cfRunLoopRef );

    Параметры

    self

    Указатель на IOFireWireSBP2LibLUNInterface.

    cfRunLoopRef

    Ссылка на runloop

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

    Возвраты kIOReturnSuccess на успехе.

    Обсуждение

    Части пространства пользователя SBP2 api связываются со службами в ядре путем обмена сообщениями ядра. Точно так же ядро передает службы пространства пользователя в ответ. Эти ответы должны быть взяты частью кода. Этот вызов добавляет что код к указанному runloop. Большинство драйверов вызовет этот метод на runloop, создававшемся, когда создавалась Ваша задача. Для предотвращения мертвой блокировки, необходимо избежать спать (или ожидание вращения) runloop для ожидания ответа SBP2. Если Вы сделаете это, то диспетчер никогда не будет добираться для выполнения, и Вы будете ожидать навсегда.

  • Открывает соединение с устройством, которое не уже открыто.

    Объявление

    C++

    void ( *close)( void *self );

    Параметры

    self

    Указатель на IOFireWireSBP2LibLUNInterface.

    Обсуждение

    Закрывает эксклюзивный доступ к устройству. Когда устройство закрывается, оно может быть разгружено ядром. Если это будет разгружено и затем позже вновь появится, то это будет представлено различным объектом. Вы не будете в состоянии использовать этот пользовательский клиент на новом объекте. Новый объект должен будет искаться в IORegistry, и новый пользовательский клиент должен будет быть открыт на нем.

  • Создает новый объект IOFireWireSBP2LibLoginInterface.

    Объявление

    C++

    IUnknownVTbl** ( *createLogin)( void *self, REFIID iid );

    Параметры

    self

    Указатель на IOFireWireSBP2LibLUNInterface.

    iid

    UUID для желаемого типа IOFireWireSBP2LibLoginInterface.

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

    Возвращает указатель на новый IOFireWireSBP2LibLoginInterface.

    Обсуждение

    Создает новый объект IOFireWireSBP2LibLoginInterface для ЛУНА. Объекты входа в систему предоставляют большую часть SBP2 APIs, связанного с обслуживанием входа в систему и Нормальной Командой выполнение ORB.

  • Создает новый объект IOFireWireSBP2LibMgmntORBInterface.

    Объявление

    C++

    IUnknownVTbl** ( *createMgmtORB)( void *self, REFIID iid );

    Параметры

    self

    Указатель на IOFireWireSBP2LibLUNInterface.

    iid

    UUID для желаемого типа IOFireWireSBP2LibMgmtORBInterface.

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

    Возвращает указатель на новый IOFireWireSBP2Login.

    Обсуждение

    Создает новый объект IOFireWireSBP2LibMgmtORBInterface. Объекты управления позволяют Вам выполнить команды как QueryLogins, LogicalUnitReset и AbortTask. Эти команды сконфигурированы после того, как они будут создаваться здесь. Когда они будут сделаны, выполняясь (после того, как вызов для представления), предоставленную подпрограмму завершения вызовут с предоставленным refcon. Обычно этот refCon является «этим» указателем объекта метода завершения.

  • Возвращает набор refCon с setRefCon.

    Объявление

    C++

    void * ( *getRefCon)( void *self);

    Параметры

    self

    Указатель на IOFireWireSBP2LibLUNInterface.

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

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

    Обсуждение

    Возвращает определяемое пользователем значение, ранее сохраненное в ORB setRefCon.

  • Возвращает ссылку сеанса на уже открытое устройство.

    Объявление

    C++

    IOFireWireSessionRef ( *getSessionRef)( void *self);

    Параметры

    self

    Указатель на IOFireWireSBP2LibLUNInterface.

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

    Возвращает sessionRef на успехе.

    Обсуждение

    Иногда желательно открыть многопользовательские клиенты на устройстве. В случае FireWire иногда мы хотим иметь и Пользовательский Клиент FireWire и Пользовательский Клиент SBP2, открытый одновременно.

    Метод для решения в арбитражном порядке этого следующие:

    Сначала открывайте обычно устройство дальше всего от корня в IORegistry.

    Во-вторых, получите его sessionRef с вызовом к этому методу.

    Треть открывает устройство далее, цепочка путем вызова openWithSessionRef и передачи sessionRef возвратилась из этого вызова.

  • Исключительно открывает соединение с устройством в ядре.

    Объявление

    C++

    IOReturn ( *open)( void *self );

    Параметры

    self

    Указатель на IOFireWireSBP2LibLUNInterface.

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

    Возвраты kIOReturnSuccess на успехе.

    Обсуждение

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

  • Открывает соединение с устройством, которое уже открыто.

    Объявление

    C++

    IOReturn ( *openWithSessionRef)( void *self, IOFireWireSessionRef sessionRef );

    Параметры

    sessionRef

    SessionRef возвратился из вызова getSessionRef.

    self

    Указатель на IOFireWireSBP2LibLUNInterface.

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

    Возвраты kIOReturnSuccess на успехе.

    Обсуждение

    Иногда желательно открыть многопользовательские клиенты на устройстве. В случае FireWire иногда мы хотим иметь и Пользовательский Клиент FireWire и Пользовательский Клиент SBP2, открытый одновременно.

    Метод для решения в арбитражном порядке этого следующие:

    Сначала открывайте обычно устройство дальше всего от корня в IORegistry.

    Во-вторых, получите его sessionRef с вызовом getSessionRef.

    Треть открывает устройство далее, цепочка путем вызова этого метода и передачи sessionRef возвратилась из вызова на шаге 2.

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

    Объявление

    C++

    void ( *removeCallbackDispatcherFromRunLoop)( void *self );

    Параметры

    self

    Указатель на IOFireWireSBP2LibLUNInterface.

    Обсуждение

    Отменяет работу addCallbackDispatcherToRunLoop.

  • Обратный вызов набора для пространства пользователя передает подпрограмму.

    Объявление

    C++

    void ( *setMessageCallback)( void *self, void *refCon, IOFWSBP2MessageCallback callback);

    Параметры

    self

    Указатель на IOFireWireSBP2LibLUNInterface.

    refCon

    RefCon, который будет возвращен как первый параметр подпрограммы завершения

    callback

    Адрес подпрограммы завершения.

    Обсуждение

    В FireWire & SBP2 сообщения о состоянии шины поставлены через подпрограмму сообщения IOKIT. Эта подпрограмма эмулирована в пространстве пользователя для сообщений SBP2 & FireWire через этот обратный вызов. Необходимо зарегистрироваться здесь для сброса шины и сообщений переподключения.

  • Устанавливает ORB refCon.

    Объявление

    C++

    void ( *setRefCon)( void *self, void *refCon );

    Параметры

    self

    Указатель на IOFireWireSBP2LibLUNInterface.

    refCon

    определяемое пользователем значение.

    Обсуждение

    Устанавливает определяемое пользователем значение на ORB, который может быть получен позже с методом getRefCon.