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 (включая Ntddstor.h) |