Функция 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 возвращает один из следующих кодов состояния:

Код возврата Описание
STOR_STATUS_SUCCESS
Операция управления питанием, указанная в PowerControlCode , успешно выполнена.
STOR_STATUS_INVALID_PARAMETER
HwDeviceExtension или Device имеет значение NULL.

-или-

Адрес указывает на недопустимую структуру адресов единиц.

-или-

Устройство хранения, указанное в поле Адрес , не найдено.

STOR_STATUS_INVALID_DEVICE_REQUEST
Устройство хранения не зарегистрировано в PoFx.
STOR_STATUS_INVALID_IRQL
Текущий > DISPATCH_LEVEL IRQL.
STOR_STATUS_UNSUCCESSFUL
Операция управления питанием завершилась неудачно.

Комментарии

Драйвер minport вызывает эту подпрограмму для отправки запроса на управление питанием непосредственно в PEP. Запрос управления питанием аналогичен запросу на управление вводом-выводом (IOCTL). Однако, в отличие от IOCTL, запрос на управление питанием отправляется непосредственно в PEP и не наблюдается другими драйверами устройств в стеке устройств. Во время вызова StorPortPoFxPowerControl PEP синхронно выполняет запрошенную операцию.

Аналогичным образом PEP может отправлять запрос на управление питанием непосредственно в минипорт. Драйвер мини-порта обрабатывает этот запрос в подпрограммах HwStorAdapterControl и HwStorUnitControl . Параметр ControlType получает тип ScsiAdapterPoFxPowerControl в подпрограмме HwStorAdapterControl и ScsiUnitPoFxPowerControl в подпрограмме HwStorUnitControl .

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 8.
Целевая платформа Универсальное
Верхняя часть storport.h
Библиотека Storport.lib
IRQL <= DISPATCH_LEVEL

См. также раздел

HwStorAdapterControl

HwStorUnitControl