IOCTL_STORAGE_DEVICE_POWER_CAP IOCTL (ntddstor.h)

Un controlador puede usar IOCTL_STORAGE_DEVICE_POWER_CAP para especificar un nivel máximo de consumo de energía operativo para un dispositivo de almacenamiento. El sistema operativo hará lo mejor posible para realizar la transición del dispositivo a un estado de alimentación que no superará el máximo especificado; sin embargo, esto depende de lo que admita el dispositivo. El máximo real puede ser menor o mayor que el deseado.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

Irp->AssociatedIrp.SystemBuffer contiene una estructura STORAGE_DEVICE_POWER_CAP que especifica la potencia máxima.

Longitud del búfer de entrada

  • Parameters.DeviceIoControl.InputBufferLength indica el tamaño, en bytes, del búfer de parámetros de entrada en Irp-AssociatedIrp.SystemBuffer>, que debe ser mayor o igual que sizeof(STORAGE_DEVICE_POWER_CAP).

Búfer de salida

Si la operación se realiza correctamente, el búfer de salida de Irp-AssociatedIrp.SystemBuffer> contendrá una estructura STORAGE_DEVICE_POWER_CAP.

Longitud del búfer de salida

Parameters.DeviceIoControl.OutputBufferLength indica el tamaño, en bytes, del búfer de parámetros de salida en Irp-AssociatedIrp.SystemBuffer>. OutputBufferLength debe ser mayor o igual que sizeof(STORAGE_DEVICE_POWER_CAP).

Bloque de estado

El campo Información se establece en el número de bytes devueltos. El campo Estado se establece en STATUS_SUCCESS, o posiblemente en STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_PARAMETER o STATUS_NOT_SUPPORTED.

Comentarios

Para un reinicio, el efecto IOCTL_STORAGE_DEVICE_POWER_CAP no es persistente. En el caso de un ciclo de restablecimiento o energía de un dispositivo NVMe, el efecto del IOCTL es persistente.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10
Servidor mínimo compatible Windows Server 2016
Encabezado ntddstor.h (incluya Ntddstor.h)

Consulte también

IO_STATUS_BLOCK

STORAGE_DEVICE_POWER_CAP

STORAGE_DEVICE_POWER_CAP_UNITS