IOCTL_STORAGE_DEVICE_POWER_CAP IOCTL (ntddstor.h)
Драйвер может использовать IOCTL_STORAGE_DEVICE_POWER_CAP, чтобы указать максимальный уровень потребления электроэнергии для устройства хранения. ОС сделает все возможное для перехода устройства в состояние питания, которое не превысит заданное максимальное значение; однако это зависит от того, что поддерживает устройство. Фактическое максимальное значение может быть меньше или больше требуемого максимума.
Основной код
Входной буфер
Irp->AssociatedIrp.SystemBuffer содержит структуру STORAGE_DEVICE_POWER_CAP, указывающую максимальную мощность.
Длина входного буфера
-
Parameters.DeviceIoControl.InputBufferLength указывает размер буфера входных параметров в Irp->AssociatedIrp.SystemBuffer, который должен быть больше или равен
sizeof(STORAGE_DEVICE_POWER_CAP)
.
Выходной буфер
Если операция выполнена успешно, выходной буфер Irp->AssociatedIrp.SystemBuffer будет содержать структуру STORAGE_DEVICE_POWER_CAP.
Длина выходного буфера
Parameters.DeviceIoControl.OutputBufferLength указывает размер буфера выходных параметров в Irp->AssociatedIrp.SystemBuffer.
OutputBufferLength должно быть больше или равно sizeof(STORAGE_DEVICE_POWER_CAP)
.
Блок состояния
Полесведенийзадано для количества возвращаемых байтов. Поле состояния имеет значение STATUS_SUCCESS или, возможно, STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_PARAMETER или STATUS_NOT_SUPPORTED.
Замечания
Для перезагрузки IOCTL_STORAGE_DEVICE_POWER_CAP эффект не является постоянным. Для цикла сброса или питания устройства NVMe эффект IOCTL сохраняется.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 10 |
минимальный поддерживаемый сервер | Windows Server 2016 |
заголовка | ntddstor.h (include Ntddstor.h) |