Функция StorPortPoFxPowerControl (storport.h)
Подпрограмма StorPortPoFxPowerControl отправляет запрос на управление питанием в платформу управления питанием (PoFx) для перенаправления в подключаемый модуль подсистемы питания (PEP).
Синтаксис
ULONG StorPortPoFxPowerControl(
[in] PVOID HwDeviceExtension,
PSTOR_ADDRESS Address,
[in] LPCGUID PowerControlCode,
[in, optional] PVOID InBuffer,
[in] SIZE_T InBufferSize,
[out, optional] PVOID OutBuffer,
[in] SIZE_T OutBufferSize,
[out, optional] PSIZE_T BytesReturned
);
Параметры
[in] HwDeviceExtension
Указатель на расширение аппаратного устройства для адаптера шины узла (HBA). Это расширение устройства, используемое для регистрации устройства в предыдущем вызове StorPortInitializePoFxPower.
Address
Указатель на код элемента управления питанием. Этот код представляет собой значение GUID, указывающее запрошенную операцию.
[in] PowerControlCode
Указатель на код элемента управления питанием. Этот код представляет собой значение GUID, указывающее запрошенную операцию.
[in, optional] InBuffer
Указатель на буфер, выделенный вызывающим объектом, который содержит входные данные для операции. Формат данных в этом буфере зависит от кода управления питанием, заданного параметром PowerControlCode . Параметр InBuffer является необязательным и может быть указан как NULL, если указанная операция не требует входных данных.
[in] InBufferSize
Размер входного буфера в байтах, на который указывает параметр InBuffer . Если inBuffer имеет значение NULL, задайте для параметра InBufferSize значение 0.
[out, optional] OutBuffer
Указатель на буфер, выделенный вызывающим объектом, который содержит выходные данные операции. Формат данных в этом буфере зависит от кода управления питанием, заданного параметром PowerControlCode . Параметр OutBuffer является необязательным и может быть указан как NULL, если указанная операция не создает выходных данных.
[in] OutBufferSize
Размер выходного буфера в байтах, на который указывает параметр OutBuffer . Если OutBuffer имеет значение NULL, задайте для Параметра OutBufferSize значение 0.
[out, optional] BytesReturned
Указатель на расположение, в которое подпрограмма записывает количество байтов данных, записанных в буфер, на который указывает OutBuffer. Число записанных байтов будет меньше или равно OutBufferSize. Этот параметр является необязательным и может быть указан как NULL , если вызывающей объекту не нужно знать, сколько байтов было записано в выходной буфер.
Возвращаемое значение
Подпрограмма StorPortPoFxPowerControl возвращает один из следующих кодов состояния:
Код возврата | Описание |
---|---|
|
Операция управления питанием, указанная в PowerControlCode , успешно выполнена. |
|
HwDeviceExtension или Device имеет значение NULL.
-или- Адрес указывает на недопустимую структуру адресов единиц. -или- Устройство хранения, указанное в поле Адрес , не найдено. |
|
Устройство хранения не зарегистрировано в PoFx. |
|
Текущий > DISPATCH_LEVEL IRQL. |
|
Операция управления питанием завершилась неудачно. |
Комментарии
Драйвер minport вызывает эту подпрограмму для отправки запроса на управление питанием непосредственно в PEP. Запрос управления питанием аналогичен запросу на управление вводом-выводом (IOCTL). Однако, в отличие от IOCTL, запрос на управление питанием отправляется непосредственно в PEP и не наблюдается другими драйверами устройств в стеке устройств. Во время вызова StorPortPoFxPowerControl PEP синхронно выполняет запрошенную операцию.
Аналогичным образом PEP может отправлять запрос на управление питанием непосредственно в минипорт. Драйвер мини-порта обрабатывает этот запрос в подпрограммах HwStorAdapterControl и HwStorUnitControl . Параметр ControlType получает тип ScsiAdapterPoFxPowerControl в подпрограмме HwStorAdapterControl и ScsiUnitPoFxPowerControl в подпрограмме HwStorUnitControl .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 8. |
Целевая платформа | Универсальное |
Верхняя часть | storport.h |
Библиотека | Storport.lib |
IRQL | <= DISPATCH_LEVEL |