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Ссылка на векторный объект команды
inFlagsUInt32 с набором битов, соответствующим флагам, которые должны быть установлены для этого объекта команды. Следующие значения могут использоваться:
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 и затем подчиниться.
