IOSCSIProtocolInterface
Этот класс определяет общедоступный Протокольный уровень SCSI API для любого класса, который предоставляет услуги Protocol или должен предоставить Услугу Протокола API для передачи запросов на обслуживание к драйверу Службы Протокола.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый
Objective C
@import Kernel;
Доступность
Доступный в OS X v10.0 и позже.
-
Устаревший. Не используйте этот метод.
Объявление
C++
virtual SCSIServiceResponse AbortCommand ( SCSITaskIdentifierrequest) = 0;Обсуждение
Устаревший. Не используйте этот метод.
-
Прерывает задачу на основе Логической единицы и тегового идентификатора задачи.
Объявление
C++
virtual SCSIServiceResponse AbortTask ( UInt8theLogicalUnit, SCSITaggedTaskIdentifiertheTag) = 0;Параметры
theLogicalUnitЭто значение должно быть нулем, если драйвером устройства не являются более сложные и управляющие многократные Логические единицы.
theTagДопустимый SCSITaggedTaskIdentifier, представляющий выдающийся SCSITask.
Возвращаемое значение
Допустимый код SCSIServiceResponse.
Обсуждение
Прерывает задачу на основе Логической единицы и тегового идентификатора задачи. Подклассы должны переопределить этот метод. Сторонние подклассы не должны должны быть переопределять этот метод.
-
Прерывает набор задачи на основе Логической единицы.
Объявление
C++
virtual SCSIServiceResponse AbortTaskSet ( UInt8theLogicalUnit) = 0;Параметры
theLogicalUnitЭто значение должно быть нулем, если драйвером устройства не являются более сложные и управляющие многократные Логические единицы.
Возвращаемое значение
Допустимый код SCSIServiceResponse.
Обсуждение
Прерывает набор задачи на основе Логической единицы. Подклассы должны переопределить этот метод. Сторонние подклассы не должны должны быть переопределять этот метод.
-
Вызванный клиентами для обеспечения устройства находится в корректном состоянии электропитания прежде, чем выпустить I/O.
Объявление
C++
virtual void CheckPowerState (void);Обсуждение
Вызванный клиентами для обеспечения устройства находится в корректном состоянии электропитания прежде, чем выпустить I/O. Если устройство не готово обработать такие запросы, оно дает драйверу шанс блокировать поток, пока устройство не готово. Подклассы не должны должны быть переопределять этот метод.
-
Очищает Auto-Contingent Allegiance (ACA) для указанной Логической единицы.
Объявление
C++
virtual SCSIServiceResponse ClearACA ( UInt8theLogicalUnit) = 0;Параметры
theLogicalUnitЭто значение должно быть нулем, если драйвером устройства не являются более сложные и управляющие многократные Логические единицы.
Возвращаемое значение
Допустимый код SCSIServiceResponse.
Обсуждение
Очищает Auto-Contingent Allegiance (ACA) для указанной Логической единицы. Подклассы должны переопределить этот метод. Сторонние подклассы не должны должны быть переопределять этот метод.
-
Очищает набор задачи для указанной Логической единицы.
Объявление
C++
virtual SCSIServiceResponse ClearTaskSet ( UInt8theLogicalUnit) = 0;Параметры
theLogicalUnitЭто значение должно быть нулем, если драйвером устройства не являются более сложные и управляющие многократные Логические единицы.
Возвращаемое значение
Допустимый код SCSIServiceResponse.
Обсуждение
Очищает набор задачи для указанной Логической единицы. Подклассы должны переопределить этот метод. Сторонние подклассы не должны должны быть переопределять этот метод.
-
Вызванный, чтобы отправить SCSITask и транспортировать его через физический провод (а) к устройству.
Объявление
C++
virtual void ExecuteCommand ( SCSITaskIdentifierrequest) = 0;Параметры
requestДопустимый SCSITaskIdentifier, представляющий задачу транспортировать через провод (а).
Обсуждение
Вызванный, чтобы отправить SCSITask и транспортировать его через физический провод (а) к устройству. Подклассы, внутренние к IOSCSIArchitectureModelFamily, должны будут переопределить этот метод. Сторонние подклассы не должны должны быть переопределять этот метод.
-
Завершает уничтожение объекта IOService.
Объявление
C++
virtual bool finalize ( IOOptionBitsoptions);Возвращаемое значение
true.Обсуждение
См., что Подклассы IOService.h могут переопределить этот метод, но должны вызвать супер:: завершите ().
-
Вызванный для высвобождения всех средств, сохраненных объектом.
Объявление
C++
virtual void free (void);Обсуждение
Высвободите все средства, сохраненные объектом, затем вызовите супер:: свободный ().
-
Метод доступа получить IOCommandGate.
Объявление
C++
IOCommandGate * GetCommandGate (void);Возвращаемое значение
IOCommandGate для этого экземпляра. Может возвратить NULL.
Обсуждение
Метод доступа получить IOCommandGate.
-
Этот метод вызывают для получения начального состояния электропитания устройства (обычно самое высокое).
Объявление
C++
virtual UInt32 GetInitialPowerState (void) = 0;Возвращаемое значение
Порядковое состояние электропитания.
Обсуждение
Этот метод вызывают для получения начального состояния электропитания устройства (обычно самое высокое). Подклассы должны переопределить этот метод.
-
Получает текущее состояние эксклюзивности пользовательского клиента.
Объявление
C++
virtual bool GetUserClientExclusivityState (void);Возвращаемое значение
trueесли пользовательский клиент находится в монопольном управлении устройства,falseиначе.Обсуждение
GetUserClientExclusivityState () метод вызывает SCSITaskUserClient, чтобы определить, содержит ли какой-либо пользовательский клиент эксклюзивный доступ в текущее время. Это - просто проверка перед полетом и возвращаемое значение
falseне гарантирует, что последующий вызов к SetUserClientExclusivityState () возвратится успешно. -
HandleCheckPowerState (недействительный) метод находится на сериализированной стороне логического элемента команды и может заменить задействованные переменные безопасно без проблем многопоточности. Это - основная цель, должен вызвать HandleCheckPowerState суперкласса (UInt32 maxPowerState) с макс. состоянием электропитания класс, зарегистрированный в.
Объявление
C++
virtual void HandleCheckPowerState (void) = 0;Обсуждение
HandleCheckPowerState (недействительный) метод находится на сериализированной стороне логического элемента команды и может заменить задействованные переменные безопасно без проблем многопоточности. Это - основная цель, должен вызвать HandleCheckPowerState суперкласса (UInt32 maxPowerState) с макс. состоянием электропитания класс, зарегистрированный в. Подклассы должны переопределить этот метод. Сторонние подклассы не должны должны быть переопределять этот метод, но может для изменения поведения по умолчанию.
-
HandleCheckPowerState (UInt32 maxPowerState) метод вызывают подклассы и передают maxPowerState число, данное диспетчеру электропитания во время инициализации. Это гарантирует блок потоков, пока не было достигнуто то состояние электропитания.
Объявление
C++
void HandleCheckPowerState ( UInt32maxPowerState);Параметры
maxPowerStateСостояние максимальной мощности в массиве состояния электропитания.
Обсуждение
HandleCheckPowerState (UInt32 maxPowerState) метод вызывают подклассы и передают maxPowerState число, данное диспетчеру электропитания во время инициализации. Это гарантирует блок потоков, пока не было достигнуто то состояние электропитания.
-
HandleCheckPowerState (UInt32 maxPowerState) метод вызывают подклассы и передают maxPowerState число, данное диспетчеру электропитания во время инициализации. Это гарантирует блок потоков, пока не было достигнуто то состояние электропитания.
Объявление
C++
void HandleCheckPowerState ( UInt32maxPowerState);Параметры
maxPowerStateСостояние максимальной мощности в массиве состояния электропитания.
Обсуждение
HandleCheckPowerState (UInt32 maxPowerState) метод вызывают подклассы и передают maxPowerState число, данное диспетчеру электропитания во время инициализации. Это гарантирует блок потоков, пока не было достигнуто то состояние электропитания.
-
HandleCheckPowerState (недействительный) метод находится на сериализированной стороне логического элемента команды и может заменить задействованные переменные безопасно без проблем многопоточности. Это - основная цель, должен вызвать HandleCheckPowerState суперкласса (UInt32 maxPowerState) с макс. состоянием электропитания класс, зарегистрированный в.
Объявление
C++
virtual void HandleCheckPowerState (void) = 0;Обсуждение
HandleCheckPowerState (недействительный) метод находится на сериализированной стороне логического элемента команды и может заменить задействованные переменные безопасно без проблем многопоточности. Это - основная цель, должен вызвать HandleCheckPowerState суперкласса (UInt32 maxPowerState) с макс. состоянием электропитания класс, зарегистрированный в. Подклассы должны переопределить этот метод. Сторонние подклассы не должны должны быть переопределять этот метод, но может для изменения поведения по умолчанию.
-
Получает текущее состояние эксклюзивности пользовательского клиента.
Объявление
C++
virtual bool HandleGetUserClientExclusivityState (void);Возвращаемое значение
trueесли пользовательский клиент находится в монопольном управлении устройства,falseиначе.Обсуждение
HandleGetUserClientExclusivityState () метод вызывают на сериализированной стороне логического элемента команды, чтобы определить, содержит ли какой-либо пользовательский клиент эксклюзивный доступ в текущее время. Посмотрите обсуждение для GetUserClientExclusivityState (). Подклассы могут переопределить этот метод для изменения поведения по умолчанию. Сторонние подклассы не должны должны быть переопределять этот метод.
-
Метод HandlePowerChange чист виртуальный и оставлен каждому драйверу протокольного или прикладного уровня реализовать. Это, как гарантируют, вызовут на его собственном потоке выполнения и может выполнить синхронные или асинхронные вызовы.
Объявление
C++
virtual void HandlePowerChange (void) = 0;Обсуждение
Метод HandlePowerChange чист виртуальный и оставлен каждому драйверу протокольного или прикладного уровня реализовать. Это, как гарантируют, вызовут на его собственном потоке выполнения и может выполнить синхронные или асинхронные вызовы. Подклассы должны переопределить этот метод. Сторонние подклассы не должны должны быть переопределять этот метод, но может для изменения поведения по умолчанию.
-
Этот метод вызывают для предписания поддержки протокола определенная функция службы.
Объявление
C++
virtual bool HandleProtocolServiceFeature ( SCSIProtocolFeaturefeature, void *serviceValue) = 0;Параметры
featureДопустимый SCSIProtocolFeature. Посмотрите перечисления для SCSIProtocolFeature.
serviceValueУказатель на структуру/значение, использующуюся в сочетании с функцией, которую требуют. Посмотрите перечисления для SCSIProtocolFeature. NB: Этим параметром может быть NULL для определенных запросов новых функций.
Возвращаемое значение
trueесли запрос новых функций службы успешно выполнился,falseиначе.Обсуждение
Этот метод вызывают для предписания поддержки протокола определенная функция службы. Подклассы IOSCSIProtocolServices должны переопределить этот метод.
-
Метод HandleSetPowerState вызывает код связующего звена и находится на сериализированной стороне логического элемента команды.
Объявление
C++
virtual void HandleSetPowerState ( UInt32powerStateOrdinal);Параметры
powerStateOrdinalСостояние электропитания, на которое должно быть изменено устройство.
Обсуждение
Метод HandleSetPowerState вызывает код связующего звена и находится на сериализированной стороне логического элемента команды. Это позволяет нам касаться любых задействованных переменных по мере необходимости без любых проблем многопоточности. Подклассы могут переопределить этот метод для изменения поведения. Сторонние подклассы не должны должны быть переопределять этот метод, но может.
-
Устанавливает текущее состояние эксклюзивности пользовательского клиента.
Объявление
C++
virtual IOReturn HandleSetUserClientExclusivityState ( IOService *userClient, boolstate);Параметры
userClientЭкземпляр SCSITaskUserClient, для которого можно изменить состояние эксклюзивности.
stateСостояние эксклюзивности.
trueсредний эксклюзивный доступ желаем,falseсредний эксклюзивный доступ выпускается.Возвращаемое значение
Допустимый успех указания кода IOReturn или тип отказа.
Обсуждение
HandleSetUserClientExclusivityState () метод вызывают на сериализированной стороне логического элемента команды для установки режима эксклюзивного доступа.
-
Этот метод вызывают для инициализации управления питанием.
Объявление
C++
virtual void InitializePowerManagement ( IOService *provider);Параметры
providerПровайдер управления питанием (т.е. провайдер для присоединения к в дереве PowerManagement). Это может быть устройством, которое не находится в самом Дереве премьер-министра, когда, плоскость IOService пересечена к корневому узлу, чтобы найти узел в Дереве премьер-министра.
Обсуждение
Этот метод вызывают для инициализации управления питанием. Это вызовет PMinit (), joinPMTree (), и makeUsable (). Этот метод не вызывает registerPowerDriver (). Подклассы могут переопределить этот метод для изменения поведения (такого как число состояний электропитания).
-
Определяет, какое состояние электропитания устройство находится в учитывая текущее состояние домена питания.
Объявление
C++
virtual unsigned long initialPowerStateForDomainState ( IOPMPowerFlagsflags);Параметры
flagsФлаги, описывающие символ «доменного питания»; они представляют
outputPowerCharacterполе состояния в массиве состояния электропитания домена питания.Возвращаемое значение
Число состояния.
Обсуждение
Когда драйвер инициализирует управление питанием, управление питанием вызывает этот метод один раз. Подклассы не должны должны быть переопределять этот метод.
-
Вызванный, чтобы определить, инициализируется ли управление питанием.
Объявление
C++
virtual bool IsPowerManagementIntialized (void);Возвращаемое значение
trueесли управление питанием было инициализировано,falseиначе.Обсуждение
Вызванный, чтобы определить, инициализируется ли управление питанием. Подклассы не должны должны быть переопределять этот метод.
-
Этот метод вызывают для запросов для поддержки протокола определенной функции службы.
Объявление
C++
virtual bool IsProtocolServiceSupported ( SCSIProtocolFeaturefeature, void *serviceValue) = 0;Параметры
featureДопустимый SCSIProtocolFeature. Посмотрите перечисления для SCSIProtocolFeature.
serviceValueУказатель на структуру/значение, использующуюся в сочетании с функцией, которую требуют. Посмотрите перечисления для SCSIProtocolFeature. NB: Этим параметром может быть NULL для определенных запросов новых функций.
Возвращаемое значение
trueесли функция поддерживается,falseиначе.Обсуждение
Этот метод вызывают для запросов для поддержки протокола определенной функции службы. Подклассы IOSCSIProtocolServices должны переопределить этот метод.
-
Сбрасывает указанную Логическую единицу.
Объявление
C++
virtual SCSIServiceResponse LogicalUnitReset ( UInt8theLogicalUnit) = 0;Параметры
theLogicalUnitЭто значение должно быть нулем, если драйвером устройства не являются более сложные и управляющие многократные Логические единицы.
Возвращаемое значение
Допустимый код SCSIServiceResponse.
Обсуждение
Сбрасывает указанную Логическую единицу. Подклассы должны переопределить этот метод. Сторонние подклассы не должны должны быть переопределять этот метод.
-
Запрашивает, чтобы питание управляло драйвером для изменения состояния электропитания его устройства.
Объявление
C++
virtual IOReturn setPowerState ( unsigned longpowerStateOrdinal, IOService *whichDevice);Параметры
powerStateOrdinalЧисло в состоянии электропитания выстраивает, на который диск проинструктирован для изменения.
whichDeviceУказатель на объект управления питанием, зарегистрировавшийся для управления питанием для этого устройства. whichDevice поле не является подходящим для нас, так как драйвер является и «влиятельным политиком» для устройства и «конструктором политики» для устройства.
Возвращаемое значение
См. IOService.h для подробных данных.
Обсуждение
Запрашивает, чтобы питание управляло драйвером для изменения состояния электропитания его устройства. Большинство подклассов IOSCSIProtocolInterface имеет специфичные для класса механизмы и не должно переопределять эту подпрограмму. См. IOSCSIProtocolServices.h, IOSCSIBlockCommandsDevice.h, IOSCSIReducedBlockCommandsDevice.h и IOSCSIMultimediaCommandsDevice.h для получения дополнительной информации об изменениях управления питанием. Подклассы не должны должны быть переопределять этот метод.
-
Устанавливает текущее состояние эксклюзивности пользовательского клиента.
Объявление
C++
virtual IOReturn SetUserClientExclusivityState ( IOService *userClient, boolstate);Параметры
userClientЭкземпляр SCSITaskUserClient, для которого можно изменить состояние эксклюзивности.
stateСостояние эксклюзивности.
trueсредний эксклюзивный доступ желаем,falseсредний эксклюзивный доступ выпускается.Возвращаемое значение
Допустимый успех указания кода IOReturn или тип отказа.
Обсуждение
SetUserClientExclusivityState () метод вызывает SCSITaskUserClient для установки режима эксклюзивного доступа.
-
sGetPowerTransistionInProgress метод является статической функцией, используемой в качестве C-> связующее звено C++ для движения позади логического элемента команды.
Объявление
C++
static bool sGetPowerTransistionInProgress ( IOSCSIProtocolInterface *self);Параметры
self'Этот' указатель для класса.
Возвращаемое значение
trueесли состояние электропитания происходит, иначеfalse.Обсуждение
sGetPowerTransistionInProgress метод является статической функцией, используемой в качестве C-> связующее звено C++ для движения позади логического элемента команды.
-
sGetUserClientExclusivityState метод является статической функцией, используемой в качестве C-> связующее звено C++ для движения позади логического элемента команды.
Объявление
C++
static void sGetUserClientExclusivityState ( IOSCSIProtocolInterface *self, bool *state);Параметры
self'Этот' указатель для класса.
stateУказатель на bool, в котором должно быть установлено состояние.
Обсуждение
sGetUserClientExclusivityState метод является статической функцией, используемой в качестве C-> связующее звено C++ для движения позади логического элемента команды.
-
sHandleCheckPowerState метод является статической функцией, используемой в качестве C-> связующее звено C++ для движения позади логического элемента команды.
Объявление
C++
static void sHandleCheckPowerState ( IOSCSIProtocolInterface *self);Параметры
self'Этот' указатель для класса.
Обсуждение
sHandleCheckPowerState метод является статической функцией, используемой в качестве C-> связующее звено C++ для движения позади логического элемента команды.
-
sHandleSetPowerState метод является статической функцией, используемой в качестве C-> связующее звено C++ для движения позади логического элемента команды.
Объявление
C++
static IOReturn sHandleSetPowerState ( IOSCSIProtocolInterface *self, UInt32powerStateOrdinal);Параметры
self'Этот' указатель для класса.
powerStateOrdinalСостояние электропитания, на которое должно быть изменено устройство.
Возвращаемое значение
Допустимый код IOReturn, указывающий успешность или неуспешность.
Обсуждение
sHandleSetPowerState метод является статической функцией, используемой в качестве C-> связующее звено C++ для движения позади логического элемента команды.
-
sPowerManagement методом является статическая C-функция, которую вызывают с помощью thread_call API Маха. Это гарантирует нам поток выполнения, отличающегося, чем поток управления питанием и поток workloop, на котором мы можем дать команды к устройству синхронно или асинхронно не волнуясь о мертвых блокировках. Это вызывает через к HandlePowerChange, который является конечным автоматом, используемым для направления управления питанием.
Объявление
C++
static void sPowerManagement ( thread_call_param_twhichDevice);Параметры
whichDevice'Этот' указатель.
Обсуждение
sPowerManagement методом является статическая C-функция, которую вызывают с помощью thread_call API Маха. Это гарантирует нам поток выполнения, отличающегося, чем поток управления питанием и поток workloop, на котором мы можем дать команды к устройству синхронно или асинхронно не волнуясь о мертвых блокировках. Это вызывает через к HandlePowerChange, который является конечным автоматом, используемым для направления управления питанием.
-
sSetUserClientExclusivityState метод является статической функцией, используемой в качестве C-> связующее звено C++ для движения позади логического элемента команды.
Объявление
C++
static void sSetUserClientExclusivityState ( IOSCSIProtocolInterface *self, IOReturn *result, IOService *userClient, boolstate);Параметры
self'Этот' указатель для класса.
resultУказатель на IOReturn для получающегося состояния.
userClientЭкземпляр SCSITaskUserClient, для которого можно изменить состояние эксклюзивности.
statebool указание требуемого состояния для установки.
Обсуждение
sSetUserClientExclusivityState метод является статической функцией, используемой в качестве C-> связующее звено C++ для движения позади логического элемента команды.
-
Во время инстанцирования объекта IOService, запускает объект IOService, выбранный для работы провайдера.
Объявление
C++
virtual bool start ( IOService *provider);Возвращаемое значение
trueесли запуск был успешен;falseиначе (который заставит экземпляр быть отсоединенным и обычно освобождаться).Обсуждение
См. IOService.h для подробных данных.
-
Сбрасывает целевое устройство.
Объявление
C++
virtual SCSIServiceResponse TargetReset (void) = 0;Возвращаемое значение
Допустимый код SCSIServiceResponse.
Обсуждение
Сбрасывает целевое устройство. Подклассы должны переопределить этот метод. Сторонние подклассы не должны должны быть переопределять этот метод.
-
TicklePowerManager (недействительный) метод вызывает CheckPowerState и отправляет, действие щекочут к диспетчеру электропитания так, чтобы был сброшен неактивный таймер.
Объявление
C++
virtual void TicklePowerManager (void) = 0;Обсуждение
TicklePowerManager (недействительный) метод вызывает CheckPowerState и отправляет, действие щекочут к диспетчеру электропитания так, чтобы был сброшен неактивный таймер. Подклассы должны переопределить этот метод. Сторонние подклассы не должны должны быть переопределять этот метод, но может для изменения поведения по умолчанию.
-
TicklePowerManager (UInt32 maxPowerState), метод является функцией удобства, которая может быть вызвана подклассами в TicklePowerManager (недействительном), чтобы сказать диспетчеру электропитания сбрасывать неактивный таймер или приносить устройство в требуемое состояние. Это возвращает то, что возвращается activityTickle (истина, если устройство находится в требуемом состоянии, ложь, если это не).
Объявление
C++
bool TicklePowerManager ( UInt32maxPowerState);Параметры
maxPowerStateСостояние максимальной мощности в массиве состояния электропитания.
Возвращаемое значение
Результат вызова к activityTickle (). См. IOService.h для подробных данных.
Обсуждение
TicklePowerManager (UInt32 maxPowerState), метод является функцией удобства, которая может быть вызвана подклассами в TicklePowerManager (недействительном), чтобы сказать диспетчеру электропитания сбрасывать неактивный таймер или приносить устройство в требуемое состояние. Это возвращает то, что возвращается activityTickle (истина, если устройство находится в требуемом состоянии, ложь, если это не).
-
TicklePowerManager (UInt32 maxPowerState), метод является функцией удобства, которая может быть вызвана подклассами в TicklePowerManager (недействительном), чтобы сказать диспетчеру электропитания сбрасывать неактивный таймер или приносить устройство в требуемое состояние. Это возвращает то, что возвращается activityTickle (истина, если устройство находится в требуемом состоянии, ложь, если это не).
Объявление
C++
bool TicklePowerManager ( UInt32maxPowerState);Параметры
maxPowerStateСостояние максимальной мощности в массиве состояния электропитания.
Возвращаемое значение
Результат вызова к activityTickle (). См. IOService.h для подробных данных.
Обсуждение
TicklePowerManager (UInt32 maxPowerState), метод является функцией удобства, которая может быть вызвана подклассами в TicklePowerManager (недействительном), чтобы сказать диспетчеру электропитания сбрасывать неактивный таймер или приносить устройство в требуемое состояние. Это возвращает то, что возвращается activityTickle (истина, если устройство находится в требуемом состоянии, ложь, если это не).
-
TicklePowerManager (недействительный) метод вызывает CheckPowerState и отправляет, действие щекочут к диспетчеру электропитания так, чтобы был сброшен неактивный таймер.
Объявление
C++
virtual void TicklePowerManager (void) = 0;Обсуждение
TicklePowerManager (недействительный) метод вызывает CheckPowerState и отправляет, действие щекочут к диспетчеру электропитания так, чтобы был сброшен неактивный таймер. Подклассы должны переопределить этот метод. Сторонние подклассы не должны должны быть переопределять этот метод, но может для изменения поведения по умолчанию.
-
Передает завершение штабель.
Объявление
C++
virtual bool willTerminate ( IOService *provider, IOOptionBitsoptions);Параметры
providerЗавершенный провайдер этого объекта.
optionsОпции первоначально передали оконечному ().
Возвращаемое значение
true.Обсуждение
Уведомление, что провайдер был завершен, отправило прежде, чем рекурсивно вызвать штабель в порядке корня к листу.
