IOFireWireLibVectorCommandInterface
Объект команды IOFireWireLib для группировки выполнения команд.
Читайте и команды Write могут быть присоединены чтобы к векторной команде. Когда векторная команда представлена, все команды отправляются в ядро для выполнения. Когда все команды в векторной команде завершены, завершение векторной команды вызывают. Преимущество перед представлением и completeing, которым каждая команда одновременно состоит в том, что только один переход ядра будет использоваться для представления и один для завершения, независимо от числа команд в векторе.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый не применимый
-
Добавляет команда к векторной команде.
Объявление
C++
void ( *AddCommand)(
IOFireWireLibVectorCommandRef self,
IOFireWireLibCommandRef command);
Параметры
self
Ссылка на векторный объект команды
command
Ссылка на команду для добавления
Возвращаемое значение
IOReturn заканчивается код
-
Определяет номер команд, которые может содержать этот вектор.
Объявление
C++
IOReturn ( *EnsureCapacity)(
IOFireWireLibVectorCommandRef self,
UInt32 capacity);
Параметры
self
Ссылка на векторный объект команды
capacity
Число команд эта векторная команда должно ожидать содержать
Возвращаемое значение
IOReturn заканчивается код
Обсуждение
Вектор может расти динамично, но для производительности обосновывает, что разработчики могут хотеть хранение, предварительно выделенное для определенного числа команд
-
Возвращает команду в данном индексе.
Объявление
C++
IOFireWireLibCommandRef ( *GetCommandAtIndex)(
IOFireWireLibVectorCommandRef self,
UInt32 index);
Параметры
self
Ссылка на векторный объект команды
index
Индекс для возврата команды из
Возвращаемое значение
IOFireWireLibCommandRef в указанном индексе по возврату
Обсуждение
Возвраты kIOReturnBadArgument, если индекс выходит за пределы.
-
Возвращает число команд в настоящее время в этом векторе.
Объявление
C++
UInt32 ( *GetCommandCount)(
IOFireWireLibVectorCommandRef self);
Параметры
self
Ссылка на векторный объект команды
Возвращаемое значение
UInt32 число команд в этом векторе
-
Установите флаги в настоящее время для этой команды.
Объявление
C++
UInt32 ( *GetFlags)(
IOFireWireLibVectorCommandRef self);
Параметры
self
Ссылка на векторный объект команды
Возвращаемое значение
Флаги установлены в SetFlags
-
Возвращает индекс указанной команды.
Объявление
C++
UInt32 ( *GetIndexOfCommand)(
IOFireWireLibVectorCommandRef self,
IOFireWireLibCommandRef command);
Параметры
self
Ссылка на векторный объект команды
command
Рассматриваемая команда
Возвращаемое значение
Индекс указанной команды
Обсуждение
Возвраты kIOReturnNotFound, если команда не существует в этом векторе.
-
Получите ссылочную константу для этой команды.
Объявление
C++
void * ( *GetRefCon)(
IOFireWireLibVectorCommandRef self);
Параметры
self
Ссылка на векторный объект команды
Возвращаемое значение
Ссылочное содержание установлено в SetRefCon
-
Вставляет команду в данном индексе. Команды в и после этого индекса будут перемещены в их следующий последовательный индекс.
Объявление
C++
void ( *InsertCommandAtIndex)(
IOFireWireLibVectorCommandRef self,
IOFireWireLibCommandRef command,
UInt32 index);
Параметры
self
Ссылка на векторный объект команды
command
Ссылка на команду, которая будет вставлена
index
Индекс для вставки команды в.
-
Проверки, если в настоящее время выполняется векторная команда.
Объявление
C++
Boolean ( *IsExecuting)(
IOFireWireLibVectorCommandRef self);
Параметры
self
Ссылка на векторный объект команды
Возвращаемое значение
Истина, если команда выполняется, ложь иначе
-
Удаляет все команды из вектора.
Объявление
C++
void ( *RemoveAllCommands)(
IOFireWireLibVectorCommandRef self);
Параметры
self
Ссылка на векторный объект команды
-
Удаляет команду к векторной команде.
Объявление
C++
void ( *RemoveCommand)(
IOFireWireLibVectorCommandRef self,
IOFireWireLibCommandRef command);
Параметры
self
Ссылка на векторный объект команды
command
Ссылка на команду, которая будет удалена
Возвращаемое значение
IOReturn заканчивается код
-
Удаляет команду в дать индексе. Команды в и afte этот индекс будут перемещены в их предыдущий последовательный индекс.
Объявление
C++
void ( *RemoveCommandAtIndex)(
IOFireWireLibVectorCommandRef self,
UInt32 index);
Параметры
self
Ссылка на векторный объект команды
index
Будет установлен в индекс указанной команды.
Обсуждение
Возвраты kIOReturnBadArgument, если индекс выходит за пределы.
-
Установите подпрограмму обратного вызова для этой команды.
Объявление
C++
void ( *SetCallback)(
IOFireWireLibVectorCommandRef self,
IOFireWireLibCommandCallback inCallback);
Параметры
self
Ссылка на векторный объект команды
inCallback
Функция обратного вызова, которую вызовут после завершения команды.
Возвращаемое значение
недействительный
-
Флаги набора, управляющие выполнением этой команды.
Объявление
C++
void ( *SetFlags)(
IOFireWireLibVectorCommandRef self,
UInt32 inFlags);
Параметры
self
Ссылка на векторный объект команды
inFlags
UInt32 с набором битов, соответствующим флагам, которые должны быть установлены для этого объекта команды. Следующие значения могут использоваться:
kFWCommandNoFlags - все флаги прочь
kFWCommandInterfaceSyncExecute - Установка этого флага заставляет объект команды выполняться синхронно. Контекст вызова блокирует, пока объект команды не завершил выполнение, или ошибка происходит. Используя синхронное выполнение может избежать переходов ядра, связанных с асинхронным завершением, и часто устранять необходимость конечного автомата.
kFWVectorCommandInterfaceOrdered - Обычно все команды в векторе выполняются одновременно. Установка этого флага диспетчеризирует команду только после того, как завершится предшествующая команда.
Возвращаемое значение
недействительный
-
Установите ссылочную константу для этой команды.
Объявление
C++
void ( *SetRefCon)(
IOFireWireLibVectorCommandRef self,
void *refCon);
Параметры
self
Ссылка на векторный объект команды
refCon
Ссылочная константа для стороннего использования.
Возвращаемое значение
недействительный
-
Представьте этот объект команды FireWire для выполнения.
Объявление
C++
IOReturn ( *Submit)(
IOFireWireLibVectorCommandRef self);
Параметры
self
Ссылка на векторный объект команды
Возвращаемое значение
IOReturn заканчивается код
-
Подчинитесь (IOFireWireLibVectorCommandRef, недействительный *, IOFireWireLibCommandCallback) - Подчинитесь (IOFireWireLibVectorCommandRef, недействительный *, IOFireWireLibCommandCallback)
Представьте этот объект команды FireWire для выполнения.
Объявление
C++
IOReturn ( *SubmitWithRefconAndCallback)(
IOFireWireLibVectorCommandRef self,
void *refCon,
IOFireWireLibCommandCallback inCallback);
Параметры
self
Ссылка на векторный объект команды
refCon
Ссылочная константа для стороннего использования. Это - тот же набор refcon с SetRefCon и полученный с GetRefCon.
inCallback
Функция обратного вызова, которую вызовут после завершения команды.
Возвращаемое значение
IOReturn заканчивается код
Обсуждение
convienence метод, чтобы установить обратный вызов и refcon и затем подчиниться.
-
Представьте этот объект команды FireWire для выполнения.
Объявление
C++
IOReturn ( *SubmitWithRefconAndCallback)(
IOFireWireLibVectorCommandRef self,
void *refCon,
IOFireWireLibCommandCallback inCallback);
Параметры
self
Ссылка на векторный объект команды
refCon
Ссылочная константа для стороннего использования. Это - тот же набор refcon с SetRefCon и полученный с GetRefCon.
inCallback
Функция обратного вызова, которую вызовут после завершения команды.
Возвращаемое значение
IOReturn заканчивается код
Обсуждение
convienence метод, чтобы установить обратный вызов и refcon и затем подчиниться.