IOCTL_STORAGE_DEVICE_POWER_CAP IOCTL (ntddstor.h)
Un pilote peut utiliser IOCTL_STORAGE_DEVICE_POWER_CAP pour spécifier un niveau de consommation d’énergie opérationnelle maximal pour un périphérique de stockage. Le système d’exploitation fera de son mieux pour passer l’appareil à un état d’alimentation qui ne dépassera pas le maximum donné ; Toutefois, cela dépend de ce que l’appareil prend en charge. Le maximum réel peut être inférieur ou supérieur au maximum souhaité.
Code principal
Mémoire tampon d'entrée
Irp->AssociatedIrp.SystemBuffer contient une structure STORAGE_DEVICE_POWER_CAP qui spécifie la puissance maximale.
Longueur de la mémoire tampon d’entrée
- Parameters.DeviceIoControl.InputBufferLength indique la taille, en octets, de la mémoire tampon de paramètre d’entrée sur Irp-AssociatedIrp.SystemBuffer>, qui doit être supérieure ou égale à
sizeof(STORAGE_DEVICE_POWER_CAP)
.
Mémoire tampon de sortie
Si l’opération réussit, la mémoire tampon de sortie dans Irp-AssociatedIrp.SystemBuffer> contiendra une structure STORAGE_DEVICE_POWER_CAP.
Longueur de la mémoire tampon de sortie
Parameters.DeviceIoControl.OutputBufferLength indique la taille, en octets, de la mémoire tampon des paramètres de sortie sur Irp-AssociatedIrp.SystemBuffer>. OutputBufferLength doit être supérieur ou égal à sizeof(STORAGE_DEVICE_POWER_CAP)
.
Bloc d’état
Le champ Informations est défini sur le nombre d’octets retournés. Le champ État est défini sur STATUS_SUCCESS, ou éventuellement sur STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_PARAMETER ou STATUS_NOT_SUPPORTED.
Remarques
Pour un redémarrage, l’effet IOCTL_STORAGE_DEVICE_POWER_CAP n’est pas persistant. Pour un cycle de réinitialisation/d’alimentation d’un appareil NVMe, l’effet de l’IOCTL est persistant.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 |
Serveur minimal pris en charge | Windows Server 2016 |
En-tête | ntddstor.h (inclure Ntddstor.h) |