IOFireWireCommandInterface
Объект команды IOFireWireLib.
Представляет объект, сконфигурированный и представленный для выдачи синхронных и асинхронных команд шины. Это - суперкласс, содержащий всю функциональность объекта команды, не определенную для любого вида транзакции шины.
Обратите внимание на то, что данные не могут всегда передаваться или от буфера данных для объектов команды в то время, когда представлена команда. В некоторых случаях передача может произойти, как только вызывают SetBuffer () (ниже, v2 интерфейсы и более новый). Можно использовать SetFlags () вызов (ниже, v2 интерфейсы и более новый) для управления этим поведением.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый не применимый
-
Выполнение команды отмены
Объявление
C++
IOReturn ( *Cancel)(
IOFireWireLibCommandRef self,
IOReturn reason);
Параметры
self
Интерфейс объекта команды интереса
Возвращаемое значение
IOReturn заканчивается код
Обсуждение
Доступность: (для интерфейсов, полученных с ID)
kIOFireWireAsyncStreamCommandInterfaceID
ДА kIOFireWireCompareSwapCommandInterfaceID
ДА kIOFireWireWriteQuadletCommandInterfaceID
ДА kIOFireWireReadQuadletCommandInterfaceID
ДА kIOFireWireWriteCommandInterfaceID_v2
ДА kIOFireWireWriteCommandInterfaceID
ДА kIOFireWireReadCommandInterfaceID_v2
ДА kIOFireWireReadCommandInterfaceID
ДА -
Получает последний раз полученный код ack для этой транзакции.
Объявление
C++
UInt32 ( *GetAckCode)(
IOFireWireLibCommandRef self );
Параметры
self
Ссылка на команду
Возвращаемое значение
Код FireWire ack.
-
Установите команду refCon значение и обработчик обратного вызова, и представьте команду FireWire для выполнения.
Объявление
C++
void ( *GetBuffer)(
IOFireWireLibCommandRef self,
UInt32 *outSize,
void **outBuf);
Параметры
self
Интерфейс объекта команды интереса
Обсуждение
Доступность: (для интерфейсов, полученных с ID)
kIOFireWireAsyncStreamCommandInterfaceID
ДА kIOFireWireCompareSwapCommandInterfaceID
НЕТ kIOFireWireWriteQuadletCommandInterfaceID
НЕТ kIOFireWireReadQuadletCommandInterfaceID
НЕТ kIOFireWireWriteCommandInterfaceID_v2
ДА kIOFireWireWriteCommandInterfaceID
НЕТ kIOFireWireReadCommandInterfaceID_v2
ДА kIOFireWireReadCommandInterfaceID
НЕТ -
Получает refcon, связанный с этой командой
Объявление
C++
void * ( *GetRefCon)(
IOFireWireLibCommandRef self );
Параметры
self
Ссылка на команду
Возвращаемое значение
недействительный
-
Получает последний раз полученный код ответа для этой транзакции.
Объявление
C++
UInt32 ( *GetResponseCode)(
IOFireWireLibCommandRef self );
Параметры
self
Ссылка на команду
Возвращаемое значение
Код ответа FireWire.
-
Возвратите состояние завершения команды.
Объявление
C++
IOReturn ( *GetStatus)(
IOFireWireLibCommandRef self);
Параметры
self
Интерфейс объекта команды интереса
Возвращаемое значение
Код ошибки IOReturn, указывающий ошибку завершения (если таковые имеются), возвратился в прошлый раз, когда этот объект команды выполнялся
Обсуждение
Доступность: (для интерфейсов, полученных с ID)
kIOFireWireAsyncStreamCommandInterfaceID
ДА kIOFireWireCompareSwapCommandInterfaceID
ДА kIOFireWireWriteQuadletCommandInterfaceID
ДА kIOFireWireReadQuadletCommandInterfaceID
ДА kIOFireWireWriteCommandInterfaceID_v2
ДА kIOFireWireWriteCommandInterfaceID
ДА kIOFireWireReadCommandInterfaceID_v2
ДА kIOFireWireReadCommandInterfaceID
ДА -
Получите целевой адрес команды.
Объявление
C++
void ( *GetTargetAddress)(
IOFireWireLibCommandRef self,
FWAddress *outAddr);
Параметры
self
Интерфейс объекта команды интереса
outAddr
Указатель на FWAddress для содержания функционального результата.
Обсуждение
Доступность: (для интерфейсов, полученных с ID)
kIOFireWireAsyncStreamCommandInterfaceID
НЕТ kIOFireWireCompareSwapCommandInterfaceID
ДА kIOFireWireWriteQuadletCommandInterfaceID
ДА kIOFireWireReadQuadletCommandInterfaceID
ДА kIOFireWireWriteCommandInterfaceID_v2
ДА kIOFireWireWriteCommandInterfaceID
ДА kIOFireWireReadCommandInterfaceID_v2
ДА kIOFireWireReadCommandInterfaceID
ДА -
Возвратите число байтов, переданных этим объектом команды, когда это продлится завершенное выполнение.
Объявление
C++
UInt32 ( *GetTransferredBytes)(
IOFireWireLibCommandRef self);
Параметры
self
Интерфейс объекта команды интереса
Возвращаемое значение
UInt32, содержащий байты, передал значение
Обсуждение
Доступность: (для интерфейсов, полученных с ID)
kIOFireWireAsyncStreamCommandInterfaceID
ДА kIOFireWireCompareSwapCommandInterfaceID
ДА kIOFireWireWriteQuadletCommandInterfaceID
ДА kIOFireWireReadQuadletCommandInterfaceID
ДА kIOFireWireWriteCommandInterfaceID_v2
ДА kIOFireWireWriteCommandInterfaceID
ДА kIOFireWireReadCommandInterfaceID_v2
ДА kIOFireWireReadCommandInterfaceID
ДА -
Этот объект команды в настоящее время выполняется?
Объявление
C++
const Boolean ( *IsExecuting)(
IOFireWireLibCommandRef self);
Параметры
self
Интерфейс объекта команды интереса
Возвращаемое значение
Если объект команды выполняется, возвращает true.
Обсуждение
Доступность: (для интерфейсов, полученных с ID)
kIOFireWireAsyncStreamCommandInterfaceID
ДА kIOFireWireCompareSwapCommandInterfaceID
ДА kIOFireWireWriteQuadletCommandInterfaceID
ДА kIOFireWireReadQuadletCommandInterfaceID
ДА kIOFireWireWriteCommandInterfaceID_v2
ДА kIOFireWireWriteCommandInterfaceID
ДА kIOFireWireReadCommandInterfaceID_v2
ДА kIOFireWireReadCommandInterfaceID
ДА -
Установите буфер, где должны быть сохранены считанные данные.
Объявление
C++
void ( *SetBuffer)(
IOFireWireLibCommandRef self,
UInt32 size,
void *buf);
Параметры
self
Интерфейс объекта команды интереса
size
Размер в байтах получить буфера.
buf
Указатель на получить буфер.
Обсуждение
Доступность: (для интерфейсов, полученных с ID)
kIOFireWireAsyncStreamCommandInterfaceID
ДА kIOFireWireCompareSwapCommandInterfaceID
НЕТ kIOFireWireWriteQuadletCommandInterfaceID
НЕТ kIOFireWireReadQuadletCommandInterfaceID
НЕТ kIOFireWireWriteCommandInterfaceID_v2
ДА kIOFireWireWriteCommandInterfaceID
НЕТ kIOFireWireReadCommandInterfaceID_v2
ДА kIOFireWireReadCommandInterfaceID
НЕТ -
Установите обработчик завершения, который вызовут, как только команда завершает асинхронное выполнение.
Объявление
C++
void ( *SetCallback)(
IOFireWireLibCommandRef self,
IOFireWireLibCommandCallback inCallback);
Параметры
self
Интерфейс объекта команды интереса
inCallback
Обработчик обратного вызова. Передающий ноль вынуждает объект команды выполниться синхронно.
Обсуждение
Доступность: (для интерфейсов, полученных с ID)
kIOFireWireAsyncStreamCommandInterfaceID
ДА kIOFireWireCompareSwapCommandInterfaceID
ДА kIOFireWireWriteQuadletCommandInterfaceID
ДА kIOFireWireReadQuadletCommandInterfaceID
ДА kIOFireWireWriteCommandInterfaceID_v2
ДА kIOFireWireWriteCommandInterfaceID
ДА kIOFireWireReadCommandInterfaceID_v2
ДА kIOFireWireReadCommandInterfaceID
ДА -
Флаги набора, управляющие выполнением этой команды.
Объявление
C++
void ( *SetFlags)(
IOFireWireLibCommandRef self,
UInt32 inFlags);
Параметры
self
Интерфейс объекта команды интереса
inFlags
UInt32 с набором битов, соответствующим флагам, которые должны быть установлены для этого объекта команды. Следующие значения могут использоваться:
kFWCommandNoFlags - все флаги прочь
kFWCommandInterfaceForceNoCopy - данные, отправленные этой командой, должны всегда получаться/отправляться непосредственно из буферного набора с SetBuffer (). Независимо от того, что данные находятся в буфере, когда команда представлена, будет использоваться.
kFWCommandInterfaceForceCopyAlways - когда SetBuffer () вызовут до максимального позволенного размера (kFWUserCommandSubmitWithCopyMaxBufferBytes), данные будут всегда копироваться из буфера данных объекта команды. Это может привести к более быстрой передаче данных. Будут проигнорированы изменения, внесенные в содержание буфера данных после вызова SetBuffer (); SetBuffer () нужно вызвать каждый раз, когда изменяется содержание буфера данных.
kFWCommandInterfaceSyncExecute - Установка этого флага заставляет объект команды выполняться синхронно. Контекст вызова блокирует, пока объект команды не завершил выполнение, или ошибка происходит. Используя синхронное выполнение может избежать переходов ядра, связанных с асинхронным завершением, и часто устранять необходимость конечного автомата.
kFWCommandInterfaceForceBlockRequest - Даже если полезная нагрузка составляет 4 байта, установка этого флага заставляет чтение и транзакции записи использовать блочные пакеты запроса. Если этот флаг не будет установлен, то 4-байтовые транзакции произойдут с помощью quadlet транзакции.
Обсуждение
Доступность: (для интерфейсов, полученных с ID)
kIOFireWireAsyncStreamCommandInterfaceID
ДА kIOFireWireCompareSwapCommandInterfaceID
НЕТ kIOFireWireWriteQuadletCommandInterfaceID
НЕТ kIOFireWireReadQuadletCommandInterfaceID
НЕТ kIOFireWireWriteCommandInterfaceID_v2
ДА kIOFireWireWriteCommandInterfaceID
НЕТ kIOFireWireReadCommandInterfaceID_v2
ДА kIOFireWireReadCommandInterfaceID
НЕТ -
Установите генерацию шины FireWire, для которой объект команды должен быть допустимым. Если атрибут failOnReset был установлен, команду только рассмотрят для выполнения во время генерации шины, указанной этой функцией.
Объявление
C++
void ( *SetGeneration)(
IOFireWireLibCommandRef self,
UInt32 generation);
Параметры
self
Интерфейс объекта команды интереса
generation
Генерация шины. Текущая генерация шины может быть получена из IOFireWireDeviceInterface:: GetBusGeneration ().
Обсуждение
Доступность: (для интерфейсов, полученных с ID)
kIOFireWireAsyncStreamCommandInterfaceID
ДА kIOFireWireCompareSwapCommandInterfaceID
ДА kIOFireWireWriteQuadletCommandInterfaceID
ДА kIOFireWireReadQuadletCommandInterfaceID
ДА kIOFireWireWriteCommandInterfaceID_v2
ДА kIOFireWireWriteCommandInterfaceID
ДА kIOFireWireReadCommandInterfaceID_v2
ДА kIOFireWireReadCommandInterfaceID
ДА -
Установите максимальный размер в байтах пакетов, переданных этой командой.
Объявление
C++
IOReturn ( *SetMaxPacket)(
IOFireWireLibCommandRef self,
IOByteCount maxPacketSize);
Параметры
self
Интерфейс объекта команды интереса
maxPacketSize
Размер в байтах самого большого пакета, который должен быть передан этой командой.
Возвращаемое значение
IOReturn заканчивается код, указывающий, была ли успешно представлена команда
Обсуждение
Доступность: (для интерфейсов, полученных с ID)
kIOFireWireAsyncStreamCommandInterfaceID
ДА kIOFireWireCompareSwapCommandInterfaceID
НЕТ kIOFireWireWriteQuadletCommandInterfaceID
НЕТ kIOFireWireReadQuadletCommandInterfaceID
НЕТ kIOFireWireWriteCommandInterfaceID_v2
ДА kIOFireWireWriteCommandInterfaceID
НЕТ kIOFireWireReadCommandInterfaceID_v2
ДА kIOFireWireReadCommandInterfaceID
НЕТ -
Получает последний раз полученный код ack для этой транзакции.
Объявление
C++
void ( *SetMaxPacketSpeed)(
IOFireWireLibCommandRef self,
IOFWSpeed speed );
Параметры
self
Ссылка на команду
speed
желаемая максимальная пакетная скорость
Возвращаемое значение
недействительный
-
Определяет максимальный номер повторений для этой команды.
Объявление
C++
void ( *SetMaxRetryCount)(
IOFireWireLibCommandRef self,
UInt32 count );
Параметры
self
Ссылка на команду
count
Число удаляется
Возвращаемое значение
недействительный
-
Установите пользователя refCon значение. Это - определяемое пользователем значение, которое будет передано в refCon параметре функции завершения.
Объявление
C++
void ( *SetRefCon)(
IOFireWireLibCommandRef self,
void *refCon);
Обсуждение
Доступность: (для интерфейсов, полученных с ID)
kIOFireWireAsyncStreamCommandInterfaceID
ДА kIOFireWireCompareSwapCommandInterfaceID
ДА kIOFireWireWriteQuadletCommandInterfaceID
ДА kIOFireWireReadQuadletCommandInterfaceID
ДА kIOFireWireWriteCommandInterfaceID_v2
ДА kIOFireWireWriteCommandInterfaceID
ДА kIOFireWireReadCommandInterfaceID_v2
ДА kIOFireWireReadCommandInterfaceID
ДА -
Команда набора предназначается для адреса
Объявление
C++
void ( *SetTarget)(
IOFireWireLibCommandRef self,
const FWAddress *addr);
Параметры
self
Интерфейс объекта команды интереса
addr
Указатель на FWAddress.
Обсуждение
Доступность: (для интерфейсов, полученных с ID)
kIOFireWireAsyncStreamCommandInterfaceID
НЕТ kIOFireWireCompareSwapCommandInterfaceID
ДА kIOFireWireWriteQuadletCommandInterfaceID
ДА kIOFireWireReadQuadletCommandInterfaceID
ДА kIOFireWireWriteCommandInterfaceID_v2
ДА kIOFireWireWriteCommandInterfaceID
ДА kIOFireWireReadCommandInterfaceID_v2
ДА kIOFireWireReadCommandInterfaceID
ДА -
Устанавливает продолжительность тайм-аута для этой команды.
Объявление
C++
void ( *SetTimeoutDuration)(
IOFireWireLibCommandRef self,
UInt32 duration );
Параметры
self
Ссылка на команду
duration
Значение тайм-аута в микросекундах
Возвращаемое значение
недействительный
-
Объявление
C++
IOReturn ( *Submit)(
IOFireWireLibCommandRef self);
Обсуждение
Предстоящее описание
-
Установите команду refCon значение и обработчик обратного вызова, и представьте команду FireWire для выполнения.
Объявление
C++
IOReturn ( *SubmitWithRefconAndCallback)(
IOFireWireLibCommandRef self,
void *refCon,
IOFireWireLibCommandCallback inCallback);
Параметры
self
Интерфейс объекта команды интереса
Возвращаемое значение
IOReturn заканчивается код, указывающий, была ли успешно представлена команда
Обсуждение
Доступность: (для интерфейсов, полученных с ID)
kIOFireWireAsyncStreamCommandInterfaceID
ДА kIOFireWireCompareSwapCommandInterfaceID
ДА kIOFireWireWriteQuadletCommandInterfaceID
ДА kIOFireWireReadQuadletCommandInterfaceID
ДА kIOFireWireWriteCommandInterfaceID_v2
ДА kIOFireWireWriteCommandInterfaceID
ДА kIOFireWireReadCommandInterfaceID_v2
ДА kIOFireWireReadCommandInterfaceID
ДА