IOCTL_STORAGE_DEVICE_POWER_CAP IOCTL (winioctl.h)

Las aplicaciones de Windows pueden utilizar este código de control para especificar un nivel de consumo de energía operativo máximo para un dispositivo de almacenamiento. El sistema operativo hará todo lo posible para pasar el dispositivo a un estado de energía que no supere el máximo dado. Sin embargo, esto depende de lo que admita el dispositivo. El máximo real puede ser menor o mayor que el deseado.

Para realizar esta operación, llame a la función DeviceIoControl con los siguientes parámetros.

BOOL DeviceIoControl(
  (HANDLE) hDevice,                 // handle to device
  IOCTL_STORAGE_DEVICE_POWER_CAP,   // dwIoControlCode
  (LPDWORD) lpInBuffer,             // input buffer
  (DWORD) nInBufferSize,            // size of input buffer
  (LPDWORD) lpOutBuffer,            // output buffer
  (DWORD) nOutBufferSize,           // size of output buffer
  (LPDWORD) lpBytesReturned,        // number of bytes returned
  (LPOVERLAPPED) lpOverlapped       // OVERLAPPED structure
);

Comentarios

Este IOCTL se envía al controlador de dispositivo con un valor de potencia máximo que se espera que el controlador respete. A continuación, este IOCTL devuelve con un valor que representa lo que realmente es capaz de lograr el controlador de dispositivo. Este valor podría ser igual a, menor o mayor que el valor deseado que se envió originalmente.

Por ejemplo, considere un controlador de dispositivo de almacenamiento que implementa tres estados de potencia operativa que tienen un nivel máximo de consumo de energía de 10 vatios, 8 vatios y 6 vatios. Si el autor de la llamada de este IOCTL especifica que el dispositivo no debe consumir más de 9 vatios, debe elegir su estado de 8 vatios porque ese es el estado más alto que tiene que todavía menos de 9 vatios. Si el autor de la llamada de este IOCTL especifica que el dispositivo no debe consumir más de 5 vatios, el controlador del dispositivo elegirá el estado de 6 vatios porque 6 vatios es el valor mínimo en el que el dispositivo puede funcionar.

Requisitos

   
Cliente mínimo compatible Windows 10
Servidor mínimo compatible Windows Server 2016
Encabezado winioctl.h (incluye Windows.h)

Consulte también